event: job
data: {"id":"5-1789779313-archci-test2,curl,8.22.0-1,x86_64","repo":"archci-test2","arch":"x86_64","pkgbase":"curl","version":"8.22.0-1","commit":"93927f8d3fa6234d89cd6b40f28a7d8b8a8ae6a8","profile":"extra","created":"2026-09-19T00:55:13Z","network":"loopback","claimed":"2026-09-19T15:53:28Z","lane":"normal","sources":"curl-8.22.0-1-c72b65a413c19a68ef7a4d1fd85535f521beb2ff132f1a80194e69111d7ca368.src.tar.zst","attempt":3,"load":"1.61","mem":"25.1","disk":"20.2","cpus":"1","vendor":"DigitalOcean","archci":"0.7.9-1","cpu_us":"41690119","cpu_dt":"60382160","rss":"326","peak":"1616","build":"400672","phase":"upload","worker":"worker3-1","status":"failure","finished":"2026-09-19T16:25:05Z","final":"1","heartbeat":"2026-09-19T16:24:53Z","state":"failed","mtime":"2026-09-19T16:25:05Z","story":"failed 2026-09-19T16:25:05Z on worker3-1, attempt 3 of 3: gave up; network loopback, 326M rss, 1616M peak","origin":"core","host":"worker3","invocation":"b3100b66dcf24a75afa6bea32ada2701","sources_job":"1-1789724844-archci-test2,curl,8.22.0-1,src","packages":[],"exported":"curl-8.22.0-1-x86_64-1789833208-b3100b66dcf24a75afa6bea32ada2701.sse.gz"}

data: {"time":"2026-09-19T15:53:28.380Z","priority":"6","pid":"2824005","message":"==> archci-build 0.7.9-1 5-1789779313-archci-test2,curl,8.22.0-1,x86_64 on worker3 at 2026-09-19T15:53:28Z","event":"start"}

data: {"time":"2026-09-19T15:53:34.025Z","priority":"5","pid":"2824020","message":"Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file."}

data: {"time":"2026-09-19T15:53:40.634Z","priority":"5","pid":"2824096","message":"Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file."}

data: {"time":"2026-09-19T15:53:41.426Z","priority":"6","pid":"2823980","message":"==> Fetching source package https://pub-082311edbe1f4fcd95c9cfc965318156.r2.dev/archci-test2/os/src/curl-8.22.0-1-c72b65a413c19a68ef7a4d1fd85535f521beb2ff132f1a80194e69111d7ca368.src.tar.zst"}

data: {"time":"2026-09-19T15:53:49.745Z","priority":"6","pid":"2824005","message":"==> PKGBUILD as built (6374 bytes)","event":"pkgbuild","pkgbuild":"# Maintainer: Dave Reisner <dreisner@archlinux.org>\n# Contributor: Angel Velasquez <angvp@archlinux.org>\n# Contributor: Eric Belanger <eric@archlinux.org>\n# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>\n# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>\n\npkgbase=curl\npkgname=(curl libcurl-compat libcurl-gnutls)\npkgver=8.22.0\npkgrel=1\npkgdesc='command line tool and library for transferring data with URLs'\narch=('x86_64')\nurl='https://curl.se/'\nlicense=('curl')\nmakedepends=(\n  # for building\n  'git'\n  'patchelf'\n  # actual package dependencies\n  'ca-certificates'\n  'brotli'\n  'gnutls'\n  'krb5'\n  'libidn2'\n  'libnghttp2'\n  'libnghttp3'\n  'libngtcp2'\n  'libpsl'\n  'libssh2'\n  'nettle'\n  'zlib'\n  'zstd')\ncheckdepends=('valgrind')\nvalidpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg\nsource=(\"git+https://github.com/curl/curl.git?signed#tag=curl-${pkgver//./_}\")\nsha512sums=('398cd510438960167f65fc7733b8a371808f17ba89809ed8dcce67cc5bcaa91a736d316a28ab95bef72ec5ec3e32705498a066bb6ac5e1d74d37ffeb68f4fe81')\n\n_backports=(\n)\n\n_reverts=(\n)\n\nprepare() {\n  cd \"$pkgbase\"\n\n  local _c\n  for _c in \"${_backports[@]}\"; do\n    if [[ $_c == *..* ]]; then\n      git log --oneline --reverse \"${_c}\"\n    else\n      git log --oneline -1 \"${_c}\"\n    fi\n    git cherry-pick -n -m1 \"${_c}\"\n  done\n  for _c in \"${_reverts[@]}\"; do\n    git log --oneline -1 \"${_c}\"\n    git revert -n \"${_c}\"\n  done\n\n  # no '-DEV' in version, release date from tagged commit...\n  sed -i \\\n    -e \"/\\WLIBCURL_VERSION\\W/c #define LIBCURL_VERSION \\\"${pkgver}\\\"\" \\\n    -e \"/\\WLIBCURL_TIMESTAMP\\W/c #define LIBCURL_TIMESTAMP \\\"$(git log -1 --format=%cs \"curl-${pkgver//./_}\")\\\"\" \\\n    include/curl/curlver.h\n\n  autoreconf -fi\n}\n\nbuild() {\n  local _configure_options=(\n    --prefix='/usr'\n    --mandir='/usr/share/man'\n    --disable-ldap\n    --disable-ldaps\n    --disable-manual\n    --enable-ipv6\n    --enable-threaded-resolver\n    --enable-websockets\n    --with-gssapi\n    --with-libssh2\n    --with-nghttp3\n    --with-ngtcp2\n    --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'\n  )\n\n  mkdir build-curl{,-compat,-gnutls}\n\n  # build curl\n  cd \"${srcdir}\"/build-curl\n\n  \"${srcdir}/${pkgbase}\"/configure \\\n    \"${_configure_options[@]}\" \\\n    --enable-versioned-symbols \\\n    --without-gnutls \\\n    --with-openssl \\\n    --with-fish-functions-dir=/usr/share/fish/vendor_completions.d/ \\\n    --with-zsh-functions-dir=/usr/share/zsh/site-functions/\n  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\\0/g' libtool\n  make\n\n  # build libcurl-compat\n  cd \"${srcdir}\"/build-curl-compat\n\n  \"${srcdir}/${pkgbase}\"/configure \\\n    \"${_configure_options[@]}\" \\\n    --disable-versioned-symbols \\\n    --without-gnutls \\\n    --with-openssl\n  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\\0/g' libtool\n  make -C lib\n  patchelf --set-soname 'libcurl-compat.so.4' ./lib/.libs/libcurl.so\n\n  # build libcurl-gnutls\n  cd \"${srcdir}\"/build-curl-gnutls\n\n  \"${srcdir}/${pkgbase}\"/configure \\\n    \"${_configure_options[@]}\" \\\n    --disable-versioned-symbols \\\n    --with-gnutls \\\n    --without-openssl\n  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\\0/g' libtool\n  make -C lib\n  patchelf --set-soname 'libcurl-gnutls.so.4' ./lib/.libs/libcurl.so\n}\n\ncheck() {\n  cd build-curl\n  # -v: verbose\n  # -a: keep going on failure (so we see everything which breaks, not just the first failing test)\n  # -am: automake style TAP output\n  # -p: print logs if test fails\n  # -j: parallelization\n  # disable test 433, since it requires the glibc debug info\n  make TFLAGS=\"-v -a -p -j$(nproc) !433 !1399\" test-nonflaky\n}\n\npackage_curl() {\n  depends=(\n    'ca-certificates'\n    'brotli' 'libbrotlidec.so'\n    'krb5' 'libgssapi_krb5.so'\n    'libidn2' 'libidn2.so'\n    'libnghttp2' 'libnghttp2.so'\n    'libnghttp3' 'libnghttp3.so'\n    'libngtcp2' 'libngtcp2.so'\n    'libpsl' 'libpsl.so'\n    'libssh2' 'libssh2.so'\n    'openssl' 'libcrypto.so' 'libssl.so'\n    'zlib' 'libz.so'\n    'zstd' 'libzstd.so')\n  provides=('libcurl.so')\n  replaces=('wcurl')\n  conflicts=('wcurl')\n\n  cd build-curl\n\n  make DESTDIR=\"${pkgdir}\" install\n  make DESTDIR=\"${pkgdir}\" install -C scripts\n\n  cd \"${srcdir}/${pkgname}\"\n\n  # license\n  install -Dt \"${pkgdir}/usr/share/licenses/${pkgname}\" -m0644 COPYING\n}\n\npackage_libcurl-compat() {\n  pkgdesc='command line tool and library for transferring data with URLs (no versioned symbols)'\n  depends=(\n    'ca-certificates'\n    'brotli' 'libbrotlidec.so'\n    'krb5' 'libgssapi_krb5.so'\n    'libidn2' 'libidn2.so'\n    'libnghttp2' 'libnghttp2.so'\n    'libnghttp3' 'libnghttp3.so'\n    'libngtcp2' 'libngtcp2.so'\n    'libpsl' 'libpsl.so'\n    'libssh2' 'libssh2.so'\n    'openssl' 'libcrypto.so' 'libssl.so'\n    'zlib' 'libz.so'\n    'zstd' 'libzstd.so')\n  provides=('libcurl-compat.so')\n\n  cd \"${srcdir}\"/build-curl-compat\n\n  make -C lib DESTDIR=\"${pkgdir}\" install\n\n  mv \"${pkgdir}\"/usr/lib/libcurl{,-compat}.so.4.8.0\n  rm \"${pkgdir}\"/usr/lib/libcurl.{a,so}*\n  for version in 3 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0; do\n    ln -s libcurl-compat.so.4.8.0 \"${pkgdir}\"/usr/lib/libcurl.so.${version}\n    ln -s libcurl-compat.so.4.8.0 \"${pkgdir}\"/usr/lib/libcurl-compat.so.${version}\n  done\n\n  install -dm 0755 \"${pkgdir}\"/usr/share/licenses\n  ln -s curl \"${pkgdir}\"/usr/share/licenses/libcurl-compat\n}\n\npackage_libcurl-gnutls() {\n  pkgdesc='command line tool and library for transferring data with URLs (no versioned symbols, linked against gnutls)'\n  depends=(\n    'ca-certificates'\n    'brotli' 'libbrotlidec.so'\n    'gnutls' # 'libgnutls.so'\n    'krb5' 'libgssapi_krb5.so'\n    'libidn2' 'libidn2.so'\n    'libnghttp2' 'libnghttp2.so'\n    'libnghttp3' 'libnghttp3.so'\n    'libngtcp2' 'libngtcp2.so' 'libngtcp2_crypto_gnutls.so'\n    'libpsl' 'libpsl.so'\n    'libssh2' 'libssh2.so'\n    'nettle' 'libnettle.so'\n    'zlib' 'libz.so'\n    'zstd' 'libzstd.so')\n  provides=('libcurl-gnutls.so')\n\n  cd \"${srcdir}\"/build-curl-gnutls\n\n  make -C lib DESTDIR=\"${pkgdir}\" install\n\n  mv \"${pkgdir}\"/usr/lib/libcurl{,-gnutls}.so.4.8.0\n  rm \"${pkgdir}\"/usr/lib/libcurl.{a,so}*\n  ln -s libcurl-gnutls.so.4 \"${pkgdir}\"/usr/lib/libcurl-gnutls.so\n  for version in 3 4 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0; do\n    ln -s libcurl-gnutls.so.4.8.0 \"${pkgdir}\"/usr/lib/libcurl-gnutls.so.${version}\n  done\n\n  install -dm 0755 \"${pkgdir}\"/usr/share/licenses\n  ln -s curl \"${pkgdir}\"/usr/share/licenses/libcurl-gnutls\n}"}

data: {"time":"2026-09-19T15:53:49.858Z","priority":"6","pid":"2823980","message":"==> Package directory (from curl-8.22.0-1-c72b65a413c19a68ef7a4d1fd85535f521beb2ff132f1a80194e69111d7ca368.src.tar.zst):"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    ├── .SRCINFO"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    ├── PKGBUILD"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    ├── curl"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    │   ├── FETCH_HEAD"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    │   ├── HEAD"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    │   ├── config"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    │   ├── description"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    │   ├── hooks"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    │   ├── info"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    │   ├── objects"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    │   ├── packed-refs"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    │   └── refs"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"    └── keys"}

data: {"time":"2026-09-19T15:53:49.866Z","priority":"6","pid":"2824226","message":"        └── pgp"}

data: {"time":"2026-09-19T15:53:49.879Z","priority":"6","pid":"2823980","message":"==> Building curl 8.22.0-1 in archci-1"}

data: {"time":"2026-09-19T15:53:49.913Z","priority":"6","pid":"2824233","message":"pam_unix(runuser:session): session opened for user archci(uid=969) by archci(uid=0)"}

data: {"time":"2026-09-19T15:53:50.111Z","priority":"6","pid":"2824233","message":"pam_unix(runuser:session): session closed for user archci"}

data: {"time":"2026-09-19T15:53:50.133Z","priority":"6","pid":"2823980","message":"==> Imported 1 upstream signing key(s) from keys/pgp"}

data: {"time":"2026-09-19T15:53:50.151Z","priority":"6","pid":"2824241","message":"pam_unix(runuser:session): session opened for user archci(uid=969) by archci(uid=0)"}

data: {"time":"2026-09-19T15:53:57.196Z","priority":"6","pid":"2827343","message":"pam_unix(runuser:session): session opened for user archci(uid=969) by archci(uid=0)"}

data: {"time":"2026-09-19T15:53:57.815Z","priority":"6","pid":"2827343","message":"pam_unix(runuser:session): session closed for user archci"}

data: {"time":"2026-09-19T15:53:57.820Z","priority":"6","pid":"2823980","message":"==> Refreshed 1 signing key(s) from hkps://keys.openpgp.org"}

data: {"time":"2026-09-19T15:53:57.844Z","priority":"6","pid":"2827350","message":"pam_unix(runuser:session): session opened for user archci(uid=969) by archci(uid=0)"}

data: {"time":"2026-09-19T15:53:58.288Z","priority":"6","pid":"2827350","message":"pam_unix(runuser:session): session closed for user archci"}

data: {"time":"2026-09-19T15:53:58.293Z","priority":"6","pid":"2823980","message":"==> Refreshed 1 signing key(s) from hkps://keyserver.ubuntu.com"}

data: {"time":"2026-09-19T15:53:58.978Z","priority":"6","pid":"2823980","message":"==> Verifying the sources on the host"}

data: {"time":"2026-09-19T15:53:58.993Z","priority":"6","pid":"2827384","message":"pam_unix(runuser:session): session opened for user archci(uid=969) by archci(uid=0)"}

data: {"time":"2026-09-19T15:54:06.598Z","priority":"6","pid":"2823980","message":"==> Building with loopback: the package talks to itself (package.json)","phase":"loopback"}

data: {"time":"2026-09-19T15:54:06.646Z","priority":"6","pid":"2823980","message":"lane         normal (CPU and IO weight 100 among the builds)"}

data: {"time":"2026-09-19T15:54:06.660Z","priority":"6","pid":"2824005","message":"==> Installing the pacman dependencies in the archci-online slice (with network)","phase":"online","event":"slice","slice":"online"}

data: {"time":"2026-09-19T15:54:12.350Z","priority":"6","pid":"2830187","message":"Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file."}

data: {"time":"2026-09-19T15:54:19.742Z","priority":"6","pid":"2830187","message":"==> Making package: curl 8.22.0-1 (Sat Sep 19 15:54:19 2026)"}

data: {"time":"2026-09-19T15:54:19.762Z","priority":"6","pid":"2830187","message":"==> Checking runtime dependencies..."}

data: {"time":"2026-09-19T15:54:19.768Z","priority":"6","pid":"2830187","message":"==> Checking buildtime dependencies..."}

data: {"time":"2026-09-19T15:54:19.815Z","priority":"6","pid":"2830187","message":"==> Installing missing dependencies..."}

data: {"time":"2026-09-19T15:54:20.345Z","priority":"6","pid":"2830187","message":"resolving dependencies..."}

data: {"time":"2026-09-19T15:54:20.350Z","priority":"6","pid":"2830187","message":"looking for conflicting packages..."}

data: {"time":"2026-09-19T15:54:20.425Z","priority":"6","pid":"2830187","message":"Package (9)              New Version  Net Change"}

data: {"time":"2026-09-19T15:54:20.425Z","priority":"6","pid":"2830187","message":"archci-test2/debuginfod  0.196-1        0.44 MiB"}

data: {"time":"2026-09-19T15:54:20.425Z","priority":"6","pid":"2830187","message":"core/libmicrohttpd       1.0.10-1       0.62 MiB"}

data: {"time":"2026-09-19T15:54:20.426Z","priority":"6","pid":"2830187","message":"extra/perl-error         0.17030-3      0.04 MiB"}

data: {"time":"2026-09-19T15:54:20.426Z","priority":"6","pid":"2830187","message":"extra/perl-mailtools     2.22-3         0.10 MiB"}

data: {"time":"2026-09-19T15:54:20.426Z","priority":"6","pid":"2830187","message":"extra/perl-timedate      2.35-1         0.15 MiB"}

data: {"time":"2026-09-19T15:54:20.427Z","priority":"6","pid":"2830187","message":"extra/zlib-ng            2.3.3-1        0.28 MiB"}

data: {"time":"2026-09-19T15:54:20.427Z","priority":"6","pid":"2830187","message":"extra/git                2.55.0-1      31.33 MiB"}

data: {"time":"2026-09-19T15:54:20.428Z","priority":"6","pid":"2830187","message":"extra/patchelf           0.19.1-1       0.30 MiB"}

data: {"time":"2026-09-19T15:54:20.428Z","priority":"6","pid":"2830187","message":"extra/valgrind           3.25.1-9      74.98 MiB"}

data: {"time":"2026-09-19T15:54:20.428Z","priority":"6","pid":"2830187","message":"Total Installed Size:  108.24 MiB"}

data: {"time":"2026-09-19T15:54:20.429Z","priority":"6","pid":"2830187","message":":: Proceed with installation? [Y/n]"}

data: {"time":"2026-09-19T15:54:20.430Z","priority":"6","pid":"2830187","message":"checking keyring..."}

data: {"time":"2026-09-19T15:54:20.672Z","priority":"6","pid":"2830187","message":"checking package integrity..."}

data: {"time":"2026-09-19T15:54:21.213Z","priority":"6","pid":"2830187","message":"loading package files..."}

data: {"time":"2026-09-19T15:54:21.244Z","priority":"6","pid":"2830187","message":"checking for file conflicts..."}

data: {"time":"2026-09-19T15:54:21.258Z","priority":"6","pid":"2830187","message":":: Processing package changes..."}

data: {"time":"2026-09-19T15:54:21.259Z","priority":"6","pid":"2830187","message":"installing perl-error..."}

data: {"time":"2026-09-19T15:54:21.261Z","priority":"6","pid":"2830187","message":"installing perl-timedate..."}

data: {"time":"2026-09-19T15:54:21.286Z","priority":"6","pid":"2830187","message":"installing perl-mailtools..."}

data: {"time":"2026-09-19T15:54:21.295Z","priority":"6","pid":"2830187","message":"installing zlib-ng..."}

data: {"time":"2026-09-19T15:54:21.301Z","priority":"6","pid":"2830187","message":"installing git..."}

data: {"time":"2026-09-19T15:54:22.178Z","priority":"6","pid":"2830187","message":"Optional dependencies for git"}

data: {"time":"2026-09-19T15:54:22.180Z","priority":"6","pid":"2830187","message":"    git-zsh-completion: upstream zsh completion"}

data: {"time":"2026-09-19T15:54:22.181Z","priority":"6","pid":"2830187","message":"    tk: gitk and git gui"}

data: {"time":"2026-09-19T15:54:22.182Z","priority":"6","pid":"2830187","message":"    openssh: ssh transport and crypto"}

data: {"time":"2026-09-19T15:54:22.182Z","priority":"6","pid":"2830187","message":"    man: show help with `git command --help`"}

data: {"time":"2026-09-19T15:54:22.183Z","priority":"6","pid":"2830187","message":"    perl-libwww: git svn"}

data: {"time":"2026-09-19T15:54:22.183Z","priority":"6","pid":"2830187","message":"    perl-term-readkey: git svn and interactive.singlekey setting"}

data: {"time":"2026-09-19T15:54:22.184Z","priority":"6","pid":"2830187","message":"    perl-io-socket-ssl: git send-email TLS support"}

data: {"time":"2026-09-19T15:54:22.184Z","priority":"6","pid":"2830187","message":"    perl-authen-sasl: git send-email TLS support"}

data: {"time":"2026-09-19T15:54:22.185Z","priority":"6","pid":"2830187","message":"    perl-cgi: gitweb (web interface) support"}

data: {"time":"2026-09-19T15:54:22.185Z","priority":"6","pid":"2830187","message":"    python: git svn & git p4 [installed]"}

data: {"time":"2026-09-19T15:54:22.186Z","priority":"6","pid":"2830187","message":"    subversion: git svn"}

data: {"time":"2026-09-19T15:54:22.186Z","priority":"6","pid":"2830187","message":"    org.freedesktop.secrets: keyring credential helper"}

data: {"time":"2026-09-19T15:54:22.186Z","priority":"6","pid":"2830187","message":"    libsecret: libsecret credential helper [installed]"}

data: {"time":"2026-09-19T15:54:22.187Z","priority":"6","pid":"2830187","message":"    less: the default pager for git"}

data: {"time":"2026-09-19T15:54:22.187Z","priority":"6","pid":"2830187","message":"installing patchelf..."}

data: {"time":"2026-09-19T15:54:22.194Z","priority":"6","pid":"2830187","message":"installing libmicrohttpd..."}

data: {"time":"2026-09-19T15:54:22.202Z","priority":"6","pid":"2830187","message":"installing debuginfod..."}

data: {"time":"2026-09-19T15:54:22.210Z","priority":"6","pid":"2830187","message":"Optional dependencies for debuginfod"}

data: {"time":"2026-09-19T15:54:22.211Z","priority":"6","pid":"2830187","message":"    elfutils=0.196: for translations [installed]"}

data: {"time":"2026-09-19T15:54:22.211Z","priority":"6","pid":"2830187","message":"installing valgrind..."}

data: {"time":"2026-09-19T15:54:22.524Z","priority":"6","pid":"2830187","message":"Optional dependencies for valgrind"}

data: {"time":"2026-09-19T15:54:22.524Z","priority":"6","pid":"2830187","message":"    lib32-glibc: 32-bit ABI support"}

data: {"time":"2026-09-19T15:54:22.524Z","priority":"6","pid":"2830187","message":"    python: cg_* scripts [installed]"}

data: {"time":"2026-09-19T15:54:23.593Z","priority":"6","pid":"2830187","message":":: Running post-transaction hooks..."}

data: {"time":"2026-09-19T15:54:23.594Z","priority":"6","pid":"2830187","message":"(1/4) Creating system user accounts..."}

data: {"time":"2026-09-19T15:54:23.759Z","priority":"6","pid":"2830187","message":"Creating group 'git' with GID 968."}

data: {"time":"2026-09-19T15:54:23.760Z","priority":"6","pid":"2830187","message":"Creating user 'git' (git daemon user) with UID 968 and GID 968."}

data: {"time":"2026-09-19T15:54:23.828Z","priority":"6","pid":"2830187","message":"(2/4) Reloading system manager configuration..."}

data: {"time":"2026-09-19T15:54:23.994Z","priority":"6","pid":"2830187","message":"  Skipped: Current root is not booted."}

data: {"time":"2026-09-19T15:54:23.996Z","priority":"6","pid":"2830187","message":"(3/4) Arming ConditionNeedsUpdate..."}

data: {"time":"2026-09-19T15:54:24.141Z","priority":"6","pid":"2830187","message":"(4/4) Updating the info directory file..."}

data: {"time":"2026-09-19T15:54:24.816Z","priority":"6","pid":"2830187","message":"==> WARNING: Using existing $srcdir/ tree"}

data: {"time":"2026-09-19T15:54:24.821Z","priority":"6","pid":"2830187","message":"==> Sources are ready."}

data: {"time":"2026-09-19T15:54:24.837Z","priority":"6","pid":"2824005","message":"==> Building in the archci-loopback slice (loopback only)","phase":"loopback","event":"slice","slice":"loopback"}

data: {"time":"2026-09-19T15:54:30.744Z","priority":"6","pid":"2830187","message":"Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file."}

data: {"time":"2026-09-19T15:54:37.635Z","priority":"6","pid":"2830187","message":"==> Making package: curl 8.22.0-1 (Sat Sep 19 15:54:37 2026)"}

data: {"time":"2026-09-19T15:54:37.645Z","priority":"6","pid":"2830187","message":"==> Checking runtime dependencies..."}

data: {"time":"2026-09-19T15:54:37.651Z","priority":"6","pid":"2830187","message":"==> Checking buildtime dependencies..."}

data: {"time":"2026-09-19T15:54:37.686Z","priority":"6","pid":"2830187","message":"==> Retrieving sources..."}

data: {"time":"2026-09-19T15:54:37.721Z","priority":"6","pid":"2830187","message":"==> WARNING: Skipping all source file integrity checks."}

data: {"time":"2026-09-19T15:54:37.726Z","priority":"6","pid":"2830187","message":"==> Extracting sources..."}

data: {"time":"2026-09-19T15:54:37.750Z","priority":"6","pid":"2830187","message":"  -> Creating working copy of curl git repo..."}

data: {"time":"2026-09-19T15:54:37.754Z","priority":"6","pid":"2830187","message":"Cloning into 'curl'..."}

data: {"time":"2026-09-19T15:54:37.769Z","priority":"6","pid":"2830187","message":"done."}

data: {"time":"2026-09-19T15:54:39.404Z","priority":"6","pid":"2830187","message":"Switched to a new branch 'makepkg'"}

data: {"time":"2026-09-19T15:54:39.419Z","priority":"6","pid":"2830187","message":"==> Starting prepare()...","phase":"prepare"}

data: {"time":"2026-09-19T15:54:47.812Z","priority":"6","pid":"2830187","message":"libtoolize: putting auxiliary files in '.'."}

data: {"time":"2026-09-19T15:54:47.814Z","priority":"6","pid":"2830187","message":"libtoolize: copying file './ltmain.sh'"}

data: {"time":"2026-09-19T15:54:47.902Z","priority":"6","pid":"2830187","message":"libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'."}

data: {"time":"2026-09-19T15:54:47.903Z","priority":"6","pid":"2830187","message":"libtoolize: copying file 'm4/libtool.m4'"}

data: {"time":"2026-09-19T15:54:47.976Z","priority":"6","pid":"2830187","message":"libtoolize: copying file 'm4/ltoptions.m4'"}

data: {"time":"2026-09-19T15:54:48.046Z","priority":"6","pid":"2830187","message":"libtoolize: copying file 'm4/ltsugar.m4'"}

data: {"time":"2026-09-19T15:54:48.124Z","priority":"6","pid":"2830187","message":"libtoolize: copying file 'm4/ltversion.m4'"}

data: {"time":"2026-09-19T15:54:48.203Z","priority":"6","pid":"2830187","message":"libtoolize: copying file 'm4/lt~obsolete.m4'"}

data: {"time":"2026-09-19T15:54:48.298Z","priority":"6","pid":"2830187","message":"libtoolize: Remember to add 'LT_INIT' to configure.ac."}

data: {"time":"2026-09-19T15:54:57.612Z","priority":"6","pid":"2830187","message":"configure.ac:154: installing './compile'"}

data: {"time":"2026-09-19T15:54:57.618Z","priority":"6","pid":"2830187","message":"configure.ac:544: installing './config.guess'"}

data: {"time":"2026-09-19T15:54:57.623Z","priority":"6","pid":"2830187","message":"configure.ac:544: installing './config.sub'"}

data: {"time":"2026-09-19T15:54:57.628Z","priority":"6","pid":"2830187","message":"configure.ac:154: installing './install-sh'"}

data: {"time":"2026-09-19T15:54:57.633Z","priority":"6","pid":"2830187","message":"configure.ac:157: installing './missing'"}

data: {"time":"2026-09-19T15:54:57.988Z","priority":"6","pid":"2830187","message":"docs/examples/Makefile.am: installing './depcomp'"}

data: {"time":"2026-09-19T15:55:01.263Z","priority":"6","pid":"2830187","message":"==> Starting build()...","phase":"build"}

data: {"time":"2026-09-19T15:55:01.773Z","priority":"6","pid":"2830187","message":"checking whether to enable maintainer-specific portions of Makefiles... no"}

data: {"time":"2026-09-19T15:55:01.786Z","priority":"6","pid":"2830187","message":"checking whether make supports nested variables... yes"}

data: {"time":"2026-09-19T15:55:01.788Z","priority":"6","pid":"2830187","message":"checking whether to enable curl debug features (for developing curl)... no"}

data: {"time":"2026-09-19T15:55:01.789Z","priority":"6","pid":"2830187","message":"checking whether to enable compiler optimizer... (assumed) yes"}

data: {"time":"2026-09-19T15:55:01.790Z","priority":"6","pid":"2830187","message":"checking whether to enable strict compiler warnings... no"}

data: {"time":"2026-09-19T15:55:01.790Z","priority":"6","pid":"2830187","message":"checking whether to enable compiler warnings as errors... no"}

data: {"time":"2026-09-19T15:55:01.791Z","priority":"6","pid":"2830187","message":"checking whether to enable hiding of library internal symbols... yes"}

data: {"time":"2026-09-19T15:55:01.792Z","priority":"6","pid":"2830187","message":"checking whether to enable c-ares for DNS lookups... no"}

data: {"time":"2026-09-19T15:55:01.793Z","priority":"6","pid":"2830187","message":"checking whether to disable dependency on -lrt... (assumed no)"}

data: {"time":"2026-09-19T15:55:01.793Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTPSRR support... no"}

data: {"time":"2026-09-19T15:55:01.794Z","priority":"6","pid":"2830187","message":"checking whether to enable ECH support... no"}

data: {"time":"2026-09-19T15:55:01.795Z","priority":"6","pid":"2830187","message":"checking whether to enable SSL session export support... no"}

data: {"time":"2026-09-19T15:55:01.796Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTP/3 proxy support... no"}

data: {"time":"2026-09-19T15:55:01.796Z","priority":"6","pid":"2830187","message":"checking for path separator... :"}

data: {"time":"2026-09-19T15:55:01.797Z","priority":"6","pid":"2830187","message":"checking for sed... /usr/bin/sed"}

data: {"time":"2026-09-19T15:55:01.798Z","priority":"6","pid":"2830187","message":"checking for grep... /usr/bin/grep"}

data: {"time":"2026-09-19T15:55:01.803Z","priority":"6","pid":"2830187","message":"checking that grep -E works... yes"}

data: {"time":"2026-09-19T15:55:01.805Z","priority":"6","pid":"2830187","message":"checking for ar... /usr/bin/ar"}

data: {"time":"2026-09-19T15:55:01.833Z","priority":"6","pid":"2830187","message":"checking for a BSD-compatible install... /usr/bin/install -c"}

data: {"time":"2026-09-19T15:55:01.837Z","priority":"6","pid":"2830187","message":"checking for gcc... gcc"}

data: {"time":"2026-09-19T15:55:02.518Z","priority":"6","pid":"2830187","message":"checking whether the C compiler works... yes"}

data: {"time":"2026-09-19T15:55:02.520Z","priority":"6","pid":"2830187","message":"checking for C compiler default output file name... a.out"}

data: {"time":"2026-09-19T15:55:02.740Z","priority":"6","pid":"2830187","message":"checking for suffix of executables..."}

data: {"time":"2026-09-19T15:55:03.029Z","priority":"6","pid":"2830187","message":"checking whether we are cross compiling... no"}

data: {"time":"2026-09-19T15:55:03.073Z","priority":"6","pid":"2830187","message":"checking for suffix of object files... o"}

data: {"time":"2026-09-19T15:55:03.117Z","priority":"6","pid":"2830187","message":"checking whether the compiler supports GNU C... yes"}

data: {"time":"2026-09-19T15:55:03.189Z","priority":"6","pid":"2830187","message":"checking whether gcc accepts -g... yes"}

data: {"time":"2026-09-19T15:55:03.238Z","priority":"6","pid":"2830187","message":"checking for gcc option to enable C23 features... none needed"}

data: {"time":"2026-09-19T15:55:03.321Z","priority":"6","pid":"2830187","message":"checking whether gcc understands -c and -o together... yes"}

data: {"time":"2026-09-19T15:55:03.411Z","priority":"6","pid":"2830187","message":"checking how to run the C preprocessor... gcc -E"}

data: {"time":"2026-09-19T15:55:03.525Z","priority":"6","pid":"2830187","message":"checking for stdio.h... yes"}

data: {"time":"2026-09-19T15:55:03.606Z","priority":"6","pid":"2830187","message":"checking for stdlib.h... yes"}

data: {"time":"2026-09-19T15:55:03.684Z","priority":"6","pid":"2830187","message":"checking for string.h... yes"}

data: {"time":"2026-09-19T15:55:03.759Z","priority":"6","pid":"2830187","message":"checking for inttypes.h... yes"}

data: {"time":"2026-09-19T15:55:03.838Z","priority":"6","pid":"2830187","message":"checking for stdint.h... yes"}

data: {"time":"2026-09-19T15:55:03.920Z","priority":"6","pid":"2830187","message":"checking for strings.h... yes"}

data: {"time":"2026-09-19T15:55:04.019Z","priority":"6","pid":"2830187","message":"checking for sys/stat.h... yes"}

data: {"time":"2026-09-19T15:55:04.097Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... yes"}

data: {"time":"2026-09-19T15:55:04.193Z","priority":"6","pid":"2830187","message":"checking for unistd.h... yes"}

data: {"time":"2026-09-19T15:55:04.283Z","priority":"6","pid":"2830187","message":"checking for stdatomic.h... yes"}

data: {"time":"2026-09-19T15:55:04.459Z","priority":"6","pid":"2830187","message":"checking if _Atomic is available... yes"}

data: {"time":"2026-09-19T15:55:04.474Z","priority":"6","pid":"2830187","message":"checking whether sleep supports fractional seconds... yes"}

data: {"time":"2026-09-19T15:55:04.687Z","priority":"6","pid":"2830187","message":"checking filesystem timestamp resolution... 0.01"}

data: {"time":"2026-09-19T15:55:04.698Z","priority":"6","pid":"2830187","message":"checking whether build environment is sane... yes"}

data: {"time":"2026-09-19T15:55:04.717Z","priority":"6","pid":"2830187","message":"checking for a race-free mkdir -p... /usr/bin/mkdir -p"}

data: {"time":"2026-09-19T15:55:04.720Z","priority":"6","pid":"2830187","message":"checking for gawk... gawk"}

data: {"time":"2026-09-19T15:55:04.769Z","priority":"6","pid":"2830187","message":"checking whether make sets $(MAKE)... yes"}

data: {"time":"2026-09-19T15:55:04.801Z","priority":"6","pid":"2830187","message":"checking whether make supports the include directive... yes (GNU style)"}

data: {"time":"2026-09-19T15:55:04.821Z","priority":"6","pid":"2830187","message":"checking xargs -n works... yes"}

data: {"time":"2026-09-19T15:55:04.838Z","priority":"6","pid":"2830187","message":"checking whether UID '969' is supported by ustar format... yes"}

data: {"time":"2026-09-19T15:55:04.839Z","priority":"6","pid":"2830187","message":"checking whether GID '969' is supported by ustar format... yes"}

data: {"time":"2026-09-19T15:55:04.874Z","priority":"6","pid":"2830187","message":"checking how to create a ustar tar archive... gnutar"}

data: {"time":"2026-09-19T15:55:04.945Z","priority":"6","pid":"2830187","message":"checking dependency style of gcc... gcc3"}

data: {"time":"2026-09-19T15:55:04.946Z","priority":"6","pid":"2830187","message":"checking curl version... 8.22.0"}

data: {"time":"2026-09-19T15:55:04.955Z","priority":"6","pid":"2830187","message":"checking for perl... /usr/bin/perl"}

data: {"time":"2026-09-19T15:55:04.966Z","priority":"6","pid":"2830187","message":"checking for httpd... no"}

data: {"time":"2026-09-19T15:55:04.968Z","priority":"6","pid":"2830187","message":"checking for apache2... no"}

data: {"time":"2026-09-19T15:55:04.973Z","priority":"6","pid":"2830187","message":"checking for apxs... no"}

data: {"time":"2026-09-19T15:55:04.975Z","priority":"6","pid":"2830187","message":"configure: httpd/apache2 not in PATH, http tests disabled"}

data: {"time":"2026-09-19T15:55:04.976Z","priority":"6","pid":"2830187","message":"configure: apxs not in PATH, http tests disabled"}

data: {"time":"2026-09-19T15:55:04.979Z","priority":"6","pid":"2830187","message":"checking for danted... no"}

data: {"time":"2026-09-19T15:55:04.981Z","priority":"6","pid":"2830187","message":"checking for danted... no"}

data: {"time":"2026-09-19T15:55:04.983Z","priority":"6","pid":"2830187","message":"checking for sshd... no"}

data: {"time":"2026-09-19T15:55:04.984Z","priority":"6","pid":"2830187","message":"checking for sshd... no"}

data: {"time":"2026-09-19T15:55:04.986Z","priority":"6","pid":"2830187","message":"checking for sftp-server... no"}

data: {"time":"2026-09-19T15:55:04.987Z","priority":"6","pid":"2830187","message":"checking for sftp-server... no"}

data: {"time":"2026-09-19T15:55:04.988Z","priority":"6","pid":"2830187","message":"checking for nghttpx... no"}

data: {"time":"2026-09-19T15:55:04.989Z","priority":"6","pid":"2830187","message":"checking for caddy... no"}

data: {"time":"2026-09-19T15:55:05.152Z","priority":"6","pid":"2830187","message":"checking build system type... x86_64-pc-linux-gnu"}

data: {"time":"2026-09-19T15:55:05.153Z","priority":"6","pid":"2830187","message":"checking host system type... x86_64-pc-linux-gnu"}

data: {"time":"2026-09-19T15:55:05.161Z","priority":"6","pid":"2830187","message":"checking for egrep -e... /usr/bin/grep -E"}

data: {"time":"2026-09-19T15:55:05.186Z","priority":"6","pid":"2830187","message":"checking if OS is AIX (to define _ALL_SOURCE)... no"}

data: {"time":"2026-09-19T15:55:05.232Z","priority":"6","pid":"2830187","message":"checking if _THREAD_SAFE is already defined... no"}

data: {"time":"2026-09-19T15:55:05.238Z","priority":"6","pid":"2830187","message":"checking if _THREAD_SAFE is actually needed... no"}

data: {"time":"2026-09-19T15:55:05.239Z","priority":"6","pid":"2830187","message":"checking if _THREAD_SAFE is onwards defined... no"}

data: {"time":"2026-09-19T15:55:05.285Z","priority":"6","pid":"2830187","message":"checking if _REENTRANT is already defined... no"}

data: {"time":"2026-09-19T15:55:06.648Z","priority":"6","pid":"2830187","message":"checking if _REENTRANT is actually needed... no"}

data: {"time":"2026-09-19T15:55:06.651Z","priority":"6","pid":"2830187","message":"checking if _REENTRANT is onwards defined... no"}

data: {"time":"2026-09-19T15:55:06.755Z","priority":"6","pid":"2830187","message":"checking for gcc option to support large files... none needed"}

data: {"time":"2026-09-19T15:55:06.763Z","priority":"6","pid":"2830187","message":"checking how to print strings... printf"}

data: {"time":"2026-09-19T15:55:06.764Z","priority":"6","pid":"2830187","message":"checking for a sed that does not truncate output... (cached) /usr/bin/sed"}

data: {"time":"2026-09-19T15:55:06.768Z","priority":"6","pid":"2830187","message":"checking for grep that handles long lines and -e... (cached) /usr/bin/grep"}

data: {"time":"2026-09-19T15:55:06.775Z","priority":"6","pid":"2830187","message":"checking for egrep... /usr/bin/grep -E"}

data: {"time":"2026-09-19T15:55:06.781Z","priority":"6","pid":"2830187","message":"checking for fgrep... /usr/bin/grep -F"}

data: {"time":"2026-09-19T15:55:06.795Z","priority":"6","pid":"2830187","message":"checking for ld used by gcc... /usr/bin/ld"}

data: {"time":"2026-09-19T15:55:06.802Z","priority":"6","pid":"2830187","message":"checking if the linker (/usr/bin/ld) is GNU ld... yes"}

data: {"time":"2026-09-19T15:55:06.811Z","priority":"6","pid":"2830187","message":"checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B"}

data: {"time":"2026-09-19T15:55:06.884Z","priority":"6","pid":"2830187","message":"checking the name lister (/usr/bin/nm -B) interface... BSD nm"}

data: {"time":"2026-09-19T15:55:06.884Z","priority":"6","pid":"2830187","message":"checking whether ln -s works... yes"}

data: {"time":"2026-09-19T15:55:06.896Z","priority":"6","pid":"2830187","message":"checking the maximum length of command line arguments... 1572864"}

data: {"time":"2026-09-19T15:55:06.904Z","priority":"6","pid":"2830187","message":"checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop"}

data: {"time":"2026-09-19T15:55:06.907Z","priority":"6","pid":"2830187","message":"checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop"}

data: {"time":"2026-09-19T15:55:06.909Z","priority":"6","pid":"2830187","message":"checking for /usr/bin/ld option to reload object files... -r"}

data: {"time":"2026-09-19T15:55:06.912Z","priority":"6","pid":"2830187","message":"checking for file... file"}

data: {"time":"2026-09-19T15:55:06.913Z","priority":"6","pid":"2830187","message":"checking for objdump... objdump"}

data: {"time":"2026-09-19T15:55:06.914Z","priority":"6","pid":"2830187","message":"checking how to recognize dependent libraries... pass_all"}

data: {"time":"2026-09-19T15:55:06.917Z","priority":"6","pid":"2830187","message":"checking for dlltool... no"}

data: {"time":"2026-09-19T15:55:06.918Z","priority":"6","pid":"2830187","message":"checking how to associate runtime and link libraries... printf %s\\n"}

data: {"time":"2026-09-19T15:55:06.920Z","priority":"6","pid":"2830187","message":"checking for ranlib... ranlib"}

data: {"time":"2026-09-19T15:55:06.981Z","priority":"6","pid":"2830187","message":"checking for archiver @FILE support... @"}

data: {"time":"2026-09-19T15:55:06.982Z","priority":"6","pid":"2830187","message":"checking for strip... strip"}

data: {"time":"2026-09-19T15:55:07.224Z","priority":"6","pid":"2830187","message":"checking command to parse /usr/bin/nm -B output from gcc object... ok"}

data: {"time":"2026-09-19T15:55:07.233Z","priority":"6","pid":"2830187","message":"checking for sysroot... no"}

data: {"time":"2026-09-19T15:55:07.264Z","priority":"6","pid":"2830187","message":"checking for a working dd... /usr/bin/dd"}

data: {"time":"2026-09-19T15:55:07.277Z","priority":"6","pid":"2830187","message":"checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1"}

data: {"time":"2026-09-19T15:55:07.342Z","priority":"6","pid":"2830187","message":"checking for mt... no"}

data: {"time":"2026-09-19T15:55:07.351Z","priority":"6","pid":"2830187","message":"checking if : is a manifest tool... no"}

data: {"time":"2026-09-19T15:55:07.444Z","priority":"6","pid":"2830187","message":"checking for dlfcn.h... yes"}

data: {"time":"2026-09-19T15:55:07.449Z","priority":"6","pid":"2830187","message":"checking which variant of shared library versioning to provide... (default) aix"}

data: {"time":"2026-09-19T15:55:07.459Z","priority":"6","pid":"2830187","message":"checking for objdir... .libs"}

data: {"time":"2026-09-19T15:55:07.746Z","priority":"6","pid":"2830187","message":"checking if gcc supports -fno-rtti -fno-exceptions... no"}

data: {"time":"2026-09-19T15:55:07.748Z","priority":"6","pid":"2830187","message":"checking for gcc option to produce PIC... -fPIC -DPIC"}

data: {"time":"2026-09-19T15:55:07.798Z","priority":"6","pid":"2830187","message":"checking if gcc PIC flag -fPIC -DPIC works... yes"}

data: {"time":"2026-09-19T15:55:08.130Z","priority":"6","pid":"2830187","message":"checking if gcc static flag -static works... yes"}

data: {"time":"2026-09-19T15:55:08.197Z","priority":"6","pid":"2830187","message":"checking if gcc supports -c -o file.o... yes"}

data: {"time":"2026-09-19T15:55:08.198Z","priority":"6","pid":"2830187","message":"checking if gcc supports -c -o file.o... (cached) yes"}

data: {"time":"2026-09-19T15:55:08.234Z","priority":"6","pid":"2830187","message":"checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes"}

data: {"time":"2026-09-19T15:55:08.382Z","priority":"6","pid":"2830187","message":"checking whether -lc should be explicitly linked in... no"}

data: {"time":"2026-09-19T15:55:08.647Z","priority":"6","pid":"2830187","message":"checking dynamic linker characteristics... GNU/Linux ld.so"}

data: {"time":"2026-09-19T15:55:08.649Z","priority":"6","pid":"2830187","message":"checking how to hardcode library paths into programs... immediate"}

data: {"time":"2026-09-19T15:55:08.658Z","priority":"6","pid":"2830187","message":"checking whether stripping libraries is possible... yes"}

data: {"time":"2026-09-19T15:55:08.659Z","priority":"6","pid":"2830187","message":"checking if libtool supports shared libraries... yes"}

data: {"time":"2026-09-19T15:55:08.660Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries... yes"}

data: {"time":"2026-09-19T15:55:08.661Z","priority":"6","pid":"2830187","message":"checking whether to build static libraries... yes"}

data: {"time":"2026-09-19T15:55:08.664Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with -version-info... yes"}

data: {"time":"2026-09-19T15:55:08.665Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with -no-undefined... no"}

data: {"time":"2026-09-19T15:55:08.666Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with -mimpure-text... no"}

data: {"time":"2026-09-19T15:55:08.666Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with PIC... yes"}

data: {"time":"2026-09-19T15:55:08.667Z","priority":"6","pid":"2830187","message":"checking whether to build static libraries with PIC... yes"}

data: {"time":"2026-09-19T15:55:08.667Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries only... no"}

data: {"time":"2026-09-19T15:55:08.668Z","priority":"6","pid":"2830187","message":"checking whether to build static libraries only... no"}

data: {"time":"2026-09-19T15:55:08.670Z","priority":"6","pid":"2830187","message":"checking for windres... no"}

data: {"time":"2026-09-19T15:55:08.755Z","priority":"6","pid":"2830187","message":"checking if cpp -P is needed... yes"}

data: {"time":"2026-09-19T15:55:08.792Z","priority":"6","pid":"2830187","message":"checking if cpp -P works... yes"}

data: {"time":"2026-09-19T15:55:08.907Z","priority":"6","pid":"2830187","message":"checking if compiler is DEC/Compaq/HP C... no"}

data: {"time":"2026-09-19T15:55:08.965Z","priority":"6","pid":"2830187","message":"checking if compiler is HP-UX C... no"}

data: {"time":"2026-09-19T15:55:09.022Z","priority":"6","pid":"2830187","message":"checking if compiler is IBM C... no"}

data: {"time":"2026-09-19T15:55:09.074Z","priority":"6","pid":"2830187","message":"checking if compiler is Intel C... no"}

data: {"time":"2026-09-19T15:55:09.127Z","priority":"6","pid":"2830187","message":"checking if compiler is clang... no"}

data: {"time":"2026-09-19T15:55:09.184Z","priority":"6","pid":"2830187","message":"checking if compiler is GNU C... yes"}

data: {"time":"2026-09-19T15:55:09.233Z","priority":"6","pid":"2830187","message":"checking compiler version... gcc '1600' (raw: '16')"}

data: {"time":"2026-09-19T15:55:09.295Z","priority":"6","pid":"2830187","message":"checking if compiler is SunPro C... no"}

data: {"time":"2026-09-19T15:55:09.352Z","priority":"6","pid":"2830187","message":"checking if compiler is Tiny C... no"}

data: {"time":"2026-09-19T15:55:09.353Z","priority":"6","pid":"2830187","message":"checking for code coverage support... no"}

data: {"time":"2026-09-19T15:55:09.398Z","priority":"6","pid":"2830187","message":"checking whether build target is a native Windows one... no"}

data: {"time":"2026-09-19T15:55:09.798Z","priority":"6","pid":"2830187","message":"checking if compiler accepts some basic options... yes"}

data: {"time":"2026-09-19T15:55:09.800Z","priority":"6","pid":"2830187","message":"configure: compiler options added: -Werror-implicit-function-declaration"}

data: {"time":"2026-09-19T15:55:09.803Z","priority":"6","pid":"2830187","message":"checking if compiler optimizer assumed setting might be used... no"}

data: {"time":"2026-09-19T15:55:10.211Z","priority":"6","pid":"2830187","message":"checking if compiler accepts strict warning options... yes"}

data: {"time":"2026-09-19T15:55:10.212Z","priority":"6","pid":"2830187","message":"configure: compiler options added: -Wno-system-headers"}

data: {"time":"2026-09-19T15:55:10.258Z","priority":"6","pid":"2830187","message":"checking if compiler halts on compilation errors... yes"}

data: {"time":"2026-09-19T15:55:10.307Z","priority":"6","pid":"2830187","message":"checking if compiler halts on negative sized arrays... yes"}

data: {"time":"2026-09-19T15:55:10.377Z","priority":"6","pid":"2830187","message":"checking if compiler halts on function prototype mismatch... yes"}

data: {"time":"2026-09-19T15:55:10.464Z","priority":"6","pid":"2830187","message":"checking if compiler supports hiding library internal symbols... yes"}

data: {"time":"2026-09-19T15:55:10.466Z","priority":"6","pid":"2830187","message":"checking whether build target supports Win32 crypto API... no"}

data: {"time":"2026-09-19T15:55:10.469Z","priority":"6","pid":"2830187","message":"checking whether to build libcurl and curl in \"unity\" mode... no"}

data: {"time":"2026-09-19T15:55:10.471Z","priority":"6","pid":"2830187","message":"checking whether to support http... yes"}

data: {"time":"2026-09-19T15:55:10.471Z","priority":"6","pid":"2830187","message":"checking whether to support ftp... yes"}

data: {"time":"2026-09-19T15:55:10.472Z","priority":"6","pid":"2830187","message":"checking whether to support file... yes"}

data: {"time":"2026-09-19T15:55:10.473Z","priority":"6","pid":"2830187","message":"checking whether to support IPFS... yes"}

data: {"time":"2026-09-19T15:55:10.474Z","priority":"6","pid":"2830187","message":"checking whether to support ldap... no"}

data: {"time":"2026-09-19T15:55:10.475Z","priority":"6","pid":"2830187","message":"checking whether to support ldaps... no"}

data: {"time":"2026-09-19T15:55:10.476Z","priority":"6","pid":"2830187","message":"checking whether to support rtsp... yes"}

data: {"time":"2026-09-19T15:55:10.477Z","priority":"6","pid":"2830187","message":"checking whether to support proxies... yes"}

data: {"time":"2026-09-19T15:55:10.477Z","priority":"6","pid":"2830187","message":"checking whether to support dict... yes"}

data: {"time":"2026-09-19T15:55:10.478Z","priority":"6","pid":"2830187","message":"checking whether to support telnet... yes"}

data: {"time":"2026-09-19T15:55:10.479Z","priority":"6","pid":"2830187","message":"checking whether to support tftp... yes"}

data: {"time":"2026-09-19T15:55:10.479Z","priority":"6","pid":"2830187","message":"checking whether to support pop3... yes"}

data: {"time":"2026-09-19T15:55:10.480Z","priority":"6","pid":"2830187","message":"checking whether to support imap... yes"}

data: {"time":"2026-09-19T15:55:10.481Z","priority":"6","pid":"2830187","message":"checking whether to support smb... no"}

data: {"time":"2026-09-19T15:55:10.482Z","priority":"6","pid":"2830187","message":"checking whether to support smtp... yes"}

data: {"time":"2026-09-19T15:55:10.482Z","priority":"6","pid":"2830187","message":"checking whether to support gopher... yes"}

data: {"time":"2026-09-19T15:55:10.483Z","priority":"6","pid":"2830187","message":"checking whether to support mqtt... no"}

data: {"time":"2026-09-19T15:55:10.484Z","priority":"6","pid":"2830187","message":"checking enable curl_global_init_mem debug build... no"}

data: {"time":"2026-09-19T15:55:10.485Z","priority":"6","pid":"2830187","message":"checking whether to provide built-in manual... no"}

data: {"time":"2026-09-19T15:55:10.485Z","priority":"6","pid":"2830187","message":"checking whether to build documentation... yes"}

data: {"time":"2026-09-19T15:55:10.486Z","priority":"6","pid":"2830187","message":"checking whether to enable generation of C code... yes"}

data: {"time":"2026-09-19T15:55:10.487Z","priority":"6","pid":"2830187","message":"checking whether to use libgcc... no"}

data: {"time":"2026-09-19T15:55:10.487Z","priority":"6","pid":"2830187","message":"checking whether to use libbacktrace... no"}

data: {"time":"2026-09-19T15:55:10.532Z","priority":"6","pid":"2830187","message":"checking if X/Open network library is required... no"}

data: {"time":"2026-09-19T15:55:10.705Z","priority":"6","pid":"2830187","message":"checking for gethostbyname... yes"}

data: {"time":"2026-09-19T15:55:10.708Z","priority":"6","pid":"2830187","message":"checking whether build target is a native Windows one... (cached) no"}

data: {"time":"2026-09-19T15:55:10.757Z","priority":"6","pid":"2830187","message":"checking for proto/bsdsocket.h... no"}

data: {"time":"2026-09-19T15:55:10.939Z","priority":"6","pid":"2830187","message":"checking for connect in libraries... yes"}

data: {"time":"2026-09-19T15:55:10.941Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:11.044Z","priority":"6","pid":"2830187","message":"checking for monotonic clock_gettime... yes"}

data: {"time":"2026-09-19T15:55:11.242Z","priority":"6","pid":"2830187","message":"checking for clock_gettime in libraries... no additional lib required"}

data: {"time":"2026-09-19T15:55:11.444Z","priority":"6","pid":"2830187","message":"checking if monotonic clock_gettime works... yes"}

data: {"time":"2026-09-19T15:55:11.448Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:11.501Z","priority":"6","pid":"2830187","message":"checking for raw monotonic clock_gettime... yes"}

data: {"time":"2026-09-19T15:55:11.506Z","priority":"6","pid":"2830187","message":"checking for pkg-config... /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:11.535Z","priority":"6","pid":"2830187","message":"checking for zlib options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:11.719Z","priority":"6","pid":"2830187","message":"checking for zlib.h... yes"}

data: {"time":"2026-09-19T15:55:11.721Z","priority":"6","pid":"2830187","message":"configure: found both libz and libz.h header"}

data: {"time":"2026-09-19T15:55:11.904Z","priority":"6","pid":"2830187","message":"checking for BrotliDecoderDecompress in -lbrotlidec... yes"}

data: {"time":"2026-09-19T15:55:12.006Z","priority":"6","pid":"2830187","message":"checking for brotli/decode.h... yes"}

data: {"time":"2026-09-19T15:55:12.196Z","priority":"6","pid":"2830187","message":"checking for ZSTD_createDStream in -lzstd... yes"}

data: {"time":"2026-09-19T15:55:12.298Z","priority":"6","pid":"2830187","message":"checking for zstd.h... yes"}

data: {"time":"2026-09-19T15:55:12.301Z","priority":"6","pid":"2830187","message":"checking whether to enable IPv6... yes"}

data: {"time":"2026-09-19T15:55:12.365Z","priority":"6","pid":"2830187","message":"checking if struct sockaddr_in6 has sin6_scope_id member... yes"}

data: {"time":"2026-09-19T15:55:12.553Z","priority":"6","pid":"2830187","message":"checking if argv can be written to... yes"}

data: {"time":"2026-09-19T15:55:12.557Z","priority":"6","pid":"2830187","message":"checking if GSS-API support is requested... yes"}

data: {"time":"2026-09-19T15:55:12.559Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:12.566Z","priority":"6","pid":"2830187","message":"checking for mit-krb5-gssapi options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:12.679Z","priority":"6","pid":"2830187","message":"checking for gss.h... no"}

data: {"time":"2026-09-19T15:55:12.780Z","priority":"6","pid":"2830187","message":"checking for gssapi/gssapi.h... yes"}

data: {"time":"2026-09-19T15:55:12.890Z","priority":"6","pid":"2830187","message":"checking for gssapi/gssapi_generic.h... yes"}

data: {"time":"2026-09-19T15:55:13.015Z","priority":"6","pid":"2830187","message":"checking for gssapi/gssapi_krb5.h... yes"}

data: {"time":"2026-09-19T15:55:13.027Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:13.033Z","priority":"6","pid":"2830187","message":"checking for mit-krb5-gssapi options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:13.040Z","priority":"6","pid":"2830187","message":"configure: GSS-API MIT Kerberos version detected: 1.22.2"}

data: {"time":"2026-09-19T15:55:13.261Z","priority":"6","pid":"2830187","message":"checking if we can link against GSS-API library... yes"}

data: {"time":"2026-09-19T15:55:13.464Z","priority":"6","pid":"2830187","message":"checking for gss_set_neg_mechs... yes"}

data: {"time":"2026-09-19T15:55:13.466Z","priority":"6","pid":"2830187","message":"checking whether to enable Windows native SSL/TLS... no"}

data: {"time":"2026-09-19T15:55:13.467Z","priority":"6","pid":"2830187","message":"checking whether to enable Amiga native SSL/TLS (AmiSSL 5)... no"}

data: {"time":"2026-09-19T15:55:13.470Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:13.478Z","priority":"6","pid":"2830187","message":"checking for openssl options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:13.493Z","priority":"6","pid":"2830187","message":"configure: pkg-config: SSL_LIBS: \"-lssl -lcrypto\""}

data: {"time":"2026-09-19T15:55:13.494Z","priority":"6","pid":"2830187","message":"configure: pkg-config: SSL_LDFLAGS: \"\""}

data: {"time":"2026-09-19T15:55:13.494Z","priority":"6","pid":"2830187","message":"configure: pkg-config: SSL_CPPFLAGS: \"\""}

data: {"time":"2026-09-19T15:55:13.857Z","priority":"6","pid":"2830187","message":"checking for HMAC_Update in -lcrypto... yes"}

data: {"time":"2026-09-19T15:55:14.241Z","priority":"6","pid":"2830187","message":"checking for SSL_connect in -lssl... yes"}

data: {"time":"2026-09-19T15:55:14.404Z","priority":"6","pid":"2830187","message":"checking for openssl/rsa.h... yes"}

data: {"time":"2026-09-19T15:55:14.521Z","priority":"6","pid":"2830187","message":"checking for openssl/crypto.h... yes"}

data: {"time":"2026-09-19T15:55:14.800Z","priority":"6","pid":"2830187","message":"checking for openssl/pem.h... yes"}

data: {"time":"2026-09-19T15:55:15.063Z","priority":"6","pid":"2830187","message":"checking for openssl/ssl.h... yes"}

data: {"time":"2026-09-19T15:55:15.209Z","priority":"6","pid":"2830187","message":"checking for openssl/err.h... yes"}

data: {"time":"2026-09-19T15:55:15.276Z","priority":"6","pid":"2830187","message":"checking for AWS-LC... no"}

data: {"time":"2026-09-19T15:55:15.326Z","priority":"6","pid":"2830187","message":"checking for BoringSSL... no"}

data: {"time":"2026-09-19T15:55:15.376Z","priority":"6","pid":"2830187","message":"checking for LibreSSL... no"}

data: {"time":"2026-09-19T15:55:15.730Z","priority":"6","pid":"2830187","message":"checking for OpenSSL >= 3... checking for SSL_set_quic_use_legacy_codepoint... no"}

data: {"time":"2026-09-19T15:55:16.102Z","priority":"6","pid":"2830187","message":"checking for SSL_set_quic_tls_cbs... yes"}

data: {"time":"2026-09-19T15:55:16.105Z","priority":"6","pid":"2830187","message":"configure: OpenSSL with QUIC APIv2"}

data: {"time":"2026-09-19T15:55:16.496Z","priority":"6","pid":"2830187","message":"checking for DES support in OpenSSL... yes"}

data: {"time":"2026-09-19T15:55:16.506Z","priority":"6","pid":"2830187","message":"checking whether to enable Apple OS native certificate validation... no"}

data: {"time":"2026-09-19T15:55:16.507Z","priority":"6","pid":"2830187","message":"configure: built with one SSL backend"}

data: {"time":"2026-09-19T15:55:16.509Z","priority":"6","pid":"2830187","message":"checking whether to use native CA store... no"}

data: {"time":"2026-09-19T15:55:16.511Z","priority":"6","pid":"2830187","message":"checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt"}

data: {"time":"2026-09-19T15:55:16.512Z","priority":"6","pid":"2830187","message":"checking whether to use OpenSSL's built-in CA store... no"}

data: {"time":"2026-09-19T15:55:16.513Z","priority":"6","pid":"2830187","message":"checking CA cert bundle path to embed in the curl tool... no"}

data: {"time":"2026-09-19T15:55:16.516Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:16.528Z","priority":"6","pid":"2830187","message":"checking for libpsl options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:16.835Z","priority":"6","pid":"2830187","message":"checking for psl_builtin in -lpsl... yes"}

data: {"time":"2026-09-19T15:55:16.944Z","priority":"6","pid":"2830187","message":"checking for libpsl.h... yes"}

data: {"time":"2026-09-19T15:55:16.949Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:16.956Z","priority":"6","pid":"2830187","message":"checking for libssh2 options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:17.341Z","priority":"6","pid":"2830187","message":"checking for libssh2_agent_get_identity_path in -lssh2... yes"}

data: {"time":"2026-09-19T15:55:17.444Z","priority":"6","pid":"2830187","message":"checking for libssh2.h... yes"}

data: {"time":"2026-09-19T15:55:17.448Z","priority":"6","pid":"2830187","message":"checking whether versioned symbols are wanted... yes"}

data: {"time":"2026-09-19T15:55:17.459Z","priority":"6","pid":"2830187","message":"checking if libraries can be versioned... yes"}

data: {"time":"2026-09-19T15:55:17.461Z","priority":"6","pid":"2830187","message":"checking whether to build with libidn2... (assumed) yes"}

data: {"time":"2026-09-19T15:55:17.464Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:17.469Z","priority":"6","pid":"2830187","message":"checking for libidn2 options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:17.488Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_LIBS: \"-lidn2\""}

data: {"time":"2026-09-19T15:55:17.489Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_LDFLAGS: \"\""}

data: {"time":"2026-09-19T15:55:17.490Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_CPPFLAGS: \"\""}

data: {"time":"2026-09-19T15:55:17.491Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_DIR: \"\""}

data: {"time":"2026-09-19T15:55:17.785Z","priority":"6","pid":"2830187","message":"checking if idn2_lookup_ul can be linked... yes"}

data: {"time":"2026-09-19T15:55:17.875Z","priority":"6","pid":"2830187","message":"checking for idn2.h... yes"}

data: {"time":"2026-09-19T15:55:17.878Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:17.884Z","priority":"6","pid":"2830187","message":"checking for libnghttp2 options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:17.888Z","priority":"6","pid":"2830187","message":"configure: -l is -lnghttp2"}

data: {"time":"2026-09-19T15:55:17.893Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T15:55:17.898Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T15:55:18.204Z","priority":"6","pid":"2830187","message":"checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes"}

data: {"time":"2026-09-19T15:55:18.309Z","priority":"6","pid":"2830187","message":"checking for nghttp2/nghttp2.h... yes"}

data: {"time":"2026-09-19T15:55:18.310Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T15:55:18.312Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:18.319Z","priority":"6","pid":"2830187","message":"checking for libngtcp2 options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:18.325Z","priority":"6","pid":"2830187","message":"configure: -l is -lngtcp2"}

data: {"time":"2026-09-19T15:55:18.329Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T15:55:18.333Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T15:55:18.651Z","priority":"6","pid":"2830187","message":"checking for ngtcp2_conn_client_new_versioned in -lngtcp2... yes"}

data: {"time":"2026-09-19T15:55:18.756Z","priority":"6","pid":"2830187","message":"checking for ngtcp2/ngtcp2.h... yes"}

data: {"time":"2026-09-19T15:55:18.757Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T15:55:18.762Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:18.768Z","priority":"6","pid":"2830187","message":"checking for libngtcp2_crypto_ossl options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:18.774Z","priority":"6","pid":"2830187","message":"configure: -l is -lngtcp2_crypto_ossl"}

data: {"time":"2026-09-19T15:55:18.778Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T15:55:18.782Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T15:55:19.160Z","priority":"6","pid":"2830187","message":"checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_ossl... yes"}

data: {"time":"2026-09-19T15:55:19.263Z","priority":"6","pid":"2830187","message":"checking for ngtcp2/ngtcp2_crypto.h... yes"}

data: {"time":"2026-09-19T15:55:19.264Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T15:55:19.272Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T15:55:19.278Z","priority":"6","pid":"2830187","message":"checking for libnghttp3 options with pkg-config... found"}

data: {"time":"2026-09-19T15:55:19.283Z","priority":"6","pid":"2830187","message":"configure: -l is -lnghttp3"}

data: {"time":"2026-09-19T15:55:19.288Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T15:55:19.292Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T15:55:19.634Z","priority":"6","pid":"2830187","message":"checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes"}

data: {"time":"2026-09-19T15:55:19.746Z","priority":"6","pid":"2830187","message":"checking for nghttp3/nghttp3.h... yes"}

data: {"time":"2026-09-19T15:55:19.747Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T15:55:19.752Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:19.855Z","priority":"6","pid":"2830187","message":"checking for sys/select.h... yes"}

data: {"time":"2026-09-19T15:55:19.924Z","priority":"6","pid":"2830187","message":"checking for sys/ioctl.h... yes"}

data: {"time":"2026-09-19T15:55:19.926Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:19.991Z","priority":"6","pid":"2830187","message":"checking for arpa/inet.h... yes"}

data: {"time":"2026-09-19T15:55:20.077Z","priority":"6","pid":"2830187","message":"checking for net/if.h... yes"}

data: {"time":"2026-09-19T15:55:20.145Z","priority":"6","pid":"2830187","message":"checking for netinet/in.h... yes"}

data: {"time":"2026-09-19T15:55:20.218Z","priority":"6","pid":"2830187","message":"checking for netinet/in6.h... no"}

data: {"time":"2026-09-19T15:55:20.326Z","priority":"6","pid":"2830187","message":"checking for sys/un.h... yes"}

data: {"time":"2026-09-19T15:55:20.404Z","priority":"6","pid":"2830187","message":"checking for linux/tcp.h... yes"}

data: {"time":"2026-09-19T15:55:20.486Z","priority":"6","pid":"2830187","message":"checking for netinet/tcp.h... yes"}

data: {"time":"2026-09-19T15:55:20.592Z","priority":"6","pid":"2830187","message":"checking for netinet/udp.h... yes"}

data: {"time":"2026-09-19T15:55:20.669Z","priority":"6","pid":"2830187","message":"checking for netinet/ip.h... yes"}

data: {"time":"2026-09-19T15:55:20.745Z","priority":"6","pid":"2830187","message":"checking for netdb.h... yes"}

data: {"time":"2026-09-19T15:55:20.826Z","priority":"6","pid":"2830187","message":"checking for sys/sockio.h... no"}

data: {"time":"2026-09-19T15:55:20.929Z","priority":"6","pid":"2830187","message":"checking for sys/param.h... yes"}

data: {"time":"2026-09-19T15:55:21.006Z","priority":"6","pid":"2830187","message":"checking for termios.h... yes"}

data: {"time":"2026-09-19T15:55:21.093Z","priority":"6","pid":"2830187","message":"checking for termio.h... no"}

data: {"time":"2026-09-19T15:55:21.173Z","priority":"6","pid":"2830187","message":"checking for fcntl.h... yes"}

data: {"time":"2026-09-19T15:55:21.254Z","priority":"6","pid":"2830187","message":"checking for io.h... no"}

data: {"time":"2026-09-19T15:55:21.332Z","priority":"6","pid":"2830187","message":"checking for pwd.h... yes"}

data: {"time":"2026-09-19T15:55:21.405Z","priority":"6","pid":"2830187","message":"checking for utime.h... yes"}

data: {"time":"2026-09-19T15:55:21.478Z","priority":"6","pid":"2830187","message":"checking for sys/utime.h... no"}

data: {"time":"2026-09-19T15:55:21.561Z","priority":"6","pid":"2830187","message":"checking for sys/poll.h... yes"}

data: {"time":"2026-09-19T15:55:21.641Z","priority":"6","pid":"2830187","message":"checking for poll.h... yes"}

data: {"time":"2026-09-19T15:55:21.717Z","priority":"6","pid":"2830187","message":"checking for sys/resource.h... yes"}

data: {"time":"2026-09-19T15:55:21.793Z","priority":"6","pid":"2830187","message":"checking for libgen.h... yes"}

data: {"time":"2026-09-19T15:55:21.872Z","priority":"6","pid":"2830187","message":"checking for locale.h... yes"}

data: {"time":"2026-09-19T15:55:21.944Z","priority":"6","pid":"2830187","message":"checking for stdbool.h... yes"}

data: {"time":"2026-09-19T15:55:22.033Z","priority":"6","pid":"2830187","message":"checking for sys/filio.h... no"}

data: {"time":"2026-09-19T15:55:22.109Z","priority":"6","pid":"2830187","message":"checking for sys/eventfd.h... yes"}

data: {"time":"2026-09-19T15:55:22.153Z","priority":"6","pid":"2830187","message":"checking for an ANSI C-conforming const... yes"}

data: {"time":"2026-09-19T15:55:22.335Z","priority":"6","pid":"2830187","message":"checking for size_t... yes"}

data: {"time":"2026-09-19T15:55:22.338Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:22.393Z","priority":"6","pid":"2830187","message":"checking for struct timeval... yes"}

data: {"time":"2026-09-19T15:55:22.728Z","priority":"6","pid":"2830187","message":"checking runtime libs availability... fine"}

data: {"time":"2026-09-19T15:55:22.774Z","priority":"6","pid":"2830187","message":"checking size of size_t... 8"}

data: {"time":"2026-09-19T15:55:22.836Z","priority":"6","pid":"2830187","message":"checking size of long... 8"}

data: {"time":"2026-09-19T15:55:22.944Z","priority":"6","pid":"2830187","message":"checking size of int... 4"}

data: {"time":"2026-09-19T15:55:22.998Z","priority":"6","pid":"2830187","message":"checking size of time_t... 8"}

data: {"time":"2026-09-19T15:55:23.053Z","priority":"6","pid":"2830187","message":"checking size of off_t... 8"}

data: {"time":"2026-09-19T15:55:23.115Z","priority":"6","pid":"2830187","message":"checking size of curl_off_t... 8"}

data: {"time":"2026-09-19T15:55:23.294Z","priority":"6","pid":"2830187","message":"checking size of curl_socket_t... 4"}

data: {"time":"2026-09-19T15:55:23.490Z","priority":"6","pid":"2830187","message":"checking for ssize_t... yes"}

data: {"time":"2026-09-19T15:55:23.590Z","priority":"6","pid":"2830187","message":"checking for bool... yes"}

data: {"time":"2026-09-19T15:55:23.702Z","priority":"6","pid":"2830187","message":"checking for sa_family_t... yes"}

data: {"time":"2026-09-19T15:55:23.835Z","priority":"6","pid":"2830187","message":"checking for suseconds_t... yes"}

data: {"time":"2026-09-19T15:55:24.189Z","priority":"6","pid":"2830187","message":"checking if time_t is unsigned... no"}

data: {"time":"2026-09-19T15:55:24.325Z","priority":"6","pid":"2830187","message":"checking for struct sockaddr_storage... yes"}

data: {"time":"2026-09-19T15:55:24.326Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:24.650Z","priority":"6","pid":"2830187","message":"checking for recv... yes"}

data: {"time":"2026-09-19T15:55:24.654Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:24.965Z","priority":"6","pid":"2830187","message":"checking for send... yes"}

data: {"time":"2026-09-19T15:55:24.970Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:24.972Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:25.267Z","priority":"6","pid":"2830187","message":"checking if alarm can be linked... yes"}

data: {"time":"2026-09-19T15:55:25.305Z","priority":"6","pid":"2830187","message":"checking if alarm is prototyped... yes"}

data: {"time":"2026-09-19T15:55:25.365Z","priority":"6","pid":"2830187","message":"checking if alarm is compilable... yes"}

data: {"time":"2026-09-19T15:55:25.369Z","priority":"6","pid":"2830187","message":"checking if alarm usage allowed... yes"}

data: {"time":"2026-09-19T15:55:25.370Z","priority":"6","pid":"2830187","message":"checking if alarm might be used... yes"}

data: {"time":"2026-09-19T15:55:25.371Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:25.372Z","priority":"6","pid":"2830187","message":"checking for strings.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:25.373Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:25.374Z","priority":"6","pid":"2830187","message":"checking for libgen.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:25.677Z","priority":"6","pid":"2830187","message":"checking if basename can be linked... yes"}

data: {"time":"2026-09-19T15:55:25.715Z","priority":"6","pid":"2830187","message":"checking if basename is prototyped... yes"}

data: {"time":"2026-09-19T15:55:25.780Z","priority":"6","pid":"2830187","message":"checking if basename is compilable... yes"}

data: {"time":"2026-09-19T15:55:25.784Z","priority":"6","pid":"2830187","message":"checking if basename usage allowed... yes"}

data: {"time":"2026-09-19T15:55:25.785Z","priority":"6","pid":"2830187","message":"checking if basename might be used... yes"}

data: {"time":"2026-09-19T15:55:25.829Z","priority":"6","pid":"2830187","message":"checking if closesocket can be linked... no"}

data: {"time":"2026-09-19T15:55:25.833Z","priority":"6","pid":"2830187","message":"checking if closesocket might be used... no"}

data: {"time":"2026-09-19T15:55:25.835Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:25.894Z","priority":"6","pid":"2830187","message":"checking if CloseSocket can be linked... no"}

data: {"time":"2026-09-19T15:55:25.898Z","priority":"6","pid":"2830187","message":"checking if CloseSocket might be used... no"}

data: {"time":"2026-09-19T15:55:25.899Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:25.900Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:25.901Z","priority":"6","pid":"2830187","message":"checking for fcntl.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:26.247Z","priority":"6","pid":"2830187","message":"checking if fcntl can be linked... yes"}

data: {"time":"2026-09-19T15:55:26.289Z","priority":"6","pid":"2830187","message":"checking if fcntl is prototyped... yes"}

data: {"time":"2026-09-19T15:55:26.364Z","priority":"6","pid":"2830187","message":"checking if fcntl is compilable... yes"}

data: {"time":"2026-09-19T15:55:26.368Z","priority":"6","pid":"2830187","message":"checking if fcntl usage allowed... yes"}

data: {"time":"2026-09-19T15:55:26.369Z","priority":"6","pid":"2830187","message":"checking if fcntl might be used... yes"}

data: {"time":"2026-09-19T15:55:26.432Z","priority":"6","pid":"2830187","message":"checking if fcntl O_NONBLOCK is compilable... yes"}

data: {"time":"2026-09-19T15:55:26.436Z","priority":"6","pid":"2830187","message":"checking if fcntl O_NONBLOCK usage allowed... yes"}

data: {"time":"2026-09-19T15:55:26.437Z","priority":"6","pid":"2830187","message":"checking if fcntl O_NONBLOCK might be used... yes"}

data: {"time":"2026-09-19T15:55:26.439Z","priority":"6","pid":"2830187","message":"checking whether build target is a native Windows one... (cached) no"}

data: {"time":"2026-09-19T15:55:26.440Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:26.441Z","priority":"6","pid":"2830187","message":"checking for netdb.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:26.775Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo can be linked... yes"}

data: {"time":"2026-09-19T15:55:26.818Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo is prototyped... yes"}

data: {"time":"2026-09-19T15:55:26.875Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo is compilable... yes"}

data: {"time":"2026-09-19T15:55:26.879Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo usage allowed... yes"}

data: {"time":"2026-09-19T15:55:26.880Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo might be used... yes"}

data: {"time":"2026-09-19T15:55:26.881Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:26.927Z","priority":"6","pid":"2830187","message":"checking for sys/xattr.h... yes"}

data: {"time":"2026-09-19T15:55:27.230Z","priority":"6","pid":"2830187","message":"checking if fsetxattr can be linked... yes"}

data: {"time":"2026-09-19T15:55:27.267Z","priority":"6","pid":"2830187","message":"checking if fsetxattr is prototyped... yes"}

data: {"time":"2026-09-19T15:55:27.316Z","priority":"6","pid":"2830187","message":"checking if fsetxattr takes 5 args.... yes"}

data: {"time":"2026-09-19T15:55:27.319Z","priority":"6","pid":"2830187","message":"checking if fsetxattr is compilable... yes"}

data: {"time":"2026-09-19T15:55:27.321Z","priority":"6","pid":"2830187","message":"checking if fsetxattr usage allowed... yes"}

data: {"time":"2026-09-19T15:55:27.322Z","priority":"6","pid":"2830187","message":"checking if fsetxattr might be used... yes"}

data: {"time":"2026-09-19T15:55:27.323Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:27.669Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo can be linked... yes"}

data: {"time":"2026-09-19T15:55:27.716Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo is prototyped... yes"}

data: {"time":"2026-09-19T15:55:27.783Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo is compilable... yes"}

data: {"time":"2026-09-19T15:55:28.153Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo seems to work... yes"}

data: {"time":"2026-09-19T15:55:28.157Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo usage allowed... yes"}

data: {"time":"2026-09-19T15:55:28.158Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo might be used... yes"}

data: {"time":"2026-09-19T15:55:28.160Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo is thread-safe... yes"}

data: {"time":"2026-09-19T15:55:28.449Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r can be linked... yes"}

data: {"time":"2026-09-19T15:55:28.492Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r is prototyped... yes"}

data: {"time":"2026-09-19T15:55:28.557Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r takes 3 args.... no"}

data: {"time":"2026-09-19T15:55:28.624Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r takes 5 args.... no"}

data: {"time":"2026-09-19T15:55:28.683Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r takes 6 args.... yes"}

data: {"time":"2026-09-19T15:55:28.686Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r is compilable... yes"}

data: {"time":"2026-09-19T15:55:28.687Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r usage allowed... yes"}

data: {"time":"2026-09-19T15:55:28.688Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r might be used... yes"}

data: {"time":"2026-09-19T15:55:29.019Z","priority":"6","pid":"2830187","message":"checking if gethostname can be linked... yes"}

data: {"time":"2026-09-19T15:55:29.058Z","priority":"6","pid":"2830187","message":"checking if gethostname is prototyped... yes"}

data: {"time":"2026-09-19T15:55:29.124Z","priority":"6","pid":"2830187","message":"checking if gethostname is compilable... yes"}

data: {"time":"2026-09-19T15:55:29.323Z","priority":"6","pid":"2830187","message":"checking for gethostname arg 2 data type... size_t"}

data: {"time":"2026-09-19T15:55:29.325Z","priority":"6","pid":"2830187","message":"checking if gethostname usage allowed... yes"}

data: {"time":"2026-09-19T15:55:29.326Z","priority":"6","pid":"2830187","message":"checking if gethostname might be used... yes"}

data: {"time":"2026-09-19T15:55:29.327Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:29.328Z","priority":"6","pid":"2830187","message":"checking for netinet/in.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:29.380Z","priority":"6","pid":"2830187","message":"checking for ifaddrs.h... yes"}

data: {"time":"2026-09-19T15:55:29.684Z","priority":"6","pid":"2830187","message":"checking if getifaddrs can be linked... yes"}

data: {"time":"2026-09-19T15:55:29.724Z","priority":"6","pid":"2830187","message":"checking if getifaddrs is prototyped... yes"}

data: {"time":"2026-09-19T15:55:29.782Z","priority":"6","pid":"2830187","message":"checking if getifaddrs is compilable... yes"}

data: {"time":"2026-09-19T15:55:30.119Z","priority":"6","pid":"2830187","message":"checking if getifaddrs seems to work... yes"}

data: {"time":"2026-09-19T15:55:30.127Z","priority":"6","pid":"2830187","message":"checking if getifaddrs usage allowed... yes"}

data: {"time":"2026-09-19T15:55:30.128Z","priority":"6","pid":"2830187","message":"checking if getifaddrs might be used... yes"}

data: {"time":"2026-09-19T15:55:30.459Z","priority":"6","pid":"2830187","message":"checking if getpeername can be linked... yes"}

data: {"time":"2026-09-19T15:55:30.501Z","priority":"6","pid":"2830187","message":"checking if getpeername is prototyped... yes"}

data: {"time":"2026-09-19T15:55:30.556Z","priority":"6","pid":"2830187","message":"checking if getpeername is compilable... yes"}

data: {"time":"2026-09-19T15:55:30.560Z","priority":"6","pid":"2830187","message":"checking if getpeername usage allowed... yes"}

data: {"time":"2026-09-19T15:55:30.561Z","priority":"6","pid":"2830187","message":"checking if getpeername might be used... yes"}

data: {"time":"2026-09-19T15:55:30.880Z","priority":"6","pid":"2830187","message":"checking if getsockname can be linked... yes"}

data: {"time":"2026-09-19T15:55:30.918Z","priority":"6","pid":"2830187","message":"checking if getsockname is prototyped... yes"}

data: {"time":"2026-09-19T15:55:30.973Z","priority":"6","pid":"2830187","message":"checking if getsockname is compilable... yes"}

data: {"time":"2026-09-19T15:55:30.977Z","priority":"6","pid":"2830187","message":"checking if getsockname usage allowed... yes"}

data: {"time":"2026-09-19T15:55:30.977Z","priority":"6","pid":"2830187","message":"checking if getsockname might be used... yes"}

data: {"time":"2026-09-19T15:55:30.978Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:31.286Z","priority":"6","pid":"2830187","message":"checking if gmtime_r can be linked... yes"}

data: {"time":"2026-09-19T15:55:31.331Z","priority":"6","pid":"2830187","message":"checking if gmtime_r is prototyped... yes"}

data: {"time":"2026-09-19T15:55:31.381Z","priority":"6","pid":"2830187","message":"checking if gmtime_r is compilable... yes"}

data: {"time":"2026-09-19T15:55:31.761Z","priority":"6","pid":"2830187","message":"checking if gmtime_r seems to work... yes"}

data: {"time":"2026-09-19T15:55:31.764Z","priority":"6","pid":"2830187","message":"checking if gmtime_r usage allowed... yes"}

data: {"time":"2026-09-19T15:55:31.765Z","priority":"6","pid":"2830187","message":"checking if gmtime_r might be used... yes"}

data: {"time":"2026-09-19T15:55:31.766Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:31.767Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:31.767Z","priority":"6","pid":"2830187","message":"checking for sys/ioctl.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:31.839Z","priority":"6","pid":"2830187","message":"checking for stropts.h... no"}

data: {"time":"2026-09-19T15:55:32.151Z","priority":"6","pid":"2830187","message":"checking if ioctl can be linked... yes"}

data: {"time":"2026-09-19T15:55:32.202Z","priority":"6","pid":"2830187","message":"checking if ioctl is prototyped... yes"}

data: {"time":"2026-09-19T15:55:32.275Z","priority":"6","pid":"2830187","message":"checking if ioctl is compilable... yes"}

data: {"time":"2026-09-19T15:55:32.279Z","priority":"6","pid":"2830187","message":"checking if ioctl usage allowed... yes"}

data: {"time":"2026-09-19T15:55:32.280Z","priority":"6","pid":"2830187","message":"checking if ioctl might be used... yes"}

data: {"time":"2026-09-19T15:55:32.349Z","priority":"6","pid":"2830187","message":"checking if ioctl FIONBIO is compilable... yes"}

data: {"time":"2026-09-19T15:55:32.354Z","priority":"6","pid":"2830187","message":"checking if ioctl FIONBIO usage allowed... yes"}

data: {"time":"2026-09-19T15:55:32.355Z","priority":"6","pid":"2830187","message":"checking if ioctl FIONBIO might be used... yes"}

data: {"time":"2026-09-19T15:55:32.423Z","priority":"6","pid":"2830187","message":"checking if ioctl SIOCGIFADDR is compilable... yes"}

data: {"time":"2026-09-19T15:55:32.427Z","priority":"6","pid":"2830187","message":"checking if ioctl SIOCGIFADDR usage allowed... yes"}

data: {"time":"2026-09-19T15:55:32.428Z","priority":"6","pid":"2830187","message":"checking if ioctl SIOCGIFADDR might be used... yes"}

data: {"time":"2026-09-19T15:55:32.489Z","priority":"6","pid":"2830187","message":"checking if ioctlsocket can be linked... no"}

data: {"time":"2026-09-19T15:55:32.494Z","priority":"6","pid":"2830187","message":"checking if ioctlsocket might be used... no"}

data: {"time":"2026-09-19T15:55:32.549Z","priority":"6","pid":"2830187","message":"checking if IoctlSocket can be linked... no"}

data: {"time":"2026-09-19T15:55:32.553Z","priority":"6","pid":"2830187","message":"checking if IoctlSocket might be used... no"}

data: {"time":"2026-09-19T15:55:32.857Z","priority":"6","pid":"2830187","message":"checking if localtime_r can be linked... yes"}

data: {"time":"2026-09-19T15:55:32.894Z","priority":"6","pid":"2830187","message":"checking if localtime_r is prototyped... yes"}

data: {"time":"2026-09-19T15:55:32.948Z","priority":"6","pid":"2830187","message":"checking if localtime_r is compilable... yes"}

data: {"time":"2026-09-19T15:55:33.274Z","priority":"6","pid":"2830187","message":"checking if localtime_r seems to work... yes"}

data: {"time":"2026-09-19T15:55:33.277Z","priority":"6","pid":"2830187","message":"checking if localtime_r usage allowed... yes"}

data: {"time":"2026-09-19T15:55:33.278Z","priority":"6","pid":"2830187","message":"checking if localtime_r might be used... yes"}

data: {"time":"2026-09-19T15:55:33.563Z","priority":"6","pid":"2830187","message":"checking if memrchr can be linked... yes"}

data: {"time":"2026-09-19T15:55:33.608Z","priority":"6","pid":"2830187","message":"checking if memrchr is prototyped... yes"}

data: {"time":"2026-09-19T15:55:33.662Z","priority":"6","pid":"2830187","message":"checking if memrchr is compilable... yes"}

data: {"time":"2026-09-19T15:55:33.665Z","priority":"6","pid":"2830187","message":"checking if memrchr usage allowed... yes"}

data: {"time":"2026-09-19T15:55:33.668Z","priority":"6","pid":"2830187","message":"checking if memrchr might be used... yes"}

data: {"time":"2026-09-19T15:55:33.669Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:33.979Z","priority":"6","pid":"2830187","message":"checking if sigaction can be linked... yes"}

data: {"time":"2026-09-19T15:55:34.026Z","priority":"6","pid":"2830187","message":"checking if sigaction is prototyped... yes"}

data: {"time":"2026-09-19T15:55:34.096Z","priority":"6","pid":"2830187","message":"checking if sigaction is compilable... yes"}

data: {"time":"2026-09-19T15:55:34.100Z","priority":"6","pid":"2830187","message":"checking if sigaction usage allowed... yes"}

data: {"time":"2026-09-19T15:55:34.101Z","priority":"6","pid":"2830187","message":"checking if sigaction might be used... yes"}

data: {"time":"2026-09-19T15:55:34.413Z","priority":"6","pid":"2830187","message":"checking if siginterrupt can be linked... yes"}

data: {"time":"2026-09-19T15:55:34.458Z","priority":"6","pid":"2830187","message":"checking if siginterrupt is prototyped... yes"}

data: {"time":"2026-09-19T15:55:34.530Z","priority":"6","pid":"2830187","message":"checking if siginterrupt is compilable... yes"}

data: {"time":"2026-09-19T15:55:34.534Z","priority":"6","pid":"2830187","message":"checking if siginterrupt usage allowed... yes"}

data: {"time":"2026-09-19T15:55:34.535Z","priority":"6","pid":"2830187","message":"checking if siginterrupt might be used... yes"}

data: {"time":"2026-09-19T15:55:34.845Z","priority":"6","pid":"2830187","message":"checking if signal can be linked... yes"}

data: {"time":"2026-09-19T15:55:34.891Z","priority":"6","pid":"2830187","message":"checking if signal is prototyped... yes"}

data: {"time":"2026-09-19T15:55:34.957Z","priority":"6","pid":"2830187","message":"checking if signal is compilable... yes"}

data: {"time":"2026-09-19T15:55:34.960Z","priority":"6","pid":"2830187","message":"checking if signal usage allowed... yes"}

data: {"time":"2026-09-19T15:55:34.961Z","priority":"6","pid":"2830187","message":"checking if signal might be used... yes"}

data: {"time":"2026-09-19T15:55:34.962Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T15:55:35.281Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp can be linked... no"}

data: {"time":"2026-09-19T15:55:35.590Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp seems a macro... yes"}

data: {"time":"2026-09-19T15:55:35.640Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp is compilable... yes"}

data: {"time":"2026-09-19T15:55:35.644Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp usage allowed... yes"}

data: {"time":"2026-09-19T15:55:35.646Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp might be used... yes"}

data: {"time":"2026-09-19T15:55:35.955Z","priority":"6","pid":"2830187","message":"checking if socket can be linked... yes"}

data: {"time":"2026-09-19T15:55:35.994Z","priority":"6","pid":"2830187","message":"checking if socket is prototyped... yes"}

data: {"time":"2026-09-19T15:55:36.047Z","priority":"6","pid":"2830187","message":"checking if socket is compilable... yes"}

data: {"time":"2026-09-19T15:55:36.051Z","priority":"6","pid":"2830187","message":"checking if socket usage allowed... yes"}

data: {"time":"2026-09-19T15:55:36.052Z","priority":"6","pid":"2830187","message":"checking if socket might be used... yes"}

data: {"time":"2026-09-19T15:55:36.349Z","priority":"6","pid":"2830187","message":"checking if socketpair can be linked... yes"}

data: {"time":"2026-09-19T15:55:36.389Z","priority":"6","pid":"2830187","message":"checking if socketpair is prototyped... yes"}

data: {"time":"2026-09-19T15:55:36.439Z","priority":"6","pid":"2830187","message":"checking if socketpair is compilable... yes"}

data: {"time":"2026-09-19T15:55:36.442Z","priority":"6","pid":"2830187","message":"checking if socketpair usage allowed... yes"}

data: {"time":"2026-09-19T15:55:36.443Z","priority":"6","pid":"2830187","message":"checking if socketpair might be used... yes"}

data: {"time":"2026-09-19T15:55:36.729Z","priority":"6","pid":"2830187","message":"checking if strerror_r can be linked... yes"}

data: {"time":"2026-09-19T15:55:36.768Z","priority":"6","pid":"2830187","message":"checking if strerror_r is prototyped... yes"}

data: {"time":"2026-09-19T15:55:36.822Z","priority":"6","pid":"2830187","message":"checking if strerror_r is compilable... yes"}

data: {"time":"2026-09-19T15:55:36.876Z","priority":"6","pid":"2830187","message":"checking if strerror_r is glibc like... yes"}

data: {"time":"2026-09-19T15:55:37.198Z","priority":"6","pid":"2830187","message":"checking if strerror_r seems to work... yes"}

data: {"time":"2026-09-19T15:55:37.204Z","priority":"6","pid":"2830187","message":"checking if strerror_r usage allowed... yes"}

data: {"time":"2026-09-19T15:55:37.205Z","priority":"6","pid":"2830187","message":"checking if strerror_r might be used... yes"}

data: {"time":"2026-09-19T15:55:37.501Z","priority":"6","pid":"2830187","message":"checking for accept4... yes"}

data: {"time":"2026-09-19T15:55:37.796Z","priority":"6","pid":"2830187","message":"checking for eventfd... yes"}

data: {"time":"2026-09-19T15:55:38.103Z","priority":"6","pid":"2830187","message":"checking for fnmatch... yes"}

data: {"time":"2026-09-19T15:55:38.394Z","priority":"6","pid":"2830187","message":"checking for geteuid... yes"}

data: {"time":"2026-09-19T15:55:38.697Z","priority":"6","pid":"2830187","message":"checking for getpass_r... no"}

data: {"time":"2026-09-19T15:55:38.993Z","priority":"6","pid":"2830187","message":"checking for getppid... yes"}

data: {"time":"2026-09-19T15:55:39.288Z","priority":"6","pid":"2830187","message":"checking for getpwuid... yes"}

data: {"time":"2026-09-19T15:55:39.619Z","priority":"6","pid":"2830187","message":"checking for getpwuid_r... yes"}

data: {"time":"2026-09-19T15:55:39.940Z","priority":"6","pid":"2830187","message":"checking for getrlimit... yes"}

data: {"time":"2026-09-19T15:55:40.274Z","priority":"6","pid":"2830187","message":"checking for mach_absolute_time... no"}

data: {"time":"2026-09-19T15:55:40.569Z","priority":"6","pid":"2830187","message":"checking for pipe... yes"}

data: {"time":"2026-09-19T15:55:40.897Z","priority":"6","pid":"2830187","message":"checking for poll... yes"}

data: {"time":"2026-09-19T15:55:41.204Z","priority":"6","pid":"2830187","message":"checking for sendmmsg... yes"}

data: {"time":"2026-09-19T15:55:41.532Z","priority":"6","pid":"2830187","message":"checking for sendmsg... yes"}

data: {"time":"2026-09-19T15:55:41.833Z","priority":"6","pid":"2830187","message":"checking for setlocale... yes"}

data: {"time":"2026-09-19T15:55:42.151Z","priority":"6","pid":"2830187","message":"checking for setrlimit... yes"}

data: {"time":"2026-09-19T15:55:42.493Z","priority":"6","pid":"2830187","message":"checking for utime... yes"}

data: {"time":"2026-09-19T15:55:42.829Z","priority":"6","pid":"2830187","message":"checking for utimes... yes"}

data: {"time":"2026-09-19T15:55:43.152Z","priority":"6","pid":"2830187","message":"checking for pipe2... yes"}

data: {"time":"2026-09-19T15:55:43.463Z","priority":"6","pid":"2830187","message":"checking for gettimeofday... yes"}

data: {"time":"2026-09-19T15:55:43.779Z","priority":"6","pid":"2830187","message":"checking for if_nametoindex... yes"}

data: {"time":"2026-09-19T15:55:44.104Z","priority":"6","pid":"2830187","message":"checking for realpath... yes"}

data: {"time":"2026-09-19T15:55:44.442Z","priority":"6","pid":"2830187","message":"checking for sched_yield... yes"}

data: {"time":"2026-09-19T15:55:44.780Z","priority":"6","pid":"2830187","message":"checking if strcasecmp can be linked... yes"}

data: {"time":"2026-09-19T15:55:44.823Z","priority":"6","pid":"2830187","message":"checking if strcasecmp is prototyped... yes"}

data: {"time":"2026-09-19T15:55:44.876Z","priority":"6","pid":"2830187","message":"checking if strcasecmp is compilable... yes"}

data: {"time":"2026-09-19T15:55:44.880Z","priority":"6","pid":"2830187","message":"checking if strcasecmp usage allowed... yes"}

data: {"time":"2026-09-19T15:55:44.881Z","priority":"6","pid":"2830187","message":"checking if strcasecmp might be used... yes"}

data: {"time":"2026-09-19T15:55:45.201Z","priority":"6","pid":"2830187","message":"checking if strcmpi can be linked... no"}

data: {"time":"2026-09-19T15:55:45.204Z","priority":"6","pid":"2830187","message":"checking if strcmpi might be used... no"}

data: {"time":"2026-09-19T15:55:45.525Z","priority":"6","pid":"2830187","message":"checking if stricmp can be linked... no"}

data: {"time":"2026-09-19T15:55:45.532Z","priority":"6","pid":"2830187","message":"checking if stricmp might be used... no"}

data: {"time":"2026-09-19T15:55:45.840Z","priority":"6","pid":"2830187","message":"checking if memset_s can be linked... no"}

data: {"time":"2026-09-19T15:55:45.845Z","priority":"6","pid":"2830187","message":"checking if memset_s might be used... no"}

data: {"time":"2026-09-19T15:55:46.163Z","priority":"6","pid":"2830187","message":"checking for memset_explicit... yes"}

data: {"time":"2026-09-19T15:55:46.480Z","priority":"6","pid":"2830187","message":"checking for fseeko... yes"}

data: {"time":"2026-09-19T15:55:46.598Z","priority":"6","pid":"2830187","message":"checking for gcc options to detect undeclared functions... none needed"}

data: {"time":"2026-09-19T15:55:46.707Z","priority":"6","pid":"2830187","message":"checking for gcc options to ignore future-version functions... none needed"}

data: {"time":"2026-09-19T15:55:46.775Z","priority":"6","pid":"2830187","message":"checking whether fseeko is declared... yes"}

data: {"time":"2026-09-19T15:55:46.778Z","priority":"6","pid":"2830187","message":"checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK"}

data: {"time":"2026-09-19T15:55:46.782Z","priority":"6","pid":"2830187","message":"checking whether to enable the threaded resolver... yes"}

data: {"time":"2026-09-19T15:55:46.883Z","priority":"6","pid":"2830187","message":"checking for pthread.h... yes"}

data: {"time":"2026-09-19T15:55:47.070Z","priority":"6","pid":"2830187","message":"checking for pthread_create... yes"}

data: {"time":"2026-09-19T15:55:47.170Z","priority":"6","pid":"2830187","message":"checking for dirent.h... yes"}

data: {"time":"2026-09-19T15:55:47.493Z","priority":"6","pid":"2830187","message":"checking for opendir... yes"}

data: {"time":"2026-09-19T15:55:47.496Z","priority":"6","pid":"2830187","message":"checking convert -I options to -isystem... yes"}

data: {"time":"2026-09-19T15:55:47.497Z","priority":"6","pid":"2830187","message":"checking whether to enable curl_easy_setopt()/curl_easy_getinfo() type checking... yes"}

data: {"time":"2026-09-19T15:55:47.498Z","priority":"6","pid":"2830187","message":"checking whether to enable verbose strings... yes"}

data: {"time":"2026-09-19T15:55:47.499Z","priority":"6","pid":"2830187","message":"checking whether to enable SSPI support (Windows native builds only)... no"}

data: {"time":"2026-09-19T15:55:47.501Z","priority":"6","pid":"2830187","message":"checking whether to enable basic authentication method... yes"}

data: {"time":"2026-09-19T15:55:47.502Z","priority":"6","pid":"2830187","message":"checking whether to enable bearer authentication method... yes"}

data: {"time":"2026-09-19T15:55:47.503Z","priority":"6","pid":"2830187","message":"checking whether to enable digest authentication method... yes"}

data: {"time":"2026-09-19T15:55:47.503Z","priority":"6","pid":"2830187","message":"checking whether to enable kerberos authentication method... yes"}

data: {"time":"2026-09-19T15:55:47.504Z","priority":"6","pid":"2830187","message":"checking whether to enable negotiate authentication method... yes"}

data: {"time":"2026-09-19T15:55:47.505Z","priority":"6","pid":"2830187","message":"checking whether to enable aws-sigv4 methods... yes"}

data: {"time":"2026-09-19T15:55:47.506Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTP Message Signatures (RFC 9421)... no"}

data: {"time":"2026-09-19T15:55:47.507Z","priority":"6","pid":"2830187","message":"checking whether to support NTLM... no"}

data: {"time":"2026-09-19T15:55:47.508Z","priority":"6","pid":"2830187","message":"checking whether to enable Unix domain sockets... auto"}

data: {"time":"2026-09-19T15:55:47.564Z","priority":"6","pid":"2830187","message":"checking for struct sockaddr_un.sun_path... yes"}

data: {"time":"2026-09-19T15:55:47.565Z","priority":"6","pid":"2830187","message":"checking whether to support cookies... yes"}

data: {"time":"2026-09-19T15:55:47.566Z","priority":"6","pid":"2830187","message":"checking whether to support socketpair... yes"}

data: {"time":"2026-09-19T15:55:47.567Z","priority":"6","pid":"2830187","message":"checking whether to support HTTP authentication... yes"}

data: {"time":"2026-09-19T15:55:47.568Z","priority":"6","pid":"2830187","message":"checking whether to support DoH... yes"}

data: {"time":"2026-09-19T15:55:47.568Z","priority":"6","pid":"2830187","message":"checking whether to support the MIME API... yes"}

data: {"time":"2026-09-19T15:55:47.569Z","priority":"6","pid":"2830187","message":"checking whether to support binding connections locally... yes"}

data: {"time":"2026-09-19T15:55:47.570Z","priority":"6","pid":"2830187","message":"checking whether to support the form API... yes"}

data: {"time":"2026-09-19T15:55:47.570Z","priority":"6","pid":"2830187","message":"checking whether to support date parsing... yes"}

data: {"time":"2026-09-19T15:55:47.571Z","priority":"6","pid":"2830187","message":"checking whether to support netrc parsing... yes"}

data: {"time":"2026-09-19T15:55:47.572Z","priority":"6","pid":"2830187","message":"checking whether to support progress-meter... yes"}

data: {"time":"2026-09-19T15:55:47.572Z","priority":"6","pid":"2830187","message":"checking whether to support the SHA-512/256 hash algorithm... yes"}

data: {"time":"2026-09-19T15:55:47.573Z","priority":"6","pid":"2830187","message":"checking whether to support DNS shuffling... yes"}

data: {"time":"2026-09-19T15:55:47.574Z","priority":"6","pid":"2830187","message":"checking whether to support curl_easy_option*... yes"}

data: {"time":"2026-09-19T15:55:47.574Z","priority":"6","pid":"2830187","message":"checking whether to support alt-svc... yes"}

data: {"time":"2026-09-19T15:55:47.575Z","priority":"6","pid":"2830187","message":"checking whether to support headers-api... yes"}

data: {"time":"2026-09-19T15:55:47.576Z","priority":"6","pid":"2830187","message":"checking whether to support HSTS... yes"}

data: {"time":"2026-09-19T15:55:47.577Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTPS-RR support... no"}

data: {"time":"2026-09-19T15:55:48.001Z","priority":"6","pid":"2830187","message":"checking for SSL_set0_wbio... yes"}

data: {"time":"2026-09-19T15:55:48.003Z","priority":"6","pid":"2830187","message":"checking whether to support WebSockets... yes"}

data: {"time":"2026-09-19T15:55:48.004Z","priority":"6","pid":"2830187","message":"checking whether hiding of library internal symbols does actually happen... yes"}

data: {"time":"2026-09-19T15:55:48.016Z","priority":"6","pid":"2830187","message":"checking if this build supports HTTPS-proxy... yes"}

data: {"time":"2026-09-19T15:55:48.190Z","priority":"6","pid":"2830187","message":"checking that generated files are newer than configure... done"}

data: {"time":"2026-09-19T15:55:48.192Z","priority":"6","pid":"2830187","message":"configure: creating ./config.status"}

data: {"time":"2026-09-19T15:55:49.608Z","priority":"6","pid":"2830187","message":"config.status: creating Makefile"}

data: {"time":"2026-09-19T15:55:49.659Z","priority":"6","pid":"2830187","message":"config.status: creating docs/Makefile"}

data: {"time":"2026-09-19T15:55:49.701Z","priority":"6","pid":"2830187","message":"config.status: creating docs/examples/Makefile"}

data: {"time":"2026-09-19T15:55:49.756Z","priority":"6","pid":"2830187","message":"config.status: creating docs/libcurl/Makefile"}

data: {"time":"2026-09-19T15:55:49.796Z","priority":"6","pid":"2830187","message":"config.status: creating docs/libcurl/opts/Makefile"}

data: {"time":"2026-09-19T15:55:49.841Z","priority":"6","pid":"2830187","message":"config.status: creating docs/cmdline-opts/Makefile"}

data: {"time":"2026-09-19T15:55:49.889Z","priority":"6","pid":"2830187","message":"config.status: creating include/Makefile"}

data: {"time":"2026-09-19T15:55:49.931Z","priority":"6","pid":"2830187","message":"config.status: creating include/curl/Makefile"}

data: {"time":"2026-09-19T15:55:49.987Z","priority":"6","pid":"2830187","message":"config.status: creating src/Makefile"}

data: {"time":"2026-09-19T15:55:50.044Z","priority":"6","pid":"2830187","message":"config.status: creating lib/Makefile"}

data: {"time":"2026-09-19T15:55:50.119Z","priority":"6","pid":"2830187","message":"config.status: creating scripts/Makefile"}

data: {"time":"2026-09-19T15:55:50.157Z","priority":"6","pid":"2830187","message":"config.status: creating lib/libcurl.vers"}

data: {"time":"2026-09-19T15:55:50.203Z","priority":"6","pid":"2830187","message":"config.status: creating tests/Makefile"}

data: {"time":"2026-09-19T15:55:50.241Z","priority":"6","pid":"2830187","message":"config.status: creating tests/config"}

data: {"time":"2026-09-19T15:55:50.273Z","priority":"6","pid":"2830187","message":"config.status: creating tests/configurehelp.pm"}

data: {"time":"2026-09-19T15:55:50.310Z","priority":"6","pid":"2830187","message":"config.status: creating tests/certs/Makefile"}

data: {"time":"2026-09-19T15:55:50.349Z","priority":"6","pid":"2830187","message":"config.status: creating tests/data/Makefile"}

data: {"time":"2026-09-19T15:55:50.391Z","priority":"6","pid":"2830187","message":"config.status: creating tests/http/config.ini"}

data: {"time":"2026-09-19T15:55:50.430Z","priority":"6","pid":"2830187","message":"config.status: creating tests/http/Makefile"}

data: {"time":"2026-09-19T15:55:50.471Z","priority":"6","pid":"2830187","message":"config.status: creating tests/libtest/Makefile"}

data: {"time":"2026-09-19T15:55:50.512Z","priority":"6","pid":"2830187","message":"config.status: creating tests/perf/Makefile"}

data: {"time":"2026-09-19T15:55:50.553Z","priority":"6","pid":"2830187","message":"config.status: creating tests/server/Makefile"}

data: {"time":"2026-09-19T15:55:50.597Z","priority":"6","pid":"2830187","message":"config.status: creating tests/tunit/Makefile"}

data: {"time":"2026-09-19T15:55:50.640Z","priority":"6","pid":"2830187","message":"config.status: creating tests/unit/Makefile"}

data: {"time":"2026-09-19T15:55:50.684Z","priority":"6","pid":"2830187","message":"config.status: creating projects/Makefile"}

data: {"time":"2026-09-19T15:55:50.732Z","priority":"6","pid":"2830187","message":"config.status: creating projects/vms/Makefile"}

data: {"time":"2026-09-19T15:55:50.774Z","priority":"6","pid":"2830187","message":"config.status: creating curl-config"}

data: {"time":"2026-09-19T15:55:50.808Z","priority":"6","pid":"2830187","message":"config.status: creating libcurl.pc"}

data: {"time":"2026-09-19T15:55:50.844Z","priority":"6","pid":"2830187","message":"config.status: creating lib/curl_config.h"}

data: {"time":"2026-09-19T15:55:50.881Z","priority":"6","pid":"2830187","message":"config.status: executing depfiles commands"}

data: {"time":"2026-09-19T15:55:53.856Z","priority":"6","pid":"2830187","message":"config.status: executing libtool commands"}

data: {"time":"2026-09-19T15:55:53.886Z","priority":"6","pid":"2830187","message":"configure: Configured to build curl/libcurl:"}

data: {"time":"2026-09-19T15:55:53.886Z","priority":"6","pid":"2830187","message":"  Host setup:       x86_64-pc-linux-gnu"}

data: {"time":"2026-09-19T15:55:53.886Z","priority":"6","pid":"2830187","message":"  Install prefix:   /usr"}

data: {"time":"2026-09-19T15:55:53.886Z","priority":"6","pid":"2830187","message":"  Compiler:         gcc"}

data: {"time":"2026-09-19T15:55:53.888Z","priority":"6","pid":"2830187","message":"   CFLAGS:          -march=x86-64 -mtune=generic -O2 -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 -g -ffile-prefix-map=/build/curl/src=/usr/src/debug/curl -flto=auto -Werror-implicit-function-declaration -Wno-system-headers"}

data: {"time":"2026-09-19T15:55:53.888Z","priority":"6","pid":"2830187","message":"   CFLAGS extras:"}

data: {"time":"2026-09-19T15:55:53.889Z","priority":"6","pid":"2830187","message":"   CPPFLAGS:        -D_GNU_SOURCE"}

data: {"time":"2026-09-19T15:55:53.889Z","priority":"6","pid":"2830187","message":"   LDFLAGS:         -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto"}

data: {"time":"2026-09-19T15:55:53.890Z","priority":"6","pid":"2830187","message":"     curl-config:"}

data: {"time":"2026-09-19T15:55:53.891Z","priority":"6","pid":"2830187","message":"   LIBS:            -lnghttp3 -lngtcp2_crypto_ossl -lngtcp2 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz"}

data: {"time":"2026-09-19T15:55:53.892Z","priority":"6","pid":"2830187","message":"  curl version:     8.22.0"}

data: {"time":"2026-09-19T15:55:53.892Z","priority":"6","pid":"2830187","message":"  SSL:              enabled (OpenSSL)"}

data: {"time":"2026-09-19T15:55:53.892Z","priority":"6","pid":"2830187","message":"  SSH:              enabled (libssh2)"}

data: {"time":"2026-09-19T15:55:53.892Z","priority":"6","pid":"2830187","message":"  zlib:             enabled"}

data: {"time":"2026-09-19T15:55:53.892Z","priority":"6","pid":"2830187","message":"  brotli:           enabled (libbrotlidec)"}

data: {"time":"2026-09-19T15:55:53.892Z","priority":"6","pid":"2830187","message":"  zstd:             enabled (libzstd)"}

data: {"time":"2026-09-19T15:55:53.893Z","priority":"6","pid":"2830187","message":"  GSS-API:          enabled (MIT Kerberos)"}

data: {"time":"2026-09-19T15:55:53.893Z","priority":"6","pid":"2830187","message":"  GSASL:            no       (--with-gsasl)"}

data: {"time":"2026-09-19T15:55:53.893Z","priority":"6","pid":"2830187","message":"  resolver:         POSIX threaded"}

data: {"time":"2026-09-19T15:55:53.894Z","priority":"6","pid":"2830187","message":"  IPv6:             enabled"}

data: {"time":"2026-09-19T15:55:53.894Z","priority":"6","pid":"2830187","message":"  Unix sockets:     enabled"}

data: {"time":"2026-09-19T15:55:53.894Z","priority":"6","pid":"2830187","message":"  IDN:              enabled (libidn2)"}

data: {"time":"2026-09-19T15:55:53.895Z","priority":"6","pid":"2830187","message":"  Build docs:       enabled  (--disable-docs)"}

data: {"time":"2026-09-19T15:55:53.895Z","priority":"6","pid":"2830187","message":"  Build libcurl:    Shared=yes, Static=yes"}

data: {"time":"2026-09-19T15:55:53.895Z","priority":"6","pid":"2830187","message":"  Built-in manual:  no       (--enable-manual)"}

data: {"time":"2026-09-19T15:55:53.896Z","priority":"6","pid":"2830187","message":"  --libcurl option: enabled  (--disable-libcurl-option)"}

data: {"time":"2026-09-19T15:55:53.896Z","priority":"6","pid":"2830187","message":"  Type checking:    enabled  (--disable-typecheck)"}

data: {"time":"2026-09-19T15:55:53.897Z","priority":"6","pid":"2830187","message":"  Verbose errors:   enabled  (--disable-verbose)"}

data: {"time":"2026-09-19T15:55:53.897Z","priority":"6","pid":"2830187","message":"  Code coverage:    disabled"}

data: {"time":"2026-09-19T15:55:53.897Z","priority":"6","pid":"2830187","message":"  SSPI:             no       (--enable-sspi)"}

data: {"time":"2026-09-19T15:55:53.897Z","priority":"6","pid":"2830187","message":"  CA native:        no"}

data: {"time":"2026-09-19T15:55:53.898Z","priority":"6","pid":"2830187","message":"  CA cert bundle:   /etc/ssl/certs/ca-certificates.crt"}

data: {"time":"2026-09-19T15:55:53.898Z","priority":"6","pid":"2830187","message":"  CA cert path:     no"}

data: {"time":"2026-09-19T15:55:53.898Z","priority":"6","pid":"2830187","message":"  CA cert embed:    no"}

data: {"time":"2026-09-19T15:55:53.899Z","priority":"6","pid":"2830187","message":"  CA fallback:      no"}

data: {"time":"2026-09-19T15:55:53.899Z","priority":"6","pid":"2830187","message":"  LDAP:             no       (--enable-ldap / --with-ldap-lib / --with-lber-lib)"}

data: {"time":"2026-09-19T15:55:53.899Z","priority":"6","pid":"2830187","message":"  LDAPS:            no       (--enable-ldaps)"}

data: {"time":"2026-09-19T15:55:53.900Z","priority":"6","pid":"2830187","message":"  IPFS/IPNS:        enabled"}

data: {"time":"2026-09-19T15:55:53.900Z","priority":"6","pid":"2830187","message":"  RTSP:             enabled"}

data: {"time":"2026-09-19T15:55:53.900Z","priority":"6","pid":"2830187","message":"  PSL:              enabled"}

data: {"time":"2026-09-19T15:55:53.901Z","priority":"6","pid":"2830187","message":"  Alt-svc:          enabled  (--disable-alt-svc)"}

data: {"time":"2026-09-19T15:55:53.901Z","priority":"6","pid":"2830187","message":"  Headers API:      enabled  (--disable-headers-api)"}

data: {"time":"2026-09-19T15:55:53.901Z","priority":"6","pid":"2830187","message":"  HSTS:             enabled  (--disable-hsts)"}

data: {"time":"2026-09-19T15:55:53.902Z","priority":"6","pid":"2830187","message":"  HTTP1:            enabled  (internal)"}

data: {"time":"2026-09-19T15:55:53.902Z","priority":"6","pid":"2830187","message":"  HTTP2:            enabled (nghttp2)"}

data: {"time":"2026-09-19T15:55:53.903Z","priority":"6","pid":"2830187","message":"  HTTP3:            enabled (ngtcp2 + nghttp3)"}

data: {"time":"2026-09-19T15:55:53.903Z","priority":"6","pid":"2830187","message":"  proxy-HTTP3:      no      (--enable-proxy-http3)"}

data: {"time":"2026-09-19T15:55:53.903Z","priority":"6","pid":"2830187","message":"  ECH:              no      (--enable-ech)"}

data: {"time":"2026-09-19T15:55:53.903Z","priority":"6","pid":"2830187","message":"  HTTPS RR:         no      (--enable-httpsrr)"}

data: {"time":"2026-09-19T15:55:53.904Z","priority":"6","pid":"2830187","message":"  SSLS-EXPORT:      no      (--enable-ssls-export)"}

data: {"time":"2026-09-19T15:55:53.905Z","priority":"6","pid":"2830187","message":"  Protocols:        dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp ws wss"}

data: {"time":"2026-09-19T15:55:53.905Z","priority":"6","pid":"2830187","message":"  Features:         alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe UnixSockets zstd"}

data: {"time":"2026-09-19T15:55:54.097Z","priority":"6","pid":"2830187","message":"Making all in lib"}

data: {"time":"2026-09-19T15:55:54.126Z","priority":"6","pid":"2830187","message":"make[1]: Entering directory '/build/curl/src/build-curl/lib'"}

data: {"time":"2026-09-19T15:55:54.134Z","priority":"6","pid":"2830187","message":"make  all-am"}

data: {"time":"2026-09-19T15:55:54.153Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/lib'"}

data: {"time":"2026-09-19T15:55:54.157Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-altsvc.lo"}

data: {"time":"2026-09-19T15:55:54.870Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-amigaos.lo"}

data: {"time":"2026-09-19T15:55:55.220Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-api.lo"}

data: {"time":"2026-09-19T15:55:55.861Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-bufq.lo"}

data: {"time":"2026-09-19T15:55:56.314Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-bufref.lo"}

data: {"time":"2026-09-19T15:55:56.818Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-h1-proxy.lo"}

data: {"time":"2026-09-19T15:55:57.590Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-h2-proxy.lo"}

data: {"time":"2026-09-19T15:55:58.467Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-haproxy.lo"}

data: {"time":"2026-09-19T15:55:59.054Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-https-connect.lo"}

data: {"time":"2026-09-19T15:55:59.740Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-ip-happy.lo"}

data: {"time":"2026-09-19T15:56:00.514Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-recvbuf.lo"}

data: {"time":"2026-09-19T15:56:01.100Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-setup.lo"}

data: {"time":"2026-09-19T15:56:01.808Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-socket.lo"}

data: {"time":"2026-09-19T15:56:02.962Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cfilters.lo"}

data: {"time":"2026-09-19T15:56:03.828Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-conncache.lo"}

data: {"time":"2026-09-19T15:56:04.630Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-connect.lo"}

data: {"time":"2026-09-19T15:56:05.382Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-content_encoding.lo"}

data: {"time":"2026-09-19T15:56:06.248Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cookie.lo"}

data: {"time":"2026-09-19T15:56:07.302Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-creds.lo"}

data: {"time":"2026-09-19T15:56:07.904Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cshutdn.lo"}

data: {"time":"2026-09-19T15:56:08.663Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_addrinfo.lo"}

data: {"time":"2026-09-19T15:56:09.145Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_endian.lo"}

data: {"time":"2026-09-19T15:56:09.520Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_fnmatch.lo"}

data: {"time":"2026-09-19T15:56:09.921Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_fopen.lo"}

data: {"time":"2026-09-19T15:56:10.497Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_get_line.lo"}

data: {"time":"2026-09-19T15:56:10.902Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_gethostname.lo"}

data: {"time":"2026-09-19T15:56:11.315Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_gssapi.lo"}

data: {"time":"2026-09-19T15:56:11.882Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_memrchr.lo"}

data: {"time":"2026-09-19T15:56:12.243Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_ntlm_core.lo"}

data: {"time":"2026-09-19T15:56:12.585Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_range.lo"}

data: {"time":"2026-09-19T15:56:13.116Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_sasl.lo"}

data: {"time":"2026-09-19T15:56:13.805Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_sha512_256.lo"}

data: {"time":"2026-09-19T15:56:14.336Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_share.lo"}

data: {"time":"2026-09-19T15:56:14.943Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_sspi.lo"}

data: {"time":"2026-09-19T15:56:15.297Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_threads.lo"}

data: {"time":"2026-09-19T15:56:15.708Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_trc.lo"}

data: {"time":"2026-09-19T15:56:16.367Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cw-out.lo"}

data: {"time":"2026-09-19T15:56:17.011Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cw-pause.lo"}

data: {"time":"2026-09-19T15:56:17.585Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-dict.lo"}

data: {"time":"2026-09-19T15:56:18.179Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-dynhds.lo"}

data: {"time":"2026-09-19T15:56:18.648Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-easy.lo"}

data: {"time":"2026-09-19T15:56:19.466Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-easygetopt.lo"}

data: {"time":"2026-09-19T15:56:19.897Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-easyoptions.lo"}

data: {"time":"2026-09-19T15:56:20.302Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-escape.lo"}

data: {"time":"2026-09-19T15:56:20.891Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-fake_addrinfo.lo"}

data: {"time":"2026-09-19T15:56:21.298Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-file.lo"}

data: {"time":"2026-09-19T15:56:22.061Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-fileinfo.lo"}

data: {"time":"2026-09-19T15:56:22.413Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-formdata.lo"}

data: {"time":"2026-09-19T15:56:23.126Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ftp.lo"}

data: {"time":"2026-09-19T15:56:24.501Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ftplistparser.lo"}

data: {"time":"2026-09-19T15:56:25.206Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-getenv.lo"}

data: {"time":"2026-09-19T15:56:25.572Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-getinfo.lo"}

data: {"time":"2026-09-19T15:56:26.180Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-gopher.lo"}

data: {"time":"2026-09-19T15:56:26.766Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-hash.lo"}

data: {"time":"2026-09-19T15:56:27.186Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-headers.lo"}

data: {"time":"2026-09-19T15:56:27.791Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-hmac.lo"}

data: {"time":"2026-09-19T15:56:28.151Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-hsts.lo"}

data: {"time":"2026-09-19T15:56:28.769Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http.lo"}

data: {"time":"2026-09-19T15:56:30.224Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http1.lo"}

data: {"time":"2026-09-19T15:56:30.783Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http2.lo"}

data: {"time":"2026-09-19T15:56:32.080Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_aws_sigv4.lo"}

data: {"time":"2026-09-19T15:56:32.838Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_httpsig.lo"}

data: {"time":"2026-09-19T15:56:33.203Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_ed25519.lo"}

data: {"time":"2026-09-19T15:56:33.551Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_chunks.lo"}

data: {"time":"2026-09-19T15:56:34.163Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_digest.lo"}

data: {"time":"2026-09-19T15:56:34.759Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_negotiate.lo"}

data: {"time":"2026-09-19T15:56:35.358Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_ntlm.lo"}

data: {"time":"2026-09-19T15:56:35.755Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_proxy.lo"}

data: {"time":"2026-09-19T15:56:36.483Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-idn.lo"}

data: {"time":"2026-09-19T15:56:37.397Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-if2ip.lo"}

data: {"time":"2026-09-19T15:56:37.788Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-imap.lo"}

data: {"time":"2026-09-19T15:56:38.710Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ldap.lo"}

data: {"time":"2026-09-19T15:56:39.193Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-llist.lo"}

data: {"time":"2026-09-19T15:56:39.565Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-macos.lo"}

data: {"time":"2026-09-19T15:56:39.930Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-md4.lo"}

data: {"time":"2026-09-19T15:56:40.319Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-md5.lo"}

data: {"time":"2026-09-19T15:56:40.719Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-memdebug.lo"}

data: {"time":"2026-09-19T15:56:41.056Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-mime.lo"}

data: {"time":"2026-09-19T15:56:41.962Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-mprintf.lo"}

data: {"time":"2026-09-19T15:56:42.546Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-mqtt.lo"}

data: {"time":"2026-09-19T15:56:43.314Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-multi.lo"}

data: {"time":"2026-09-19T15:56:44.636Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-multi_ev.lo"}

data: {"time":"2026-09-19T15:56:45.371Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-multi_ntfy.lo"}

data: {"time":"2026-09-19T15:56:45.964Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-netrc.lo"}

data: {"time":"2026-09-19T15:56:46.651Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-openldap.lo"}

data: {"time":"2026-09-19T15:56:47.080Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-parsedate.lo"}

data: {"time":"2026-09-19T15:56:47.610Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-peer.lo"}

data: {"time":"2026-09-19T15:56:48.447Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-pingpong.lo"}

data: {"time":"2026-09-19T15:56:49.060Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-pop3.lo"}

data: {"time":"2026-09-19T15:56:49.910Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-progress.lo"}

data: {"time":"2026-09-19T15:56:50.619Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-protocol.lo"}

data: {"time":"2026-09-19T15:56:51.222Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-proxy.lo"}

data: {"time":"2026-09-19T15:56:51.888Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-psl.lo"}

data: {"time":"2026-09-19T15:56:52.434Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-rand.lo"}

data: {"time":"2026-09-19T15:56:52.977Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ratelimit.lo"}

data: {"time":"2026-09-19T15:56:53.474Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-request.lo"}

data: {"time":"2026-09-19T15:56:54.102Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-rtsp.lo"}

data: {"time":"2026-09-19T15:56:54.813Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-select.lo"}

data: {"time":"2026-09-19T15:56:55.513Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-sendf.lo"}

data: {"time":"2026-09-19T15:56:56.402Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-setopt.lo"}

data: {"time":"2026-09-19T15:56:57.282Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-sha256.lo"}

data: {"time":"2026-09-19T15:56:57.800Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-slist.lo"}

data: {"time":"2026-09-19T15:56:58.172Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-smb.lo"}

data: {"time":"2026-09-19T15:56:58.627Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-smtp.lo"}

data: {"time":"2026-09-19T15:56:59.458Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socketpair.lo"}

data: {"time":"2026-09-19T15:56:59.975Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socks.lo"}

data: {"time":"2026-09-19T15:57:00.996Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socks_gssapi.lo"}

data: {"time":"2026-09-19T15:57:01.809Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socks_sspi.lo"}

data: {"time":"2026-09-19T15:57:02.225Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-splay.lo"}

data: {"time":"2026-09-19T15:57:02.897Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-strcase.lo"}

data: {"time":"2026-09-19T15:57:03.314Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-strequal.lo"}

data: {"time":"2026-09-19T15:57:03.695Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-strerror.lo"}

data: {"time":"2026-09-19T15:57:04.076Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-system_win32.lo"}

data: {"time":"2026-09-19T15:57:04.430Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-telnet.lo"}

data: {"time":"2026-09-19T15:57:05.255Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-tftp.lo"}

data: {"time":"2026-09-19T15:57:06.025Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-thrdpool.lo"}

data: {"time":"2026-09-19T15:57:06.618Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-thrdqueue.lo"}

data: {"time":"2026-09-19T15:57:07.336Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-transfer.lo"}

data: {"time":"2026-09-19T15:57:08.077Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-bset.lo"}

data: {"time":"2026-09-19T15:57:08.467Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-hash.lo"}

data: {"time":"2026-09-19T15:57:08.854Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-hashset.lo"}

data: {"time":"2026-09-19T15:57:09.280Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-spbset.lo"}

data: {"time":"2026-09-19T15:57:09.709Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-table.lo"}

data: {"time":"2026-09-19T15:57:10.106Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-url.lo"}

data: {"time":"2026-09-19T15:57:11.188Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-urlapi.lo"}

data: {"time":"2026-09-19T15:57:12.171Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-version.lo"}

data: {"time":"2026-09-19T15:57:12.792Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ws.lo"}

data: {"time":"2026-09-19T15:57:13.722Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-cleartext.lo"}

data: {"time":"2026-09-19T15:57:14.228Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-cram.lo"}

data: {"time":"2026-09-19T15:57:14.746Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-digest.lo"}

data: {"time":"2026-09-19T15:57:15.480Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-digest_sspi.lo"}

data: {"time":"2026-09-19T15:57:15.871Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-gsasl.lo"}

data: {"time":"2026-09-19T15:57:16.201Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-krb5_gssapi.lo"}

data: {"time":"2026-09-19T15:57:16.784Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-krb5_sspi.lo"}

data: {"time":"2026-09-19T15:57:17.123Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-ntlm.lo"}

data: {"time":"2026-09-19T15:57:17.462Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-ntlm_sspi.lo"}

data: {"time":"2026-09-19T15:57:17.812Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-oauth2.lo"}

data: {"time":"2026-09-19T15:57:18.287Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-spnego_gssapi.lo"}

data: {"time":"2026-09-19T15:57:18.903Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-spnego_sspi.lo"}

data: {"time":"2026-09-19T15:57:19.294Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-vauth.lo"}

data: {"time":"2026-09-19T15:57:19.888Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-asyn-ares.lo"}

data: {"time":"2026-09-19T15:57:20.238Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-asyn-base.lo"}

data: {"time":"2026-09-19T15:57:20.834Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-asyn-thrdd.lo"}

data: {"time":"2026-09-19T15:57:21.514Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-cf-dns.lo"}

data: {"time":"2026-09-19T15:57:22.146Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-dnscache.lo"}

data: {"time":"2026-09-19T15:57:22.876Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-doh.lo"}

data: {"time":"2026-09-19T15:57:24.011Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-hostip.lo"}

data: {"time":"2026-09-19T15:57:24.730Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-hostip4.lo"}

data: {"time":"2026-09-19T15:57:25.076Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-hostip6.lo"}

data: {"time":"2026-09-19T15:57:25.572Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-httpsrr.lo"}

data: {"time":"2026-09-19T15:57:25.933Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-apple.lo"}

data: {"time":"2026-09-19T15:57:26.278Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-cipher_suite.lo"}

data: {"time":"2026-09-19T15:57:26.634Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-gtls.lo"}

data: {"time":"2026-09-19T15:57:26.973Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-hostcheck.lo"}

data: {"time":"2026-09-19T15:57:27.365Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-keylog.lo"}

data: {"time":"2026-09-19T15:57:27.785Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-mbedtls.lo"}

data: {"time":"2026-09-19T15:57:28.146Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-openssl.lo"}

data: {"time":"2026-09-19T15:57:29.922Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-rustls.lo"}

data: {"time":"2026-09-19T15:57:30.332Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-schannel.lo"}

data: {"time":"2026-09-19T15:57:30.703Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-schannel_verify.lo"}

data: {"time":"2026-09-19T15:57:31.059Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls.lo"}

data: {"time":"2026-09-19T15:57:32.299Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls_config.lo"}

data: {"time":"2026-09-19T15:57:32.951Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls_scache.lo"}

data: {"time":"2026-09-19T15:57:33.752Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls_spack.lo"}

data: {"time":"2026-09-19T15:57:34.091Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-wolfssl.lo"}

data: {"time":"2026-09-19T15:57:34.417Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-x509asn1.lo"}

data: {"time":"2026-09-19T15:57:34.771Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-capsule.lo"}

data: {"time":"2026-09-19T15:57:35.335Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-capsule.lo"}

data: {"time":"2026-09-19T15:57:35.939Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-ngtcp2.lo"}

data: {"time":"2026-09-19T15:57:37.179Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-ngtcp2-cmn.lo"}

data: {"time":"2026-09-19T15:57:38.458Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-ngtcp2-proxy.lo"}

data: {"time":"2026-09-19T15:57:38.791Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-quiche.lo"}

data: {"time":"2026-09-19T15:57:39.135Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-vquic.lo"}

data: {"time":"2026-09-19T15:57:40.245Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-vquic-tls.lo"}

data: {"time":"2026-09-19T15:57:41.192Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurl_la-libssh.lo"}

data: {"time":"2026-09-19T15:57:41.563Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurl_la-libssh2.lo"}

data: {"time":"2026-09-19T15:57:42.903Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurl_la-vssh.lo"}

data: {"time":"2026-09-19T15:57:43.536Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-base64.lo"}

data: {"time":"2026-09-19T15:57:44.041Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-basename.lo"}

data: {"time":"2026-09-19T15:57:44.393Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-dynbuf.lo"}

data: {"time":"2026-09-19T15:57:44.805Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-fopen.lo"}

data: {"time":"2026-09-19T15:57:45.400Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-inet_ntop.lo"}

data: {"time":"2026-09-19T15:57:45.778Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-inet_pton.lo"}

data: {"time":"2026-09-19T15:57:46.172Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-multibyte.lo"}

data: {"time":"2026-09-19T15:57:46.501Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-nonblock.lo"}

data: {"time":"2026-09-19T15:57:46.838Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-snprintf.lo"}

data: {"time":"2026-09-19T15:57:47.163Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strcopy.lo"}

data: {"time":"2026-09-19T15:57:47.508Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strdup.lo"}

data: {"time":"2026-09-19T15:57:47.861Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strerr.lo"}

data: {"time":"2026-09-19T15:57:48.213Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strparse.lo"}

data: {"time":"2026-09-19T15:57:48.623Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-timediff.lo"}

data: {"time":"2026-09-19T15:57:49.011Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-timeval.lo"}

data: {"time":"2026-09-19T15:57:49.385Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-version_win32.lo"}

data: {"time":"2026-09-19T15:57:49.764Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-wait.lo"}

data: {"time":"2026-09-19T15:57:50.194Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-warnless.lo"}

data: {"time":"2026-09-19T15:57:50.578Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-winapi.lo"}

data: {"time":"2026-09-19T15:57:50.917Z","priority":"6","pid":"2830187","message":"  CCLD     libcurl.la"}

data: {"time":"2026-09-19T15:58:53.958Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-altsvc.lo"}

data: {"time":"2026-09-19T15:58:54.607Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-amigaos.lo"}

data: {"time":"2026-09-19T15:58:54.978Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-api.lo"}

data: {"time":"2026-09-19T15:58:55.530Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-bufq.lo"}

data: {"time":"2026-09-19T15:58:56.003Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-bufref.lo"}

data: {"time":"2026-09-19T15:58:56.483Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-h1-proxy.lo"}

data: {"time":"2026-09-19T15:58:57.220Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-h2-proxy.lo"}

data: {"time":"2026-09-19T15:58:58.197Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-haproxy.lo"}

data: {"time":"2026-09-19T15:58:58.761Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-https-connect.lo"}

data: {"time":"2026-09-19T15:58:59.412Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-ip-happy.lo"}

data: {"time":"2026-09-19T15:59:00.076Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-recvbuf.lo"}

data: {"time":"2026-09-19T15:59:00.603Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-setup.lo"}

data: {"time":"2026-09-19T15:59:01.169Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-socket.lo"}

data: {"time":"2026-09-19T15:59:02.155Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cfilters.lo"}

data: {"time":"2026-09-19T15:59:02.950Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-conncache.lo"}

data: {"time":"2026-09-19T15:59:03.731Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-connect.lo"}

data: {"time":"2026-09-19T15:59:04.328Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-content_encoding.lo"}

data: {"time":"2026-09-19T15:59:04.972Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cookie.lo"}

data: {"time":"2026-09-19T15:59:05.758Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-creds.lo"}

data: {"time":"2026-09-19T15:59:06.290Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cshutdn.lo"}

data: {"time":"2026-09-19T15:59:06.903Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_addrinfo.lo"}

data: {"time":"2026-09-19T15:59:07.327Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_endian.lo"}

data: {"time":"2026-09-19T15:59:07.645Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_fnmatch.lo"}

data: {"time":"2026-09-19T15:59:07.971Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_fopen.lo"}

data: {"time":"2026-09-19T15:59:08.555Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_get_line.lo"}

data: {"time":"2026-09-19T15:59:08.878Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_gethostname.lo"}

data: {"time":"2026-09-19T15:59:09.195Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_gssapi.lo"}

data: {"time":"2026-09-19T15:59:09.760Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_memrchr.lo"}

data: {"time":"2026-09-19T15:59:10.124Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_ntlm_core.lo"}

data: {"time":"2026-09-19T15:59:10.466Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_range.lo"}

data: {"time":"2026-09-19T15:59:10.993Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_sasl.lo"}

data: {"time":"2026-09-19T15:59:11.730Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_sha512_256.lo"}

data: {"time":"2026-09-19T15:59:12.240Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_share.lo"}

data: {"time":"2026-09-19T15:59:12.834Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_sspi.lo"}

data: {"time":"2026-09-19T15:59:13.151Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_threads.lo"}

data: {"time":"2026-09-19T15:59:13.476Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_trc.lo"}

data: {"time":"2026-09-19T15:59:14.055Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cw-out.lo"}

data: {"time":"2026-09-19T15:59:14.600Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cw-pause.lo"}

data: {"time":"2026-09-19T15:59:15.132Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-dict.lo"}

data: {"time":"2026-09-19T15:59:15.636Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-dynhds.lo"}

data: {"time":"2026-09-19T15:59:16.049Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-easy.lo"}

data: {"time":"2026-09-19T15:59:16.735Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-easygetopt.lo"}

data: {"time":"2026-09-19T15:59:17.064Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-easyoptions.lo"}

data: {"time":"2026-09-19T15:59:17.371Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-escape.lo"}

data: {"time":"2026-09-19T15:59:17.864Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-fake_addrinfo.lo"}

data: {"time":"2026-09-19T15:59:18.180Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-file.lo"}

data: {"time":"2026-09-19T15:59:18.774Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-fileinfo.lo"}

data: {"time":"2026-09-19T15:59:19.111Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-formdata.lo"}

data: {"time":"2026-09-19T15:59:19.739Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ftp.lo"}

data: {"time":"2026-09-19T15:59:21.017Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ftplistparser.lo"}

data: {"time":"2026-09-19T15:59:21.638Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-getenv.lo"}

data: {"time":"2026-09-19T15:59:21.914Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-getinfo.lo"}

data: {"time":"2026-09-19T15:59:22.431Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-gopher.lo"}

data: {"time":"2026-09-19T15:59:22.910Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-hash.lo"}

data: {"time":"2026-09-19T15:59:23.271Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-headers.lo"}

data: {"time":"2026-09-19T15:59:23.782Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-hmac.lo"}

data: {"time":"2026-09-19T15:59:24.111Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-hsts.lo"}

data: {"time":"2026-09-19T15:59:24.836Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http.lo"}

data: {"time":"2026-09-19T15:59:26.127Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http1.lo"}

data: {"time":"2026-09-19T15:59:26.630Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http2.lo"}

data: {"time":"2026-09-19T15:59:27.769Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_aws_sigv4.lo"}

data: {"time":"2026-09-19T15:59:28.496Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_httpsig.lo"}

data: {"time":"2026-09-19T15:59:28.817Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_ed25519.lo"}

data: {"time":"2026-09-19T15:59:29.144Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_chunks.lo"}

data: {"time":"2026-09-19T15:59:29.764Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_digest.lo"}

data: {"time":"2026-09-19T15:59:30.306Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_negotiate.lo"}

data: {"time":"2026-09-19T15:59:30.841Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_ntlm.lo"}

data: {"time":"2026-09-19T15:59:31.180Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_proxy.lo"}

data: {"time":"2026-09-19T15:59:31.864Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-idn.lo"}

data: {"time":"2026-09-19T15:59:32.348Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-if2ip.lo"}

data: {"time":"2026-09-19T15:59:32.718Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-imap.lo"}

data: {"time":"2026-09-19T15:59:33.603Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ldap.lo"}

data: {"time":"2026-09-19T15:59:34.061Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-llist.lo"}

data: {"time":"2026-09-19T15:59:34.424Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-macos.lo"}

data: {"time":"2026-09-19T15:59:34.762Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-md4.lo"}

data: {"time":"2026-09-19T15:59:35.095Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-md5.lo"}

data: {"time":"2026-09-19T15:59:35.490Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-memdebug.lo"}

data: {"time":"2026-09-19T15:59:35.803Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-mime.lo"}

data: {"time":"2026-09-19T15:59:36.639Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-mprintf.lo"}

data: {"time":"2026-09-19T15:59:37.188Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-mqtt.lo"}

data: {"time":"2026-09-19T15:59:37.918Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-multi.lo"}

data: {"time":"2026-09-19T15:59:39.261Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-multi_ev.lo"}

data: {"time":"2026-09-19T15:59:39.981Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-multi_ntfy.lo"}

data: {"time":"2026-09-19T15:59:40.555Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-netrc.lo"}

data: {"time":"2026-09-19T15:59:41.160Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-openldap.lo"}

data: {"time":"2026-09-19T15:59:41.485Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-parsedate.lo"}

data: {"time":"2026-09-19T15:59:41.917Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-peer.lo"}

data: {"time":"2026-09-19T15:59:42.592Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-pingpong.lo"}

data: {"time":"2026-09-19T15:59:43.190Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-pop3.lo"}

data: {"time":"2026-09-19T15:59:43.959Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-progress.lo"}

data: {"time":"2026-09-19T15:59:44.606Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-protocol.lo"}

data: {"time":"2026-09-19T15:59:45.177Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-proxy.lo"}

data: {"time":"2026-09-19T15:59:45.796Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-psl.lo"}

data: {"time":"2026-09-19T15:59:46.376Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-rand.lo"}

data: {"time":"2026-09-19T15:59:46.906Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ratelimit.lo"}

data: {"time":"2026-09-19T15:59:47.429Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-request.lo"}

data: {"time":"2026-09-19T15:59:48.042Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-rtsp.lo"}

data: {"time":"2026-09-19T15:59:48.740Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-select.lo"}

data: {"time":"2026-09-19T15:59:49.407Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-sendf.lo"}

data: {"time":"2026-09-19T15:59:50.257Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-setopt.lo"}

data: {"time":"2026-09-19T15:59:51.136Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-sha256.lo"}

data: {"time":"2026-09-19T15:59:51.628Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-slist.lo"}

data: {"time":"2026-09-19T15:59:51.951Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-smb.lo"}

data: {"time":"2026-09-19T15:59:52.397Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-smtp.lo"}

data: {"time":"2026-09-19T15:59:53.200Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socketpair.lo"}

data: {"time":"2026-09-19T15:59:53.666Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socks.lo"}

data: {"time":"2026-09-19T15:59:54.409Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socks_gssapi.lo"}

data: {"time":"2026-09-19T15:59:55.023Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socks_sspi.lo"}

data: {"time":"2026-09-19T15:59:55.384Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-splay.lo"}

data: {"time":"2026-09-19T15:59:55.902Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-strcase.lo"}

data: {"time":"2026-09-19T15:59:56.231Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-strequal.lo"}

data: {"time":"2026-09-19T15:59:56.581Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-strerror.lo"}

data: {"time":"2026-09-19T15:59:56.938Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-system_win32.lo"}

data: {"time":"2026-09-19T15:59:57.240Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-telnet.lo"}

data: {"time":"2026-09-19T15:59:57.957Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-tftp.lo"}

data: {"time":"2026-09-19T15:59:58.639Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-thrdpool.lo"}

data: {"time":"2026-09-19T15:59:59.188Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-thrdqueue.lo"}

data: {"time":"2026-09-19T15:59:59.753Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-transfer.lo"}

data: {"time":"2026-09-19T16:00:00.547Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-bset.lo"}

data: {"time":"2026-09-19T16:00:00.934Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-hash.lo"}

data: {"time":"2026-09-19T16:00:01.309Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-hashset.lo"}

data: {"time":"2026-09-19T16:00:01.784Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-spbset.lo"}

data: {"time":"2026-09-19T16:00:02.233Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-table.lo"}

data: {"time":"2026-09-19T16:00:02.721Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-url.lo"}

data: {"time":"2026-09-19T16:00:03.971Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-urlapi.lo"}

data: {"time":"2026-09-19T16:00:05.214Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-version.lo"}

data: {"time":"2026-09-19T16:00:05.954Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ws.lo"}

data: {"time":"2026-09-19T16:00:07.096Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-cleartext.lo"}

data: {"time":"2026-09-19T16:00:07.816Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-cram.lo"}

data: {"time":"2026-09-19T16:00:08.592Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-digest.lo"}

data: {"time":"2026-09-19T16:00:09.512Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-digest_sspi.lo"}

data: {"time":"2026-09-19T16:00:09.916Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-gsasl.lo"}

data: {"time":"2026-09-19T16:00:10.300Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-krb5_gssapi.lo"}

data: {"time":"2026-09-19T16:00:10.969Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-krb5_sspi.lo"}

data: {"time":"2026-09-19T16:00:11.392Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-ntlm.lo"}

data: {"time":"2026-09-19T16:00:11.792Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-ntlm_sspi.lo"}

data: {"time":"2026-09-19T16:00:12.158Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-oauth2.lo"}

data: {"time":"2026-09-19T16:00:12.704Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-spnego_gssapi.lo"}

data: {"time":"2026-09-19T16:00:13.332Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-spnego_sspi.lo"}

data: {"time":"2026-09-19T16:00:13.754Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-vauth.lo"}

data: {"time":"2026-09-19T16:00:14.357Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-asyn-ares.lo"}

data: {"time":"2026-09-19T16:00:14.721Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-asyn-base.lo"}

data: {"time":"2026-09-19T16:00:15.336Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-asyn-thrdd.lo"}

data: {"time":"2026-09-19T16:00:16.142Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-cf-dns.lo"}

data: {"time":"2026-09-19T16:00:16.865Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-dnscache.lo"}

data: {"time":"2026-09-19T16:00:17.740Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-doh.lo"}

data: {"time":"2026-09-19T16:00:18.993Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-hostip.lo"}

data: {"time":"2026-09-19T16:00:19.837Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-hostip4.lo"}

data: {"time":"2026-09-19T16:00:20.192Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-hostip6.lo"}

data: {"time":"2026-09-19T16:00:20.684Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-httpsrr.lo"}

data: {"time":"2026-09-19T16:00:21.037Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-apple.lo"}

data: {"time":"2026-09-19T16:00:21.384Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-cipher_suite.lo"}

data: {"time":"2026-09-19T16:00:21.767Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-gtls.lo"}

data: {"time":"2026-09-19T16:00:22.163Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-hostcheck.lo"}

data: {"time":"2026-09-19T16:00:22.569Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-keylog.lo"}

data: {"time":"2026-09-19T16:00:23.007Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-mbedtls.lo"}

data: {"time":"2026-09-19T16:00:23.380Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-openssl.lo"}

data: {"time":"2026-09-19T16:00:25.685Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-rustls.lo"}

data: {"time":"2026-09-19T16:00:26.165Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-schannel.lo"}

data: {"time":"2026-09-19T16:00:26.585Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-schannel_verify.lo"}

data: {"time":"2026-09-19T16:00:26.973Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls.lo"}

data: {"time":"2026-09-19T16:00:28.339Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls_config.lo"}

data: {"time":"2026-09-19T16:00:29.013Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls_scache.lo"}

data: {"time":"2026-09-19T16:00:29.894Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls_spack.lo"}

data: {"time":"2026-09-19T16:00:30.294Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-wolfssl.lo"}

data: {"time":"2026-09-19T16:00:30.740Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-x509asn1.lo"}

data: {"time":"2026-09-19T16:00:31.146Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-capsule.lo"}

data: {"time":"2026-09-19T16:00:31.805Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-capsule.lo"}

data: {"time":"2026-09-19T16:00:32.461Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-ngtcp2.lo"}

data: {"time":"2026-09-19T16:00:33.751Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-ngtcp2-cmn.lo"}

data: {"time":"2026-09-19T16:00:35.232Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-ngtcp2-proxy.lo"}

data: {"time":"2026-09-19T16:00:35.638Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-quiche.lo"}

data: {"time":"2026-09-19T16:00:36.052Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-vquic.lo"}

data: {"time":"2026-09-19T16:00:37.173Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-vquic-tls.lo"}

data: {"time":"2026-09-19T16:00:38.147Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurlu_la-libssh.lo"}

data: {"time":"2026-09-19T16:00:38.592Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurlu_la-libssh2.lo"}

data: {"time":"2026-09-19T16:00:40.368Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurlu_la-vssh.lo"}

data: {"time":"2026-09-19T16:00:41.110Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-base64.lo"}

data: {"time":"2026-09-19T16:00:41.533Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-basename.lo"}

data: {"time":"2026-09-19T16:00:41.896Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-dynbuf.lo"}

data: {"time":"2026-09-19T16:00:42.304Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-fopen.lo"}

data: {"time":"2026-09-19T16:00:42.713Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-inet_ntop.lo"}

data: {"time":"2026-09-19T16:00:43.201Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-inet_pton.lo"}

data: {"time":"2026-09-19T16:00:43.675Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-multibyte.lo"}

data: {"time":"2026-09-19T16:00:44.064Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-nonblock.lo"}

data: {"time":"2026-09-19T16:00:44.451Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-snprintf.lo"}

data: {"time":"2026-09-19T16:00:44.845Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strcopy.lo"}

data: {"time":"2026-09-19T16:00:45.244Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strdup.lo"}

data: {"time":"2026-09-19T16:00:45.622Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strerr.lo"}

data: {"time":"2026-09-19T16:00:46.058Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strparse.lo"}

data: {"time":"2026-09-19T16:00:46.517Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-timediff.lo"}

data: {"time":"2026-09-19T16:00:46.929Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-timeval.lo"}

data: {"time":"2026-09-19T16:00:47.349Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-version_win32.lo"}

data: {"time":"2026-09-19T16:00:47.766Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-wait.lo"}

data: {"time":"2026-09-19T16:00:48.149Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-warnless.lo"}

data: {"time":"2026-09-19T16:00:48.522Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-winapi.lo"}

data: {"time":"2026-09-19T16:00:48.877Z","priority":"6","pid":"2830187","message":"  CCLD     libcurlu.la"}

data: {"time":"2026-09-19T16:00:49.652Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/lib'"}

data: {"time":"2026-09-19T16:00:49.654Z","priority":"6","pid":"2830187","message":"make[1]: Leaving directory '/build/curl/src/build-curl/lib'"}

data: {"time":"2026-09-19T16:00:49.657Z","priority":"6","pid":"2830187","message":"Making all in docs"}

data: {"time":"2026-09-19T16:00:49.665Z","priority":"6","pid":"2830187","message":"make[1]: Entering directory '/build/curl/src/build-curl/docs'"}

data: {"time":"2026-09-19T16:00:49.677Z","priority":"6","pid":"2830187","message":"Making all in ."}

data: {"time":"2026-09-19T16:00:49.684Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/docs'"}

data: {"time":"2026-09-19T16:00:49.688Z","priority":"6","pid":"2830187","message":"  RENDER  curl-config.1"}

data: {"time":"2026-09-19T16:00:49.730Z","priority":"6","pid":"2830187","message":"  RENDER  wcurl.1"}

data: {"time":"2026-09-19T16:00:49.767Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/docs'"}

data: {"time":"2026-09-19T16:00:49.768Z","priority":"6","pid":"2830187","message":"Making all in cmdline-opts"}

data: {"time":"2026-09-19T16:00:49.780Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/docs/cmdline-opts'"}

data: {"time":"2026-09-19T16:00:49.785Z","priority":"6","pid":"2830187","message":"  GENERATE curl.1"}

data: {"time":"2026-09-19T16:00:50.056Z","priority":"6","pid":"2830187","message":"  GENERATE curl.txt"}

data: {"time":"2026-09-19T16:00:50.457Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/docs/cmdline-opts'"}

data: {"time":"2026-09-19T16:00:50.459Z","priority":"6","pid":"2830187","message":"Making all in libcurl"}

data: {"time":"2026-09-19T16:00:50.471Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/docs/libcurl'"}

data: {"time":"2026-09-19T16:00:50.481Z","priority":"6","pid":"2830187","message":"Making all in opts"}

data: {"time":"2026-09-19T16:00:50.490Z","priority":"6","pid":"2830187","message":"make[3]: Entering directory '/build/curl/src/build-curl/docs/libcurl/opts'"}

data: {"time":"2026-09-19T16:00:50.493Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_ACTIVESOCKET.3"}

data: {"time":"2026-09-19T16:00:50.534Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_APPCONNECT_TIME.3"}

data: {"time":"2026-09-19T16:00:50.576Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_APPCONNECT_TIME_T.3"}

data: {"time":"2026-09-19T16:00:50.616Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CAINFO.3"}

data: {"time":"2026-09-19T16:00:50.653Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CAPATH.3"}

data: {"time":"2026-09-19T16:00:50.690Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CERTINFO.3"}

data: {"time":"2026-09-19T16:00:50.725Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CONDITION_UNMET.3"}

data: {"time":"2026-09-19T16:00:50.764Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CONNECT_TIME.3"}

data: {"time":"2026-09-19T16:00:50.802Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CONN_ID.3"}

data: {"time":"2026-09-19T16:00:50.842Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CONNECT_TIME_T.3"}

data: {"time":"2026-09-19T16:00:50.880Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CONTENT_LENGTH_DOWNLOAD.3"}

data: {"time":"2026-09-19T16:00:50.916Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3"}

data: {"time":"2026-09-19T16:00:50.953Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CONTENT_LENGTH_UPLOAD.3"}

data: {"time":"2026-09-19T16:00:50.990Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CONTENT_LENGTH_UPLOAD_T.3"}

data: {"time":"2026-09-19T16:00:51.051Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_CONTENT_TYPE.3"}

data: {"time":"2026-09-19T16:00:51.142Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_COOKIELIST.3"}

data: {"time":"2026-09-19T16:00:51.183Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_EARLYDATA_SENT_T.3"}

data: {"time":"2026-09-19T16:00:51.224Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_EFFECTIVE_METHOD.3"}

data: {"time":"2026-09-19T16:00:51.263Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_EFFECTIVE_URL.3"}

data: {"time":"2026-09-19T16:00:51.308Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_FILETIME.3"}

data: {"time":"2026-09-19T16:00:51.350Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_FILETIME_T.3"}

data: {"time":"2026-09-19T16:00:51.390Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_FTP_ENTRY_PATH.3"}

data: {"time":"2026-09-19T16:00:51.431Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_HEADER_SIZE.3"}

data: {"time":"2026-09-19T16:00:51.472Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_HTTP_CONNECTCODE.3"}

data: {"time":"2026-09-19T16:00:51.511Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_HTTP_VERSION.3"}

data: {"time":"2026-09-19T16:00:51.552Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_HTTPAUTH_AVAIL.3"}

data: {"time":"2026-09-19T16:00:51.593Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_HTTPAUTH_USED.3"}

data: {"time":"2026-09-19T16:00:51.658Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_LASTSOCKET.3"}

data: {"time":"2026-09-19T16:00:51.698Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_LOCAL_IP.3"}

data: {"time":"2026-09-19T16:00:51.740Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_LOCAL_PORT.3"}

data: {"time":"2026-09-19T16:00:51.786Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_NAMELOOKUP_TIME.3"}

data: {"time":"2026-09-19T16:00:51.825Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_NAMELOOKUP_TIME_T.3"}

data: {"time":"2026-09-19T16:00:51.872Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_NUM_CONNECTS.3"}

data: {"time":"2026-09-19T16:00:51.907Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_OS_ERRNO.3"}

data: {"time":"2026-09-19T16:00:51.945Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PRETRANSFER_TIME.3"}

data: {"time":"2026-09-19T16:00:51.988Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PRETRANSFER_TIME_T.3"}

data: {"time":"2026-09-19T16:00:52.025Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_POSTTRANSFER_TIME_T.3"}

data: {"time":"2026-09-19T16:00:52.069Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PRIMARY_IP.3"}

data: {"time":"2026-09-19T16:00:52.131Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PRIMARY_PORT.3"}

data: {"time":"2026-09-19T16:00:52.172Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PRIVATE.3"}

data: {"time":"2026-09-19T16:00:52.209Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PROTOCOL.3"}

data: {"time":"2026-09-19T16:00:52.290Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PROXY_ERROR.3"}

data: {"time":"2026-09-19T16:00:52.333Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PROXY_SSL_VERIFYRESULT.3"}

data: {"time":"2026-09-19T16:00:52.377Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PROXYAUTH_AVAIL.3"}

data: {"time":"2026-09-19T16:00:52.412Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_PROXYAUTH_USED.3"}

data: {"time":"2026-09-19T16:00:52.467Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_QUEUE_TIME_T.3"}

data: {"time":"2026-09-19T16:00:52.507Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_REDIRECT_COUNT.3"}

data: {"time":"2026-09-19T16:00:52.547Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_REDIRECT_TIME.3"}

data: {"time":"2026-09-19T16:00:52.583Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_REDIRECT_TIME_T.3"}

data: {"time":"2026-09-19T16:00:52.621Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_REDIRECT_URL.3"}

data: {"time":"2026-09-19T16:00:52.660Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_REFERER.3"}

data: {"time":"2026-09-19T16:00:52.701Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_REQUEST_SIZE.3"}

data: {"time":"2026-09-19T16:00:52.740Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_RESPONSE_CODE.3"}

data: {"time":"2026-09-19T16:00:52.779Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_RETRY_AFTER.3"}

data: {"time":"2026-09-19T16:00:52.824Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_RTSP_CLIENT_CSEQ.3"}

data: {"time":"2026-09-19T16:00:52.863Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_RTSP_CSEQ_RECV.3"}

data: {"time":"2026-09-19T16:00:52.901Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_RTSP_SERVER_CSEQ.3"}

data: {"time":"2026-09-19T16:00:52.940Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_RTSP_SESSION_ID.3"}

data: {"time":"2026-09-19T16:00:52.975Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SCHEME.3"}

data: {"time":"2026-09-19T16:00:53.013Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SIZE_DELIVERED.3"}

data: {"time":"2026-09-19T16:00:53.056Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SIZE_DOWNLOAD.3"}

data: {"time":"2026-09-19T16:00:53.094Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SIZE_DOWNLOAD_T.3"}

data: {"time":"2026-09-19T16:00:53.132Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SIZE_UPLOAD.3"}

data: {"time":"2026-09-19T16:00:53.168Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SIZE_UPLOAD_T.3"}

data: {"time":"2026-09-19T16:00:53.205Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SPEED_DOWNLOAD.3"}

data: {"time":"2026-09-19T16:00:53.243Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SPEED_DOWNLOAD_T.3"}

data: {"time":"2026-09-19T16:00:53.283Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SPEED_UPLOAD.3"}

data: {"time":"2026-09-19T16:00:53.320Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SPEED_UPLOAD_T.3"}

data: {"time":"2026-09-19T16:00:53.358Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SSL_ENGINES.3"}

data: {"time":"2026-09-19T16:00:53.395Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_SSL_VERIFYRESULT.3"}

data: {"time":"2026-09-19T16:00:53.430Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_STARTTRANSFER_TIME.3"}

data: {"time":"2026-09-19T16:00:53.493Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_STARTTRANSFER_TIME_T.3"}

data: {"time":"2026-09-19T16:00:53.528Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_TLS_SESSION.3"}

data: {"time":"2026-09-19T16:00:53.577Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_TLS_SSL_PTR.3"}

data: {"time":"2026-09-19T16:00:53.616Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_TOTAL_TIME.3"}

data: {"time":"2026-09-19T16:00:53.698Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_TOTAL_TIME_T.3"}

data: {"time":"2026-09-19T16:00:53.736Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_USED_PROXY.3"}

data: {"time":"2026-09-19T16:00:53.782Z","priority":"6","pid":"2830187","message":"  RENDER  CURLINFO_XFER_ID.3"}

data: {"time":"2026-09-19T16:00:53.827Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMINFO_XFERS_ADDED.3"}

data: {"time":"2026-09-19T16:00:53.874Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMINFO_XFERS_CURRENT.3"}

data: {"time":"2026-09-19T16:00:53.913Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMINFO_XFERS_DONE.3"}

data: {"time":"2026-09-19T16:00:53.954Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMINFO_XFERS_PENDING.3"}

data: {"time":"2026-09-19T16:00:53.991Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMINFO_XFERS_RUNNING.3"}

data: {"time":"2026-09-19T16:00:54.044Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3"}

data: {"time":"2026-09-19T16:00:54.087Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3"}

data: {"time":"2026-09-19T16:00:54.146Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_MAX_CONCURRENT_STREAMS.3"}

data: {"time":"2026-09-19T16:00:54.184Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_MAX_HOST_CONNECTIONS.3"}

data: {"time":"2026-09-19T16:00:54.223Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_MAX_PIPELINE_LENGTH.3"}

data: {"time":"2026-09-19T16:00:54.260Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_MAX_TOTAL_CONNECTIONS.3"}

data: {"time":"2026-09-19T16:00:54.295Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_MAXCONNECTS.3"}

data: {"time":"2026-09-19T16:00:54.338Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_NETWORK_CHANGED.3"}

data: {"time":"2026-09-19T16:00:54.376Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_NOTIFYDATA.3"}

data: {"time":"2026-09-19T16:00:54.410Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_NOTIFYFUNCTION.3"}

data: {"time":"2026-09-19T16:00:54.448Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_PIPELINING.3"}

data: {"time":"2026-09-19T16:00:54.484Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_PIPELINING_SERVER_BL.3"}

data: {"time":"2026-09-19T16:00:54.521Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_PIPELINING_SITE_BL.3"}

data: {"time":"2026-09-19T16:00:54.557Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_PUSHDATA.3"}

data: {"time":"2026-09-19T16:00:54.599Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_PUSHFUNCTION.3"}

data: {"time":"2026-09-19T16:00:54.638Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_QUICK_EXIT.3"}

data: {"time":"2026-09-19T16:00:54.676Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_RESOLVE_THREADS_MAX.3"}

data: {"time":"2026-09-19T16:00:54.715Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_SOCKETDATA.3"}

data: {"time":"2026-09-19T16:00:54.753Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_SOCKETFUNCTION.3"}

data: {"time":"2026-09-19T16:00:54.792Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_TIMERDATA.3"}

data: {"time":"2026-09-19T16:00:54.828Z","priority":"6","pid":"2830187","message":"  RENDER  CURLMOPT_TIMERFUNCTION.3"}

data: {"time":"2026-09-19T16:00:54.867Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ABSTRACT_UNIX_SOCKET.3"}

data: {"time":"2026-09-19T16:00:54.904Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ACCEPT_ENCODING.3"}

data: {"time":"2026-09-19T16:00:54.957Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ACCEPTTIMEOUT_MS.3"}

data: {"time":"2026-09-19T16:00:54.999Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ADDRESS_SCOPE.3"}

data: {"time":"2026-09-19T16:00:55.037Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ALTSVC.3"}

data: {"time":"2026-09-19T16:00:55.104Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ALTSVC_CTRL.3"}

data: {"time":"2026-09-19T16:00:55.147Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_APPEND.3"}

data: {"time":"2026-09-19T16:00:55.187Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_AUTOREFERER.3"}

data: {"time":"2026-09-19T16:00:55.230Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_AWS_SIGV4.3"}

data: {"time":"2026-09-19T16:00:55.274Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_BUFFERSIZE.3"}

data: {"time":"2026-09-19T16:00:55.313Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CAINFO.3"}

data: {"time":"2026-09-19T16:00:55.351Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CAINFO_BLOB.3"}

data: {"time":"2026-09-19T16:00:55.400Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CAPATH.3"}

data: {"time":"2026-09-19T16:00:55.444Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CA_CACHE_TIMEOUT.3"}

data: {"time":"2026-09-19T16:00:55.484Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CERTINFO.3"}

data: {"time":"2026-09-19T16:00:55.523Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CHUNK_BGN_FUNCTION.3"}

data: {"time":"2026-09-19T16:00:55.561Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CHUNK_DATA.3"}

data: {"time":"2026-09-19T16:00:55.601Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CHUNK_END_FUNCTION.3"}

data: {"time":"2026-09-19T16:00:55.638Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CLOSESOCKETDATA.3"}

data: {"time":"2026-09-19T16:00:55.676Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CLOSESOCKETFUNCTION.3"}

data: {"time":"2026-09-19T16:00:55.741Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CONNECT_ONLY.3"}

data: {"time":"2026-09-19T16:00:55.779Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CONNECT_TO.3"}

data: {"time":"2026-09-19T16:00:55.816Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CONNECTTIMEOUT.3"}

data: {"time":"2026-09-19T16:00:55.886Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CONNECTTIMEOUT_MS.3"}

data: {"time":"2026-09-19T16:00:55.922Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CONV_FROM_NETWORK_FUNCTION.3"}

data: {"time":"2026-09-19T16:00:55.979Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CONV_FROM_UTF8_FUNCTION.3"}

data: {"time":"2026-09-19T16:00:56.046Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CONV_TO_NETWORK_FUNCTION.3"}

data: {"time":"2026-09-19T16:00:56.083Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_COOKIE.3"}

data: {"time":"2026-09-19T16:00:56.124Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_COOKIEFILE.3"}

data: {"time":"2026-09-19T16:00:56.179Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_COOKIEJAR.3"}

data: {"time":"2026-09-19T16:00:56.228Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_COOKIELIST.3"}

data: {"time":"2026-09-19T16:00:56.268Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_COOKIESESSION.3"}

data: {"time":"2026-09-19T16:00:56.315Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_COPYPOSTFIELDS.3"}

data: {"time":"2026-09-19T16:00:56.351Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CRLF.3"}

data: {"time":"2026-09-19T16:00:56.387Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CRLFILE.3"}

data: {"time":"2026-09-19T16:00:56.441Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CURLU.3"}

data: {"time":"2026-09-19T16:00:56.485Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_CUSTOMREQUEST.3"}

data: {"time":"2026-09-19T16:00:56.536Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DEBUGDATA.3"}

data: {"time":"2026-09-19T16:00:56.596Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DEBUGFUNCTION.3"}

data: {"time":"2026-09-19T16:00:56.637Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DEFAULT_PROTOCOL.3"}

data: {"time":"2026-09-19T16:00:56.714Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DIRLISTONLY.3"}

data: {"time":"2026-09-19T16:00:56.751Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DISALLOW_USERNAME_IN_URL.3"}

data: {"time":"2026-09-19T16:00:56.788Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DNS_CACHE_TIMEOUT.3"}

data: {"time":"2026-09-19T16:00:56.835Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DNS_INTERFACE.3"}

data: {"time":"2026-09-19T16:00:56.878Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DNS_LOCAL_IP4.3"}

data: {"time":"2026-09-19T16:00:56.913Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DNS_LOCAL_IP6.3"}

data: {"time":"2026-09-19T16:00:56.959Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DNS_SERVERS.3"}

data: {"time":"2026-09-19T16:00:57.001Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DNS_SHUFFLE_ADDRESSES.3"}

data: {"time":"2026-09-19T16:00:57.038Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DNS_USE_GLOBAL_CACHE.3"}

data: {"time":"2026-09-19T16:00:57.117Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DOH_SSL_VERIFYHOST.3"}

data: {"time":"2026-09-19T16:00:57.158Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DOH_SSL_VERIFYPEER.3"}

data: {"time":"2026-09-19T16:00:57.197Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DOH_SSL_VERIFYSTATUS.3"}

data: {"time":"2026-09-19T16:00:57.241Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_DOH_URL.3"}

data: {"time":"2026-09-19T16:00:57.281Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ECH.3"}

data: {"time":"2026-09-19T16:00:57.321Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_EGDSOCKET.3"}

data: {"time":"2026-09-19T16:00:57.367Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ERRORBUFFER.3"}

data: {"time":"2026-09-19T16:00:57.406Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_EXPECT_100_TIMEOUT_MS.3"}

data: {"time":"2026-09-19T16:00:57.442Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FAILONERROR.3"}

data: {"time":"2026-09-19T16:00:57.483Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FILETIME.3"}

data: {"time":"2026-09-19T16:00:57.525Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FNMATCH_DATA.3"}

data: {"time":"2026-09-19T16:00:57.563Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FNMATCH_FUNCTION.3"}

data: {"time":"2026-09-19T16:00:57.597Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FOLLOWLOCATION.3"}

data: {"time":"2026-09-19T16:00:57.634Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FORBID_REUSE.3"}

data: {"time":"2026-09-19T16:00:57.671Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FRESH_CONNECT.3"}

data: {"time":"2026-09-19T16:00:57.708Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTP_ACCOUNT.3"}

data: {"time":"2026-09-19T16:00:57.746Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTP_ALTERNATIVE_TO_USER.3"}

data: {"time":"2026-09-19T16:00:57.780Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTP_CREATE_MISSING_DIRS.3"}

data: {"time":"2026-09-19T16:00:57.821Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTP_FILEMETHOD.3"}

data: {"time":"2026-09-19T16:00:57.862Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTP_SKIP_PASV_IP.3"}

data: {"time":"2026-09-19T16:00:57.909Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTP_SSL_CCC.3"}

data: {"time":"2026-09-19T16:00:57.952Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTP_USE_EPRT.3"}

data: {"time":"2026-09-19T16:00:57.991Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTP_USE_EPSV.3"}

data: {"time":"2026-09-19T16:00:58.028Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTP_USE_PRET.3"}

data: {"time":"2026-09-19T16:00:58.068Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTPPORT.3"}

data: {"time":"2026-09-19T16:00:58.106Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_FTPSSLAUTH.3"}

data: {"time":"2026-09-19T16:00:58.149Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_GSSAPI_DELEGATION.3"}

data: {"time":"2026-09-19T16:00:58.187Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3"}

data: {"time":"2026-09-19T16:00:58.225Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HAPROXYPROTOCOL.3"}

data: {"time":"2026-09-19T16:00:58.261Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HAPROXY_CLIENT_IP.3"}

data: {"time":"2026-09-19T16:00:58.298Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HEADER.3"}

data: {"time":"2026-09-19T16:00:58.341Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HEADERDATA.3"}

data: {"time":"2026-09-19T16:00:58.383Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HEADERFUNCTION.3"}

data: {"time":"2026-09-19T16:00:58.419Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HEADEROPT.3"}

data: {"time":"2026-09-19T16:00:58.467Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HSTS.3"}

data: {"time":"2026-09-19T16:00:58.511Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HSTS_CTRL.3"}

data: {"time":"2026-09-19T16:00:58.551Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HSTSREADDATA.3"}

data: {"time":"2026-09-19T16:00:58.591Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HSTSREADFUNCTION.3"}

data: {"time":"2026-09-19T16:00:58.644Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HSTSWRITEDATA.3"}

data: {"time":"2026-09-19T16:00:58.690Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HSTSWRITEFUNCTION.3"}

data: {"time":"2026-09-19T16:00:58.728Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTP09_ALLOWED.3"}

data: {"time":"2026-09-19T16:00:58.765Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTP200ALIASES.3"}

data: {"time":"2026-09-19T16:00:58.801Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTP_CONTENT_DECODING.3"}

data: {"time":"2026-09-19T16:00:58.838Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTP_TRANSFER_DECODING.3"}

data: {"time":"2026-09-19T16:00:58.892Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTP_VERSION.3"}

data: {"time":"2026-09-19T16:00:58.934Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTPAUTH.3"}

data: {"time":"2026-09-19T16:00:58.973Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTPGET.3"}

data: {"time":"2026-09-19T16:00:59.013Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTPHEADER.3"}

data: {"time":"2026-09-19T16:00:59.054Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTPPOST.3"}

data: {"time":"2026-09-19T16:00:59.102Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTPPROXYTUNNEL.3"}

data: {"time":"2026-09-19T16:00:59.142Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTPSIG_ALGORITHM.3"}

data: {"time":"2026-09-19T16:00:59.182Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTPSIG_HEADERS.3"}

data: {"time":"2026-09-19T16:00:59.218Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTPSIG_KEY.3"}

data: {"time":"2026-09-19T16:00:59.257Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_HTTPSIG_KEYID.3"}

data: {"time":"2026-09-19T16:00:59.299Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_IGNORE_CONTENT_LENGTH.3"}

data: {"time":"2026-09-19T16:00:59.337Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_INFILESIZE.3"}

data: {"time":"2026-09-19T16:00:59.380Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_INFILESIZE_LARGE.3"}

data: {"time":"2026-09-19T16:00:59.420Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_INTERFACE.3"}

data: {"time":"2026-09-19T16:00:59.457Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_INTERLEAVEDATA.3"}

data: {"time":"2026-09-19T16:00:59.493Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_INTERLEAVEFUNCTION.3"}

data: {"time":"2026-09-19T16:00:59.532Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_IOCTLDATA.3"}

data: {"time":"2026-09-19T16:00:59.569Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_IOCTLFUNCTION.3"}

data: {"time":"2026-09-19T16:00:59.612Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_IPRESOLVE.3"}

data: {"time":"2026-09-19T16:00:59.651Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ISSUERCERT.3"}

data: {"time":"2026-09-19T16:00:59.697Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_ISSUERCERT_BLOB.3"}

data: {"time":"2026-09-19T16:00:59.739Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_KEEP_SENDING_ON_ERROR.3"}

data: {"time":"2026-09-19T16:00:59.783Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_KEYPASSWD.3"}

data: {"time":"2026-09-19T16:00:59.820Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_KRBLEVEL.3"}

data: {"time":"2026-09-19T16:00:59.856Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_LOCALPORT.3"}

data: {"time":"2026-09-19T16:00:59.892Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_LOCALPORTRANGE.3"}

data: {"time":"2026-09-19T16:00:59.936Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_LOGIN_OPTIONS.3"}

data: {"time":"2026-09-19T16:01:00.043Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_LOW_SPEED_LIMIT.3"}

data: {"time":"2026-09-19T16:01:00.095Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_LOW_SPEED_TIME.3"}

data: {"time":"2026-09-19T16:01:00.176Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAIL_AUTH.3"}

data: {"time":"2026-09-19T16:01:00.218Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAIL_FROM.3"}

data: {"time":"2026-09-19T16:01:00.277Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAIL_RCPT.3"}

data: {"time":"2026-09-19T16:01:00.321Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAIL_RCPT_ALLOWFAILS.3"}

data: {"time":"2026-09-19T16:01:00.368Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAX_RECV_SPEED_LARGE.3"}

data: {"time":"2026-09-19T16:01:00.408Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAX_SEND_SPEED_LARGE.3"}

data: {"time":"2026-09-19T16:01:00.474Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAXAGE_CONN.3"}

data: {"time":"2026-09-19T16:01:00.518Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAXCONNECTS.3"}

data: {"time":"2026-09-19T16:01:00.552Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAXFILESIZE.3"}

data: {"time":"2026-09-19T16:01:00.589Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAXFILESIZE_LARGE.3"}

data: {"time":"2026-09-19T16:01:00.630Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAXLIFETIME_CONN.3"}

data: {"time":"2026-09-19T16:01:00.672Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MAXREDIRS.3"}

data: {"time":"2026-09-19T16:01:00.707Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MIME_OPTIONS.3"}

data: {"time":"2026-09-19T16:01:00.742Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_MIMEPOST.3"}

data: {"time":"2026-09-19T16:01:00.796Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_NETRC.3"}

data: {"time":"2026-09-19T16:01:00.832Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_NETRC_FILE.3"}

data: {"time":"2026-09-19T16:01:00.865Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_NEW_DIRECTORY_PERMS.3"}

data: {"time":"2026-09-19T16:01:00.901Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_NEW_FILE_PERMS.3"}

data: {"time":"2026-09-19T16:01:00.934Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_NOBODY.3"}

data: {"time":"2026-09-19T16:01:00.967Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_NOPROGRESS.3"}

data: {"time":"2026-09-19T16:01:01.001Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_NOPROXY.3"}

data: {"time":"2026-09-19T16:01:01.035Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_NOSIGNAL.3"}

data: {"time":"2026-09-19T16:01:01.074Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_OPENSOCKETDATA.3"}

data: {"time":"2026-09-19T16:01:01.107Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_OPENSOCKETFUNCTION.3"}

data: {"time":"2026-09-19T16:01:01.146Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PASSWORD.3"}

data: {"time":"2026-09-19T16:01:01.179Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PATH_AS_IS.3"}

data: {"time":"2026-09-19T16:01:01.217Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PINNEDPUBLICKEY.3"}

data: {"time":"2026-09-19T16:01:01.256Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PIPEWAIT.3"}

data: {"time":"2026-09-19T16:01:01.307Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PORT.3"}

data: {"time":"2026-09-19T16:01:01.353Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_POST.3"}

data: {"time":"2026-09-19T16:01:01.405Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_POSTFIELDS.3"}

data: {"time":"2026-09-19T16:01:01.450Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_POSTFIELDSIZE.3"}

data: {"time":"2026-09-19T16:01:01.495Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_POSTFIELDSIZE_LARGE.3"}

data: {"time":"2026-09-19T16:01:01.541Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_POSTQUOTE.3"}

data: {"time":"2026-09-19T16:01:01.577Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_POSTREDIR.3"}

data: {"time":"2026-09-19T16:01:01.617Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PRE_PROXY.3"}

data: {"time":"2026-09-19T16:01:01.660Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PREQUOTE.3"}

data: {"time":"2026-09-19T16:01:01.735Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PREREQDATA.3"}

data: {"time":"2026-09-19T16:01:01.795Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PREREQFUNCTION.3"}

data: {"time":"2026-09-19T16:01:01.844Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PRIVATE.3"}

data: {"time":"2026-09-19T16:01:01.887Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROGRESSDATA.3"}

data: {"time":"2026-09-19T16:01:01.927Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROGRESSFUNCTION.3"}

data: {"time":"2026-09-19T16:01:01.979Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROTOCOLS.3"}

data: {"time":"2026-09-19T16:01:02.017Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROTOCOLS_STR.3"}

data: {"time":"2026-09-19T16:01:02.048Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY.3"}

data: {"time":"2026-09-19T16:01:02.091Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_CAINFO.3"}

data: {"time":"2026-09-19T16:01:02.127Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_CAINFO_BLOB.3"}

data: {"time":"2026-09-19T16:01:02.175Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_CAPATH.3"}

data: {"time":"2026-09-19T16:01:02.217Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_CRLFILE.3"}

data: {"time":"2026-09-19T16:01:02.280Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_ISSUERCERT.3"}

data: {"time":"2026-09-19T16:01:02.324Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_ISSUERCERT_BLOB.3"}

data: {"time":"2026-09-19T16:01:02.376Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_KEYPASSWD.3"}

data: {"time":"2026-09-19T16:01:02.415Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_PINNEDPUBLICKEY.3"}

data: {"time":"2026-09-19T16:01:02.453Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SERVICE_NAME.3"}

data: {"time":"2026-09-19T16:01:02.492Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSL_CIPHER_LIST.3"}

data: {"time":"2026-09-19T16:01:02.530Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSL_OPTIONS.3"}

data: {"time":"2026-09-19T16:01:02.572Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSL_VERIFYHOST.3"}

data: {"time":"2026-09-19T16:01:02.614Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSL_VERIFYPEER.3"}

data: {"time":"2026-09-19T16:01:02.651Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSLCERT.3"}

data: {"time":"2026-09-19T16:01:02.693Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSLCERT_BLOB.3"}

data: {"time":"2026-09-19T16:01:02.741Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSLCERTTYPE.3"}

data: {"time":"2026-09-19T16:01:02.785Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSLKEY.3"}

data: {"time":"2026-09-19T16:01:02.845Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSLKEY_BLOB.3"}

data: {"time":"2026-09-19T16:01:02.883Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSLKEYTYPE.3"}

data: {"time":"2026-09-19T16:01:02.920Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_SSLVERSION.3"}

data: {"time":"2026-09-19T16:01:02.957Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_TLS13_CIPHERS.3"}

data: {"time":"2026-09-19T16:01:02.996Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_TLSAUTH_PASSWORD.3"}

data: {"time":"2026-09-19T16:01:03.034Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_TLSAUTH_TYPE.3"}

data: {"time":"2026-09-19T16:01:03.070Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_TLSAUTH_USERNAME.3"}

data: {"time":"2026-09-19T16:01:03.114Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXY_TRANSFER_MODE.3"}

data: {"time":"2026-09-19T16:01:03.153Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXYAUTH.3"}

data: {"time":"2026-09-19T16:01:03.190Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXYHEADER.3"}

data: {"time":"2026-09-19T16:01:03.227Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXYPASSWORD.3"}

data: {"time":"2026-09-19T16:01:03.266Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXYPORT.3"}

data: {"time":"2026-09-19T16:01:03.308Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXYTYPE.3"}

data: {"time":"2026-09-19T16:01:03.352Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXYUSERNAME.3"}

data: {"time":"2026-09-19T16:01:03.392Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PROXYUSERPWD.3"}

data: {"time":"2026-09-19T16:01:03.432Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_PUT.3"}

data: {"time":"2026-09-19T16:01:03.469Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_QUICK_EXIT.3"}

data: {"time":"2026-09-19T16:01:03.504Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_QUOTE.3"}

data: {"time":"2026-09-19T16:01:03.543Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RANDOM_FILE.3"}

data: {"time":"2026-09-19T16:01:03.579Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RANGE.3"}

data: {"time":"2026-09-19T16:01:03.617Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_READDATA.3"}

data: {"time":"2026-09-19T16:01:03.655Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_READFUNCTION.3"}

data: {"time":"2026-09-19T16:01:03.693Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_REDIR_PROTOCOLS.3"}

data: {"time":"2026-09-19T16:01:03.734Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_REDIR_PROTOCOLS_STR.3"}

data: {"time":"2026-09-19T16:01:03.789Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_REFERER.3"}

data: {"time":"2026-09-19T16:01:03.825Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_REQUEST_TARGET.3"}

data: {"time":"2026-09-19T16:01:03.861Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RESOLVE.3"}

data: {"time":"2026-09-19T16:01:03.909Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RESOLVER_START_DATA.3"}

data: {"time":"2026-09-19T16:01:03.951Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RESOLVER_START_FUNCTION.3"}

data: {"time":"2026-09-19T16:01:03.989Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RESUME_FROM.3"}

data: {"time":"2026-09-19T16:01:04.026Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RESUME_FROM_LARGE.3"}

data: {"time":"2026-09-19T16:01:04.064Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RTSP_CLIENT_CSEQ.3"}

data: {"time":"2026-09-19T16:01:04.102Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RTSP_REQUEST.3"}

data: {"time":"2026-09-19T16:01:04.145Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RTSP_SERVER_CSEQ.3"}

data: {"time":"2026-09-19T16:01:04.185Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RTSP_SESSION_ID.3"}

data: {"time":"2026-09-19T16:01:04.225Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RTSP_STREAM_URI.3"}

data: {"time":"2026-09-19T16:01:04.263Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_RTSP_TRANSPORT.3"}

data: {"time":"2026-09-19T16:01:04.303Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SASL_AUTHZID.3"}

data: {"time":"2026-09-19T16:01:04.381Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SASL_IR.3"}

data: {"time":"2026-09-19T16:01:04.426Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SEEKDATA.3"}

data: {"time":"2026-09-19T16:01:04.468Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SEEKFUNCTION.3"}

data: {"time":"2026-09-19T16:01:04.567Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SERVER_RESPONSE_TIMEOUT.3"}

data: {"time":"2026-09-19T16:01:04.631Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SERVER_RESPONSE_TIMEOUT_MS.3"}

data: {"time":"2026-09-19T16:01:04.678Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SERVICE_NAME.3"}

data: {"time":"2026-09-19T16:01:04.715Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SHARE.3"}

data: {"time":"2026-09-19T16:01:04.753Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SOCKOPTDATA.3"}

data: {"time":"2026-09-19T16:01:04.799Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SOCKOPTFUNCTION.3"}

data: {"time":"2026-09-19T16:01:04.842Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SOCKS5_AUTH.3"}

data: {"time":"2026-09-19T16:01:04.911Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SOCKS5_GSSAPI_NEC.3"}

data: {"time":"2026-09-19T16:01:04.980Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SOCKS5_GSSAPI_SERVICE.3"}

data: {"time":"2026-09-19T16:01:05.028Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_AUTH_TYPES.3"}

data: {"time":"2026-09-19T16:01:05.082Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_COMPRESSION.3"}

data: {"time":"2026-09-19T16:01:05.135Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_HOSTKEYDATA.3"}

data: {"time":"2026-09-19T16:01:05.193Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_HOSTKEYFUNCTION.3"}

data: {"time":"2026-09-19T16:01:05.234Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3"}

data: {"time":"2026-09-19T16:01:05.277Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.3"}

data: {"time":"2026-09-19T16:01:05.348Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_KEYDATA.3"}

data: {"time":"2026-09-19T16:01:05.419Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_KEYFUNCTION.3"}

data: {"time":"2026-09-19T16:01:05.463Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_KNOWNHOSTS.3"}

data: {"time":"2026-09-19T16:01:05.501Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_PRIVATE_KEYFILE.3"}

data: {"time":"2026-09-19T16:01:05.544Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSH_PUBLIC_KEYFILE.3"}

data: {"time":"2026-09-19T16:01:05.580Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_CIPHER_LIST.3"}

data: {"time":"2026-09-19T16:01:05.629Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_CTX_DATA.3"}

data: {"time":"2026-09-19T16:01:05.666Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_CTX_FUNCTION.3"}

data: {"time":"2026-09-19T16:01:05.712Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_EC_CURVES.3"}

data: {"time":"2026-09-19T16:01:05.753Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_ENABLE_ALPN.3"}

data: {"time":"2026-09-19T16:01:05.792Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_ENABLE_NPN.3"}

data: {"time":"2026-09-19T16:01:05.838Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_FALSESTART.3"}

data: {"time":"2026-09-19T16:01:05.877Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_OPTIONS.3"}

data: {"time":"2026-09-19T16:01:05.914Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_SESSIONID_CACHE.3"}

data: {"time":"2026-09-19T16:01:05.970Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_SIGNATURE_ALGORITHMS.3"}

data: {"time":"2026-09-19T16:01:06.009Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_VERIFYHOST.3"}

data: {"time":"2026-09-19T16:01:06.048Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_VERIFYPEER.3"}

data: {"time":"2026-09-19T16:01:06.087Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSL_VERIFYSTATUS.3"}

data: {"time":"2026-09-19T16:01:06.128Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSLCERT.3"}

data: {"time":"2026-09-19T16:01:06.169Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSLCERT_BLOB.3"}

data: {"time":"2026-09-19T16:01:06.212Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSLCERTTYPE.3"}

data: {"time":"2026-09-19T16:01:06.258Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSLENGINE.3"}

data: {"time":"2026-09-19T16:01:06.294Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSLENGINE_DEFAULT.3"}

data: {"time":"2026-09-19T16:01:06.340Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSLKEY.3"}

data: {"time":"2026-09-19T16:01:06.377Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSLKEY_BLOB.3"}

data: {"time":"2026-09-19T16:01:06.416Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSLKEYTYPE.3"}

data: {"time":"2026-09-19T16:01:06.453Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SSLVERSION.3"}

data: {"time":"2026-09-19T16:01:06.496Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_STDERR.3"}

data: {"time":"2026-09-19T16:01:06.541Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_STREAM_DEPENDS.3"}

data: {"time":"2026-09-19T16:01:06.584Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_STREAM_DEPENDS_E.3"}

data: {"time":"2026-09-19T16:01:06.643Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_STREAM_WEIGHT.3"}

data: {"time":"2026-09-19T16:01:06.687Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_SUPPRESS_CONNECT_HEADERS.3"}

data: {"time":"2026-09-19T16:01:06.734Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TCP_FASTOPEN.3"}

data: {"time":"2026-09-19T16:01:06.776Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TCP_KEEPALIVE.3"}

data: {"time":"2026-09-19T16:01:06.824Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TCP_KEEPIDLE.3"}

data: {"time":"2026-09-19T16:01:06.866Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TCP_KEEPINTVL.3"}

data: {"time":"2026-09-19T16:01:06.912Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TCP_KEEPCNT.3"}

data: {"time":"2026-09-19T16:01:06.948Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TCP_NODELAY.3"}

data: {"time":"2026-09-19T16:01:06.985Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TELNETOPTIONS.3"}

data: {"time":"2026-09-19T16:01:07.027Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TFTP_BLKSIZE.3"}

data: {"time":"2026-09-19T16:01:07.067Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TFTP_NO_OPTIONS.3"}

data: {"time":"2026-09-19T16:01:07.106Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TIMECONDITION.3"}

data: {"time":"2026-09-19T16:01:07.146Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TIMEOUT.3"}

data: {"time":"2026-09-19T16:01:07.187Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TIMEOUT_MS.3"}

data: {"time":"2026-09-19T16:01:07.225Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TIMEVALUE.3"}

data: {"time":"2026-09-19T16:01:07.265Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TIMEVALUE_LARGE.3"}

data: {"time":"2026-09-19T16:01:07.307Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TLS13_CIPHERS.3"}

data: {"time":"2026-09-19T16:01:07.349Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TLSAUTH_PASSWORD.3"}

data: {"time":"2026-09-19T16:01:07.390Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TLSAUTH_TYPE.3"}

data: {"time":"2026-09-19T16:01:07.446Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TLSAUTH_USERNAME.3"}

data: {"time":"2026-09-19T16:01:07.485Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TRAILERDATA.3"}

data: {"time":"2026-09-19T16:01:07.525Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TRAILERFUNCTION.3"}

data: {"time":"2026-09-19T16:01:07.569Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TRANSFER_ENCODING.3"}

data: {"time":"2026-09-19T16:01:07.605Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_TRANSFERTEXT.3"}

data: {"time":"2026-09-19T16:01:07.644Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_UNIX_SOCKET_PATH.3"}

data: {"time":"2026-09-19T16:01:07.685Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_UNRESTRICTED_AUTH.3"}

data: {"time":"2026-09-19T16:01:07.733Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_UPKEEP_INTERVAL_MS.3"}

data: {"time":"2026-09-19T16:01:07.795Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_UPLOAD.3"}

data: {"time":"2026-09-19T16:01:07.833Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_UPLOAD_BUFFERSIZE.3"}

data: {"time":"2026-09-19T16:01:07.885Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_UPLOAD_FLAGS.3"}

data: {"time":"2026-09-19T16:01:07.926Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_URL.3"}

data: {"time":"2026-09-19T16:01:07.968Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_USE_SSL.3"}

data: {"time":"2026-09-19T16:01:08.006Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_USERAGENT.3"}

data: {"time":"2026-09-19T16:01:08.051Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_USERNAME.3"}

data: {"time":"2026-09-19T16:01:08.092Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_USERPWD.3"}

data: {"time":"2026-09-19T16:01:08.132Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_VERBOSE.3"}

data: {"time":"2026-09-19T16:01:08.168Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_WILDCARDMATCH.3"}

data: {"time":"2026-09-19T16:01:08.212Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_WRITEDATA.3"}

data: {"time":"2026-09-19T16:01:08.255Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_WRITEFUNCTION.3"}

data: {"time":"2026-09-19T16:01:08.294Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_WS_OPTIONS.3"}

data: {"time":"2026-09-19T16:01:08.332Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_XFERINFODATA.3"}

data: {"time":"2026-09-19T16:01:08.374Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_XFERINFOFUNCTION.3"}

data: {"time":"2026-09-19T16:01:08.413Z","priority":"6","pid":"2830187","message":"  RENDER  CURLOPT_XOAUTH2_BEARER.3"}

data: {"time":"2026-09-19T16:01:08.451Z","priority":"6","pid":"2830187","message":"  RENDER  CURLSHOPT_LOCKFUNC.3"}

data: {"time":"2026-09-19T16:01:08.489Z","priority":"6","pid":"2830187","message":"  RENDER  CURLSHOPT_SHARE.3"}

data: {"time":"2026-09-19T16:01:08.528Z","priority":"6","pid":"2830187","message":"  RENDER  CURLSHOPT_UNLOCKFUNC.3"}

data: {"time":"2026-09-19T16:01:08.566Z","priority":"6","pid":"2830187","message":"  RENDER  CURLSHOPT_UNSHARE.3"}

data: {"time":"2026-09-19T16:01:08.624Z","priority":"6","pid":"2830187","message":"  RENDER  CURLSHOPT_USERDATA.3"}

data: {"time":"2026-09-19T16:01:08.661Z","priority":"6","pid":"2830187","message":"make[3]: Leaving directory '/build/curl/src/build-curl/docs/libcurl/opts'"}

data: {"time":"2026-09-19T16:01:08.670Z","priority":"6","pid":"2830187","message":"make[3]: Entering directory '/build/curl/src/build-curl/docs/libcurl'"}

data: {"time":"2026-09-19T16:01:08.675Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_cleanup.3"}

data: {"time":"2026-09-19T16:01:08.711Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_duphandle.3"}

data: {"time":"2026-09-19T16:01:08.750Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_escape.3"}

data: {"time":"2026-09-19T16:01:08.785Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_getinfo.3"}

data: {"time":"2026-09-19T16:01:08.829Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_header.3"}

data: {"time":"2026-09-19T16:01:08.876Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_init.3"}

data: {"time":"2026-09-19T16:01:09.043Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_nextheader.3"}

data: {"time":"2026-09-19T16:01:09.079Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_option_by_id.3"}

data: {"time":"2026-09-19T16:01:09.115Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_option_by_name.3"}

data: {"time":"2026-09-19T16:01:09.150Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_option_next.3"}

data: {"time":"2026-09-19T16:01:09.185Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_pause.3"}

data: {"time":"2026-09-19T16:01:09.231Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_perform.3"}

data: {"time":"2026-09-19T16:01:09.267Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_recv.3"}

data: {"time":"2026-09-19T16:01:09.305Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_reset.3"}

data: {"time":"2026-09-19T16:01:09.344Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_send.3"}

data: {"time":"2026-09-19T16:01:09.381Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_setopt.3"}

data: {"time":"2026-09-19T16:01:09.441Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_ssls_export.3"}

data: {"time":"2026-09-19T16:01:09.493Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_ssls_import.3"}

data: {"time":"2026-09-19T16:01:09.531Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_strerror.3"}

data: {"time":"2026-09-19T16:01:09.579Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_unescape.3"}

data: {"time":"2026-09-19T16:01:09.615Z","priority":"6","pid":"2830187","message":"  RENDER  curl_easy_upkeep.3"}

data: {"time":"2026-09-19T16:01:09.651Z","priority":"6","pid":"2830187","message":"  RENDER  curl_escape.3"}

data: {"time":"2026-09-19T16:01:09.689Z","priority":"6","pid":"2830187","message":"  RENDER  curl_formadd.3"}

data: {"time":"2026-09-19T16:01:09.729Z","priority":"6","pid":"2830187","message":"  RENDER  curl_formfree.3"}

data: {"time":"2026-09-19T16:01:09.773Z","priority":"6","pid":"2830187","message":"  RENDER  curl_formget.3"}

data: {"time":"2026-09-19T16:01:09.811Z","priority":"6","pid":"2830187","message":"  RENDER  curl_free.3"}

data: {"time":"2026-09-19T16:01:09.854Z","priority":"6","pid":"2830187","message":"  RENDER  curl_getdate.3"}

data: {"time":"2026-09-19T16:01:09.896Z","priority":"6","pid":"2830187","message":"  RENDER  curl_getenv.3"}

data: {"time":"2026-09-19T16:01:09.937Z","priority":"6","pid":"2830187","message":"  RENDER  curl_global_cleanup.3"}

data: {"time":"2026-09-19T16:01:09.995Z","priority":"6","pid":"2830187","message":"  RENDER  curl_global_init.3"}

data: {"time":"2026-09-19T16:01:10.047Z","priority":"6","pid":"2830187","message":"  RENDER  curl_global_init_mem.3"}

data: {"time":"2026-09-19T16:01:10.107Z","priority":"6","pid":"2830187","message":"  RENDER  curl_global_sslset.3"}

data: {"time":"2026-09-19T16:01:10.147Z","priority":"6","pid":"2830187","message":"  RENDER  curl_global_trace.3"}

data: {"time":"2026-09-19T16:01:10.189Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_addpart.3"}

data: {"time":"2026-09-19T16:01:10.229Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_data.3"}

data: {"time":"2026-09-19T16:01:10.270Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_data_cb.3"}

data: {"time":"2026-09-19T16:01:10.314Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_encoder.3"}

data: {"time":"2026-09-19T16:01:10.358Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_filedata.3"}

data: {"time":"2026-09-19T16:01:10.406Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_filename.3"}

data: {"time":"2026-09-19T16:01:10.449Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_free.3"}

data: {"time":"2026-09-19T16:01:10.490Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_headers.3"}

data: {"time":"2026-09-19T16:01:10.528Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_init.3"}

data: {"time":"2026-09-19T16:01:10.595Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_name.3"}

data: {"time":"2026-09-19T16:01:10.633Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_subparts.3"}

data: {"time":"2026-09-19T16:01:10.669Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mime_type.3"}

data: {"time":"2026-09-19T16:01:10.700Z","priority":"6","pid":"2830187","message":"  RENDER  curl_mprintf.3"}

data: {"time":"2026-09-19T16:01:10.744Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_add_handle.3"}

data: {"time":"2026-09-19T16:01:10.783Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_assign.3"}

data: {"time":"2026-09-19T16:01:10.826Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_cleanup.3"}

data: {"time":"2026-09-19T16:01:10.863Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_fdset.3"}

data: {"time":"2026-09-19T16:01:10.901Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_get_handles.3"}

data: {"time":"2026-09-19T16:01:10.936Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_get_offt.3"}

data: {"time":"2026-09-19T16:01:10.973Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_info_read.3"}

data: {"time":"2026-09-19T16:01:11.011Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_init.3"}

data: {"time":"2026-09-19T16:01:11.049Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_notify_disable.3"}

data: {"time":"2026-09-19T16:01:11.090Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_notify_enable.3"}

data: {"time":"2026-09-19T16:01:11.125Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_perform.3"}

data: {"time":"2026-09-19T16:01:11.162Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_poll.3"}

data: {"time":"2026-09-19T16:01:11.202Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_remove_handle.3"}

data: {"time":"2026-09-19T16:01:11.242Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_setopt.3"}

data: {"time":"2026-09-19T16:01:11.279Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_socket.3"}

data: {"time":"2026-09-19T16:01:11.318Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_socket_action.3"}

data: {"time":"2026-09-19T16:01:11.358Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_socket_all.3"}

data: {"time":"2026-09-19T16:01:11.397Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_strerror.3"}

data: {"time":"2026-09-19T16:01:11.437Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_timeout.3"}

data: {"time":"2026-09-19T16:01:11.475Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_wait.3"}

data: {"time":"2026-09-19T16:01:11.514Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_waitfds.3"}

data: {"time":"2026-09-19T16:01:11.555Z","priority":"6","pid":"2830187","message":"  RENDER  curl_multi_wakeup.3"}

data: {"time":"2026-09-19T16:01:11.626Z","priority":"6","pid":"2830187","message":"  RENDER  curl_pushheader_byname.3"}

data: {"time":"2026-09-19T16:01:11.673Z","priority":"6","pid":"2830187","message":"  RENDER  curl_pushheader_bynum.3"}

data: {"time":"2026-09-19T16:01:11.729Z","priority":"6","pid":"2830187","message":"  RENDER  curl_share_cleanup.3"}

data: {"time":"2026-09-19T16:01:11.766Z","priority":"6","pid":"2830187","message":"  RENDER  curl_share_init.3"}

data: {"time":"2026-09-19T16:01:11.801Z","priority":"6","pid":"2830187","message":"  RENDER  curl_share_setopt.3"}

data: {"time":"2026-09-19T16:01:11.834Z","priority":"6","pid":"2830187","message":"  RENDER  curl_share_strerror.3"}

data: {"time":"2026-09-19T16:01:11.895Z","priority":"6","pid":"2830187","message":"  RENDER  curl_slist_append.3"}

data: {"time":"2026-09-19T16:01:11.933Z","priority":"6","pid":"2830187","message":"  RENDER  curl_slist_free_all.3"}

data: {"time":"2026-09-19T16:01:11.969Z","priority":"6","pid":"2830187","message":"  RENDER  curl_strequal.3"}

data: {"time":"2026-09-19T16:01:12.004Z","priority":"6","pid":"2830187","message":"  RENDER  curl_strnequal.3"}

data: {"time":"2026-09-19T16:01:12.042Z","priority":"6","pid":"2830187","message":"  RENDER  curl_unescape.3"}

data: {"time":"2026-09-19T16:01:12.078Z","priority":"6","pid":"2830187","message":"  RENDER  curl_url.3"}

data: {"time":"2026-09-19T16:01:12.114Z","priority":"6","pid":"2830187","message":"  RENDER  curl_url_cleanup.3"}

data: {"time":"2026-09-19T16:01:12.155Z","priority":"6","pid":"2830187","message":"  RENDER  curl_url_dup.3"}

data: {"time":"2026-09-19T16:01:12.194Z","priority":"6","pid":"2830187","message":"  RENDER  curl_url_get.3"}

data: {"time":"2026-09-19T16:01:12.236Z","priority":"6","pid":"2830187","message":"  RENDER  curl_url_set.3"}

data: {"time":"2026-09-19T16:01:12.278Z","priority":"6","pid":"2830187","message":"  RENDER  curl_url_strerror.3"}

data: {"time":"2026-09-19T16:01:12.318Z","priority":"6","pid":"2830187","message":"  RENDER  curl_version.3"}

data: {"time":"2026-09-19T16:01:12.353Z","priority":"6","pid":"2830187","message":"  RENDER  curl_version_info.3"}

data: {"time":"2026-09-19T16:01:12.396Z","priority":"6","pid":"2830187","message":"  RENDER  curl_ws_meta.3"}

data: {"time":"2026-09-19T16:01:12.433Z","priority":"6","pid":"2830187","message":"  RENDER  curl_ws_recv.3"}

data: {"time":"2026-09-19T16:01:12.469Z","priority":"6","pid":"2830187","message":"  RENDER  curl_ws_send.3"}

data: {"time":"2026-09-19T16:01:12.510Z","priority":"6","pid":"2830187","message":"  RENDER  curl_ws_start_frame.3"}

data: {"time":"2026-09-19T16:01:12.551Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-easy.3"}

data: {"time":"2026-09-19T16:01:12.593Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-env-dbg.3"}

data: {"time":"2026-09-19T16:01:12.636Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-env.3"}

data: {"time":"2026-09-19T16:01:12.680Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-errors.3"}

data: {"time":"2026-09-19T16:01:12.732Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-multi.3"}

data: {"time":"2026-09-19T16:01:12.798Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-security.3"}

data: {"time":"2026-09-19T16:01:12.849Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-share.3"}

data: {"time":"2026-09-19T16:01:12.887Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-symbols.md"}

data: {"time":"2026-09-19T16:01:12.938Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-symbols.3"}

data: {"time":"2026-09-19T16:01:13.046Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-thread.3"}

data: {"time":"2026-09-19T16:01:13.089Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-tutorial.3"}

data: {"time":"2026-09-19T16:01:13.165Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-url.3"}

data: {"time":"2026-09-19T16:01:13.204Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl-ws.3"}

data: {"time":"2026-09-19T16:01:13.242Z","priority":"6","pid":"2830187","message":"  RENDER  libcurl.3"}

data: {"time":"2026-09-19T16:01:13.285Z","priority":"6","pid":"2830187","message":"make[3]: Leaving directory '/build/curl/src/build-curl/docs/libcurl'"}

data: {"time":"2026-09-19T16:01:13.287Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/docs/libcurl'"}

data: {"time":"2026-09-19T16:01:13.292Z","priority":"6","pid":"2830187","message":"  RENDER  mk-ca-bundle.1"}

data: {"time":"2026-09-19T16:01:13.328Z","priority":"6","pid":"2830187","message":"make[1]: Leaving directory '/build/curl/src/build-curl/docs'"}

data: {"time":"2026-09-19T16:01:13.331Z","priority":"6","pid":"2830187","message":"Making all in src"}

data: {"time":"2026-09-19T16:01:13.344Z","priority":"6","pid":"2830187","message":"make[1]: Entering directory '/build/curl/src/build-curl/src'"}

data: {"time":"2026-09-19T16:01:13.348Z","priority":"6","pid":"2830187","message":"  CC       curl-config2setopts.o"}

data: {"time":"2026-09-19T16:01:13.654Z","priority":"6","pid":"2830187","message":"  CC       curl-slist_wc.o"}

data: {"time":"2026-09-19T16:01:13.791Z","priority":"6","pid":"2830187","message":"  CC       curl-terminal.o"}

data: {"time":"2026-09-19T16:01:13.936Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_cb_dbg.o"}

data: {"time":"2026-09-19T16:01:14.113Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_cb_hdr.o"}

data: {"time":"2026-09-19T16:01:14.321Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_cb_prg.o"}

data: {"time":"2026-09-19T16:01:14.486Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_cb_rea.o"}

data: {"time":"2026-09-19T16:01:14.637Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_cb_see.o"}

data: {"time":"2026-09-19T16:01:14.775Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_cb_soc.o"}

data: {"time":"2026-09-19T16:01:14.916Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_cb_wrt.o"}

data: {"time":"2026-09-19T16:01:15.113Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_cfgable.o"}

data: {"time":"2026-09-19T16:01:15.294Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_dirhie.o"}

data: {"time":"2026-09-19T16:01:15.444Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_doswin.o"}

data: {"time":"2026-09-19T16:01:15.578Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_easysrc.o"}

data: {"time":"2026-09-19T16:01:15.743Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_filetime.o"}

data: {"time":"2026-09-19T16:01:15.886Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_findfile.o"}

data: {"time":"2026-09-19T16:01:16.027Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_formparse.o"}

data: {"time":"2026-09-19T16:01:16.256Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_getparam.o"}

data: {"time":"2026-09-19T16:01:16.637Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_getpass.o"}

data: {"time":"2026-09-19T16:01:16.778Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_help.o"}

data: {"time":"2026-09-19T16:01:16.935Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_helpers.o"}

data: {"time":"2026-09-19T16:01:17.071Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_ipfs.o"}

data: {"time":"2026-09-19T16:01:17.257Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_libinfo.o"}

data: {"time":"2026-09-19T16:01:17.432Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_listhelp.o"}

data: {"time":"2026-09-19T16:01:17.573Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_main.o"}

data: {"time":"2026-09-19T16:01:17.730Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_msgs.o"}

data: {"time":"2026-09-19T16:01:17.908Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_operate.o"}

data: {"time":"2026-09-19T16:01:18.320Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_operhlp.o"}

data: {"time":"2026-09-19T16:01:18.503Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_paramhlp.o"}

data: {"time":"2026-09-19T16:01:18.731Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_parsecfg.o"}

data: {"time":"2026-09-19T16:01:18.918Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_progress.o"}

data: {"time":"2026-09-19T16:01:19.084Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_setopt.o"}

data: {"time":"2026-09-19T16:01:19.609Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_ssls.o"}

data: {"time":"2026-09-19T16:01:19.781Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_stderr.o"}

data: {"time":"2026-09-19T16:01:19.920Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_urlglob.o"}

data: {"time":"2026-09-19T16:01:20.138Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_util.o"}

data: {"time":"2026-09-19T16:01:20.292Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_vms.o"}

data: {"time":"2026-09-19T16:01:20.432Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_writeout.o"}

data: {"time":"2026-09-19T16:01:20.696Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_writeout_json.o"}

data: {"time":"2026-09-19T16:01:20.867Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_xattr.o"}

data: {"time":"2026-09-19T16:01:21.018Z","priority":"6","pid":"2830187","message":"  CC       curl-var.o"}

data: {"time":"2026-09-19T16:01:21.224Z","priority":"6","pid":"2830187","message":"  CC       toolx/curl-tool_time.o"}

data: {"time":"2026-09-19T16:01:21.384Z","priority":"6","pid":"2830187","message":"echo '/* !checksrc! disable COPYRIGHT all */' > tool_hugehelp.c;   \\"}

data: {"time":"2026-09-19T16:01:21.385Z","priority":"6","pid":"2830187","message":"echo '#include \"tool_hugehelp.h\"' >> tool_hugehelp.c"}

data: {"time":"2026-09-19T16:01:21.395Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_hugehelp.o"}

data: {"time":"2026-09-19T16:01:21.546Z","priority":"6","pid":"2830187","message":"echo '/* !checksrc! disable COPYRIGHT all */' > tool_ca_embed.c"}

data: {"time":"2026-09-19T16:01:21.551Z","priority":"6","pid":"2830187","message":"echo 'extern const void *curl_ca_embed; const void *curl_ca_embed;' >> tool_ca_embed.c"}

data: {"time":"2026-09-19T16:01:21.559Z","priority":"6","pid":"2830187","message":"  CC       curl-tool_ca_embed.o"}

data: {"time":"2026-09-19T16:01:21.594Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-base64.o"}

data: {"time":"2026-09-19T16:01:21.768Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-basename.o"}

data: {"time":"2026-09-19T16:01:21.905Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-dynbuf.o"}

data: {"time":"2026-09-19T16:01:22.052Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-fopen.o"}

data: {"time":"2026-09-19T16:01:22.179Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-multibyte.o"}

data: {"time":"2026-09-19T16:01:22.304Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-nonblock.o"}

data: {"time":"2026-09-19T16:01:22.434Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-strcopy.o"}

data: {"time":"2026-09-19T16:01:22.562Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-strdup.o"}

data: {"time":"2026-09-19T16:01:22.696Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-strerr.o"}

data: {"time":"2026-09-19T16:01:22.838Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-strparse.o"}

data: {"time":"2026-09-19T16:01:23.015Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-timediff.o"}

data: {"time":"2026-09-19T16:01:23.147Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-timeval.o"}

data: {"time":"2026-09-19T16:01:23.282Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-version_win32.o"}

data: {"time":"2026-09-19T16:01:23.406Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-wait.o"}

data: {"time":"2026-09-19T16:01:23.537Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-warnless.o"}

data: {"time":"2026-09-19T16:01:23.671Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/curl-winapi.o"}

data: {"time":"2026-09-19T16:01:23.799Z","priority":"6","pid":"2830187","message":"  CCLD     curl"}

data: {"time":"2026-09-19T16:01:34.655Z","priority":"6","pid":"2830187","message":"  CC       curlinfo.o"}

data: {"time":"2026-09-19T16:01:34.857Z","priority":"6","pid":"2830187","message":"  CCLD     curlinfo"}

data: {"time":"2026-09-19T16:01:35.173Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-config2setopts.lo"}

data: {"time":"2026-09-19T16:01:35.886Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-slist_wc.lo"}

data: {"time":"2026-09-19T16:01:36.276Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-terminal.lo"}

data: {"time":"2026-09-19T16:01:36.649Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_cb_dbg.lo"}

data: {"time":"2026-09-19T16:01:37.107Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_cb_hdr.lo"}

data: {"time":"2026-09-19T16:01:37.641Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_cb_prg.lo"}

data: {"time":"2026-09-19T16:01:38.053Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_cb_rea.lo"}

data: {"time":"2026-09-19T16:01:38.462Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_cb_see.lo"}

data: {"time":"2026-09-19T16:01:38.839Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_cb_soc.lo"}

data: {"time":"2026-09-19T16:01:39.214Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_cb_wrt.lo"}

data: {"time":"2026-09-19T16:01:39.679Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_cfgable.lo"}

data: {"time":"2026-09-19T16:01:40.164Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_dirhie.lo"}

data: {"time":"2026-09-19T16:01:40.624Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_doswin.lo"}

data: {"time":"2026-09-19T16:01:40.980Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_easysrc.lo"}

data: {"time":"2026-09-19T16:01:41.397Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_filetime.lo"}

data: {"time":"2026-09-19T16:01:41.773Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_findfile.lo"}

data: {"time":"2026-09-19T16:01:42.144Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_formparse.lo"}

data: {"time":"2026-09-19T16:01:42.686Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_getparam.lo"}

data: {"time":"2026-09-19T16:01:43.569Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_getpass.lo"}

data: {"time":"2026-09-19T16:01:43.993Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_help.lo"}

data: {"time":"2026-09-19T16:01:44.448Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_helpers.lo"}

data: {"time":"2026-09-19T16:01:44.845Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_ipfs.lo"}

data: {"time":"2026-09-19T16:01:45.303Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_libinfo.lo"}

data: {"time":"2026-09-19T16:01:45.704Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_listhelp.lo"}

data: {"time":"2026-09-19T16:01:46.091Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_main.lo"}

data: {"time":"2026-09-19T16:01:46.480Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_msgs.lo"}

data: {"time":"2026-09-19T16:01:46.885Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_operate.lo"}

data: {"time":"2026-09-19T16:01:47.787Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_operhlp.lo"}

data: {"time":"2026-09-19T16:01:48.227Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_paramhlp.lo"}

data: {"time":"2026-09-19T16:01:48.741Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_parsecfg.lo"}

data: {"time":"2026-09-19T16:01:49.202Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_progress.lo"}

data: {"time":"2026-09-19T16:01:49.719Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_setopt.lo"}

data: {"time":"2026-09-19T16:01:50.875Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_ssls.lo"}

data: {"time":"2026-09-19T16:01:51.332Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_stderr.lo"}

data: {"time":"2026-09-19T16:01:51.772Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_urlglob.lo"}

data: {"time":"2026-09-19T16:01:52.419Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_util.lo"}

data: {"time":"2026-09-19T16:01:52.793Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_vms.lo"}

data: {"time":"2026-09-19T16:01:53.145Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_writeout.lo"}

data: {"time":"2026-09-19T16:01:53.716Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_writeout_json.lo"}

data: {"time":"2026-09-19T16:01:54.089Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-tool_xattr.lo"}

data: {"time":"2026-09-19T16:01:54.449Z","priority":"6","pid":"2830187","message":"  CC       libcurltool_la-var.lo"}

data: {"time":"2026-09-19T16:01:54.943Z","priority":"6","pid":"2830187","message":"  CC       toolx/libcurltool_la-tool_time.lo"}

data: {"time":"2026-09-19T16:01:55.285Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-base64.lo"}

data: {"time":"2026-09-19T16:01:55.651Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-basename.lo"}

data: {"time":"2026-09-19T16:01:56.004Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-dynbuf.lo"}

data: {"time":"2026-09-19T16:01:56.371Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-fopen.lo"}

data: {"time":"2026-09-19T16:01:56.710Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-multibyte.lo"}

data: {"time":"2026-09-19T16:01:57.044Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-nonblock.lo"}

data: {"time":"2026-09-19T16:01:57.362Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-strcopy.lo"}

data: {"time":"2026-09-19T16:01:57.694Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-strdup.lo"}

data: {"time":"2026-09-19T16:01:58.052Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-strerr.lo"}

data: {"time":"2026-09-19T16:01:58.453Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-strparse.lo"}

data: {"time":"2026-09-19T16:01:58.860Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-timediff.lo"}

data: {"time":"2026-09-19T16:01:59.197Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-timeval.lo"}

data: {"time":"2026-09-19T16:01:59.568Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-version_win32.lo"}

data: {"time":"2026-09-19T16:01:59.927Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-wait.lo"}

data: {"time":"2026-09-19T16:02:00.309Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-warnless.lo"}

data: {"time":"2026-09-19T16:02:00.659Z","priority":"6","pid":"2830187","message":"  CC       ../lib/curlx/libcurltool_la-winapi.lo"}

data: {"time":"2026-09-19T16:02:01.024Z","priority":"6","pid":"2830187","message":"  CCLD     libcurltool.la"}

data: {"time":"2026-09-19T16:02:01.420Z","priority":"6","pid":"2830187","message":"make[1]: Leaving directory '/build/curl/src/build-curl/src'"}

data: {"time":"2026-09-19T16:02:01.422Z","priority":"6","pid":"2830187","message":"Making all in scripts"}

data: {"time":"2026-09-19T16:02:01.429Z","priority":"6","pid":"2830187","message":"make[1]: Entering directory '/build/curl/src/build-curl/scripts'"}

data: {"time":"2026-09-19T16:02:01.430Z","priority":"6","pid":"2830187","message":"/usr/bin/perl /build/curl/src/curl/scripts/completion.pl --opts-dir /build/curl/src/curl/docs/cmdline-opts --shell zsh > _curl"}

data: {"time":"2026-09-19T16:02:01.585Z","priority":"6","pid":"2830187","message":"/usr/bin/perl /build/curl/src/curl/scripts/completion.pl --opts-dir /build/curl/src/curl/docs/cmdline-opts --shell fish > curl.fish"}

data: {"time":"2026-09-19T16:02:01.710Z","priority":"6","pid":"2830187","message":"make[1]: Leaving directory '/build/curl/src/build-curl/scripts'"}

data: {"time":"2026-09-19T16:02:01.720Z","priority":"6","pid":"2830187","message":"make[1]: Entering directory '/build/curl/src/build-curl'"}

data: {"time":"2026-09-19T16:02:01.721Z","priority":"6","pid":"2830187","message":"make[1]: Nothing to be done for 'all-am'."}

data: {"time":"2026-09-19T16:02:01.722Z","priority":"6","pid":"2830187","message":"make[1]: Leaving directory '/build/curl/src/build-curl'"}

data: {"time":"2026-09-19T16:02:02.123Z","priority":"6","pid":"2830187","message":"checking whether to enable maintainer-specific portions of Makefiles... no"}

data: {"time":"2026-09-19T16:02:02.133Z","priority":"6","pid":"2830187","message":"checking whether make supports nested variables... yes"}

data: {"time":"2026-09-19T16:02:02.134Z","priority":"6","pid":"2830187","message":"checking whether to enable curl debug features (for developing curl)... no"}

data: {"time":"2026-09-19T16:02:02.135Z","priority":"6","pid":"2830187","message":"checking whether to enable compiler optimizer... (assumed) yes"}

data: {"time":"2026-09-19T16:02:02.136Z","priority":"6","pid":"2830187","message":"checking whether to enable strict compiler warnings... no"}

data: {"time":"2026-09-19T16:02:02.137Z","priority":"6","pid":"2830187","message":"checking whether to enable compiler warnings as errors... no"}

data: {"time":"2026-09-19T16:02:02.138Z","priority":"6","pid":"2830187","message":"checking whether to enable hiding of library internal symbols... yes"}

data: {"time":"2026-09-19T16:02:02.139Z","priority":"6","pid":"2830187","message":"checking whether to enable c-ares for DNS lookups... no"}

data: {"time":"2026-09-19T16:02:02.140Z","priority":"6","pid":"2830187","message":"checking whether to disable dependency on -lrt... (assumed no)"}

data: {"time":"2026-09-19T16:02:02.141Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTPSRR support... no"}

data: {"time":"2026-09-19T16:02:02.141Z","priority":"6","pid":"2830187","message":"checking whether to enable ECH support... no"}

data: {"time":"2026-09-19T16:02:02.142Z","priority":"6","pid":"2830187","message":"checking whether to enable SSL session export support... no"}

data: {"time":"2026-09-19T16:02:02.143Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTP/3 proxy support... no"}

data: {"time":"2026-09-19T16:02:02.144Z","priority":"6","pid":"2830187","message":"checking for path separator... :"}

data: {"time":"2026-09-19T16:02:02.145Z","priority":"6","pid":"2830187","message":"checking for sed... /usr/bin/sed"}

data: {"time":"2026-09-19T16:02:02.146Z","priority":"6","pid":"2830187","message":"checking for grep... /usr/bin/grep"}

data: {"time":"2026-09-19T16:02:02.151Z","priority":"6","pid":"2830187","message":"checking that grep -E works... yes"}

data: {"time":"2026-09-19T16:02:02.153Z","priority":"6","pid":"2830187","message":"checking for ar... /usr/bin/ar"}

data: {"time":"2026-09-19T16:02:02.176Z","priority":"6","pid":"2830187","message":"checking for a BSD-compatible install... /usr/bin/install -c"}

data: {"time":"2026-09-19T16:02:02.179Z","priority":"6","pid":"2830187","message":"checking for gcc... gcc"}

data: {"time":"2026-09-19T16:02:02.427Z","priority":"6","pid":"2830187","message":"checking whether the C compiler works... yes"}

data: {"time":"2026-09-19T16:02:02.429Z","priority":"6","pid":"2830187","message":"checking for C compiler default output file name... a.out"}

data: {"time":"2026-09-19T16:02:02.612Z","priority":"6","pid":"2830187","message":"checking for suffix of executables..."}

data: {"time":"2026-09-19T16:02:02.842Z","priority":"6","pid":"2830187","message":"checking whether we are cross compiling... no"}

data: {"time":"2026-09-19T16:02:02.891Z","priority":"6","pid":"2830187","message":"checking for suffix of object files... o"}

data: {"time":"2026-09-19T16:02:02.937Z","priority":"6","pid":"2830187","message":"checking whether the compiler supports GNU C... yes"}

data: {"time":"2026-09-19T16:02:02.993Z","priority":"6","pid":"2830187","message":"checking whether gcc accepts -g... yes"}

data: {"time":"2026-09-19T16:02:03.040Z","priority":"6","pid":"2830187","message":"checking for gcc option to enable C23 features... none needed"}

data: {"time":"2026-09-19T16:02:03.128Z","priority":"6","pid":"2830187","message":"checking whether gcc understands -c and -o together... yes"}

data: {"time":"2026-09-19T16:02:03.194Z","priority":"6","pid":"2830187","message":"checking how to run the C preprocessor... gcc -E"}

data: {"time":"2026-09-19T16:02:03.320Z","priority":"6","pid":"2830187","message":"checking for stdio.h... yes"}

data: {"time":"2026-09-19T16:02:03.381Z","priority":"6","pid":"2830187","message":"checking for stdlib.h... yes"}

data: {"time":"2026-09-19T16:02:03.451Z","priority":"6","pid":"2830187","message":"checking for string.h... yes"}

data: {"time":"2026-09-19T16:02:03.534Z","priority":"6","pid":"2830187","message":"checking for inttypes.h... yes"}

data: {"time":"2026-09-19T16:02:03.608Z","priority":"6","pid":"2830187","message":"checking for stdint.h... yes"}

data: {"time":"2026-09-19T16:02:03.685Z","priority":"6","pid":"2830187","message":"checking for strings.h... yes"}

data: {"time":"2026-09-19T16:02:03.761Z","priority":"6","pid":"2830187","message":"checking for sys/stat.h... yes"}

data: {"time":"2026-09-19T16:02:03.840Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... yes"}

data: {"time":"2026-09-19T16:02:03.925Z","priority":"6","pid":"2830187","message":"checking for unistd.h... yes"}

data: {"time":"2026-09-19T16:02:04.010Z","priority":"6","pid":"2830187","message":"checking for stdatomic.h... yes"}

data: {"time":"2026-09-19T16:02:04.205Z","priority":"6","pid":"2830187","message":"checking if _Atomic is available... yes"}

data: {"time":"2026-09-19T16:02:04.212Z","priority":"6","pid":"2830187","message":"checking whether sleep supports fractional seconds... yes"}

data: {"time":"2026-09-19T16:02:04.339Z","priority":"6","pid":"2830187","message":"checking filesystem timestamp resolution... 0.01"}

data: {"time":"2026-09-19T16:02:04.351Z","priority":"6","pid":"2830187","message":"checking whether build environment is sane... yes"}

data: {"time":"2026-09-19T16:02:04.367Z","priority":"6","pid":"2830187","message":"checking for a race-free mkdir -p... /usr/bin/mkdir -p"}

data: {"time":"2026-09-19T16:02:04.368Z","priority":"6","pid":"2830187","message":"checking for gawk... gawk"}

data: {"time":"2026-09-19T16:02:04.387Z","priority":"6","pid":"2830187","message":"checking whether make sets $(MAKE)... yes"}

data: {"time":"2026-09-19T16:02:04.416Z","priority":"6","pid":"2830187","message":"checking whether make supports the include directive... yes (GNU style)"}

data: {"time":"2026-09-19T16:02:04.430Z","priority":"6","pid":"2830187","message":"checking xargs -n works... yes"}

data: {"time":"2026-09-19T16:02:04.444Z","priority":"6","pid":"2830187","message":"checking whether UID '969' is supported by ustar format... yes"}

data: {"time":"2026-09-19T16:02:04.445Z","priority":"6","pid":"2830187","message":"checking whether GID '969' is supported by ustar format... yes"}

data: {"time":"2026-09-19T16:02:04.479Z","priority":"6","pid":"2830187","message":"checking how to create a ustar tar archive... gnutar"}

data: {"time":"2026-09-19T16:02:04.556Z","priority":"6","pid":"2830187","message":"checking dependency style of gcc... gcc3"}

data: {"time":"2026-09-19T16:02:04.557Z","priority":"6","pid":"2830187","message":"checking curl version... 8.22.0"}

data: {"time":"2026-09-19T16:02:04.565Z","priority":"6","pid":"2830187","message":"checking for perl... /usr/bin/perl"}

data: {"time":"2026-09-19T16:02:04.575Z","priority":"6","pid":"2830187","message":"checking for httpd... no"}

data: {"time":"2026-09-19T16:02:04.576Z","priority":"6","pid":"2830187","message":"checking for apache2... no"}

data: {"time":"2026-09-19T16:02:04.577Z","priority":"6","pid":"2830187","message":"checking for apxs... no"}

data: {"time":"2026-09-19T16:02:04.578Z","priority":"6","pid":"2830187","message":"configure: httpd/apache2 not in PATH, http tests disabled"}

data: {"time":"2026-09-19T16:02:04.578Z","priority":"6","pid":"2830187","message":"configure: apxs not in PATH, http tests disabled"}

data: {"time":"2026-09-19T16:02:04.580Z","priority":"6","pid":"2830187","message":"checking for danted... no"}

data: {"time":"2026-09-19T16:02:04.580Z","priority":"6","pid":"2830187","message":"checking for danted... no"}

data: {"time":"2026-09-19T16:02:04.582Z","priority":"6","pid":"2830187","message":"checking for sshd... no"}

data: {"time":"2026-09-19T16:02:04.582Z","priority":"6","pid":"2830187","message":"checking for sshd... no"}

data: {"time":"2026-09-19T16:02:04.584Z","priority":"6","pid":"2830187","message":"checking for sftp-server... no"}

data: {"time":"2026-09-19T16:02:04.585Z","priority":"6","pid":"2830187","message":"checking for sftp-server... no"}

data: {"time":"2026-09-19T16:02:04.585Z","priority":"6","pid":"2830187","message":"checking for nghttpx... no"}

data: {"time":"2026-09-19T16:02:04.587Z","priority":"6","pid":"2830187","message":"checking for caddy... no"}

data: {"time":"2026-09-19T16:02:04.725Z","priority":"6","pid":"2830187","message":"checking build system type... x86_64-pc-linux-gnu"}

data: {"time":"2026-09-19T16:02:04.727Z","priority":"6","pid":"2830187","message":"checking host system type... x86_64-pc-linux-gnu"}

data: {"time":"2026-09-19T16:02:04.736Z","priority":"6","pid":"2830187","message":"checking for egrep -e... /usr/bin/grep -E"}

data: {"time":"2026-09-19T16:02:04.763Z","priority":"6","pid":"2830187","message":"checking if OS is AIX (to define _ALL_SOURCE)... no"}

data: {"time":"2026-09-19T16:02:04.808Z","priority":"6","pid":"2830187","message":"checking if _THREAD_SAFE is already defined... no"}

data: {"time":"2026-09-19T16:02:04.811Z","priority":"6","pid":"2830187","message":"checking if _THREAD_SAFE is actually needed... no"}

data: {"time":"2026-09-19T16:02:04.812Z","priority":"6","pid":"2830187","message":"checking if _THREAD_SAFE is onwards defined... no"}

data: {"time":"2026-09-19T16:02:04.854Z","priority":"6","pid":"2830187","message":"checking if _REENTRANT is already defined... no"}

data: {"time":"2026-09-19T16:02:05.982Z","priority":"6","pid":"2830187","message":"checking if _REENTRANT is actually needed... no"}

data: {"time":"2026-09-19T16:02:05.983Z","priority":"6","pid":"2830187","message":"checking if _REENTRANT is onwards defined... no"}

data: {"time":"2026-09-19T16:02:06.069Z","priority":"6","pid":"2830187","message":"checking for gcc option to support large files... none needed"}

data: {"time":"2026-09-19T16:02:06.076Z","priority":"6","pid":"2830187","message":"checking how to print strings... printf"}

data: {"time":"2026-09-19T16:02:06.077Z","priority":"6","pid":"2830187","message":"checking for a sed that does not truncate output... (cached) /usr/bin/sed"}

data: {"time":"2026-09-19T16:02:06.080Z","priority":"6","pid":"2830187","message":"checking for grep that handles long lines and -e... (cached) /usr/bin/grep"}

data: {"time":"2026-09-19T16:02:06.085Z","priority":"6","pid":"2830187","message":"checking for egrep... /usr/bin/grep -E"}

data: {"time":"2026-09-19T16:02:06.090Z","priority":"6","pid":"2830187","message":"checking for fgrep... /usr/bin/grep -F"}

data: {"time":"2026-09-19T16:02:06.102Z","priority":"6","pid":"2830187","message":"checking for ld used by gcc... /usr/bin/ld"}

data: {"time":"2026-09-19T16:02:06.110Z","priority":"6","pid":"2830187","message":"checking if the linker (/usr/bin/ld) is GNU ld... yes"}

data: {"time":"2026-09-19T16:02:06.119Z","priority":"6","pid":"2830187","message":"checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B"}

data: {"time":"2026-09-19T16:02:06.172Z","priority":"6","pid":"2830187","message":"checking the name lister (/usr/bin/nm -B) interface... BSD nm"}

data: {"time":"2026-09-19T16:02:06.173Z","priority":"6","pid":"2830187","message":"checking whether ln -s works... yes"}

data: {"time":"2026-09-19T16:02:06.185Z","priority":"6","pid":"2830187","message":"checking the maximum length of command line arguments... 1572864"}

data: {"time":"2026-09-19T16:02:06.196Z","priority":"6","pid":"2830187","message":"checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop"}

data: {"time":"2026-09-19T16:02:06.197Z","priority":"6","pid":"2830187","message":"checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop"}

data: {"time":"2026-09-19T16:02:06.199Z","priority":"6","pid":"2830187","message":"checking for /usr/bin/ld option to reload object files... -r"}

data: {"time":"2026-09-19T16:02:06.200Z","priority":"6","pid":"2830187","message":"checking for file... file"}

data: {"time":"2026-09-19T16:02:06.201Z","priority":"6","pid":"2830187","message":"checking for objdump... objdump"}

data: {"time":"2026-09-19T16:02:06.203Z","priority":"6","pid":"2830187","message":"checking how to recognize dependent libraries... pass_all"}

data: {"time":"2026-09-19T16:02:06.204Z","priority":"6","pid":"2830187","message":"checking for dlltool... no"}

data: {"time":"2026-09-19T16:02:06.205Z","priority":"6","pid":"2830187","message":"checking how to associate runtime and link libraries... printf %s\\n"}

data: {"time":"2026-09-19T16:02:06.207Z","priority":"6","pid":"2830187","message":"checking for ranlib... ranlib"}

data: {"time":"2026-09-19T16:02:06.264Z","priority":"6","pid":"2830187","message":"checking for archiver @FILE support... @"}

data: {"time":"2026-09-19T16:02:06.268Z","priority":"6","pid":"2830187","message":"checking for strip... strip"}

data: {"time":"2026-09-19T16:02:06.510Z","priority":"6","pid":"2830187","message":"checking command to parse /usr/bin/nm -B output from gcc object... ok"}

data: {"time":"2026-09-19T16:02:06.517Z","priority":"6","pid":"2830187","message":"checking for sysroot... no"}

data: {"time":"2026-09-19T16:02:06.529Z","priority":"6","pid":"2830187","message":"checking for a working dd... /usr/bin/dd"}

data: {"time":"2026-09-19T16:02:06.537Z","priority":"6","pid":"2830187","message":"checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1"}

data: {"time":"2026-09-19T16:02:06.571Z","priority":"6","pid":"2830187","message":"checking for mt... no"}

data: {"time":"2026-09-19T16:02:06.578Z","priority":"6","pid":"2830187","message":"checking if : is a manifest tool... no"}

data: {"time":"2026-09-19T16:02:06.659Z","priority":"6","pid":"2830187","message":"checking for dlfcn.h... yes"}

data: {"time":"2026-09-19T16:02:06.662Z","priority":"6","pid":"2830187","message":"checking which variant of shared library versioning to provide... (default) aix"}

data: {"time":"2026-09-19T16:02:06.670Z","priority":"6","pid":"2830187","message":"checking for objdir... .libs"}

data: {"time":"2026-09-19T16:02:06.938Z","priority":"6","pid":"2830187","message":"checking if gcc supports -fno-rtti -fno-exceptions... no"}

data: {"time":"2026-09-19T16:02:06.940Z","priority":"6","pid":"2830187","message":"checking for gcc option to produce PIC... -fPIC -DPIC"}

data: {"time":"2026-09-19T16:02:06.987Z","priority":"6","pid":"2830187","message":"checking if gcc PIC flag -fPIC -DPIC works... yes"}

data: {"time":"2026-09-19T16:02:07.227Z","priority":"6","pid":"2830187","message":"checking if gcc static flag -static works... yes"}

data: {"time":"2026-09-19T16:02:07.285Z","priority":"6","pid":"2830187","message":"checking if gcc supports -c -o file.o... yes"}

data: {"time":"2026-09-19T16:02:07.285Z","priority":"6","pid":"2830187","message":"checking if gcc supports -c -o file.o... (cached) yes"}

data: {"time":"2026-09-19T16:02:07.318Z","priority":"6","pid":"2830187","message":"checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes"}

data: {"time":"2026-09-19T16:02:07.476Z","priority":"6","pid":"2830187","message":"checking whether -lc should be explicitly linked in... no"}

data: {"time":"2026-09-19T16:02:07.713Z","priority":"6","pid":"2830187","message":"checking dynamic linker characteristics... GNU/Linux ld.so"}

data: {"time":"2026-09-19T16:02:07.714Z","priority":"6","pid":"2830187","message":"checking how to hardcode library paths into programs... immediate"}

data: {"time":"2026-09-19T16:02:07.720Z","priority":"6","pid":"2830187","message":"checking whether stripping libraries is possible... yes"}

data: {"time":"2026-09-19T16:02:07.721Z","priority":"6","pid":"2830187","message":"checking if libtool supports shared libraries... yes"}

data: {"time":"2026-09-19T16:02:07.722Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries... yes"}

data: {"time":"2026-09-19T16:02:07.723Z","priority":"6","pid":"2830187","message":"checking whether to build static libraries... yes"}

data: {"time":"2026-09-19T16:02:07.725Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with -version-info... yes"}

data: {"time":"2026-09-19T16:02:07.726Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with -no-undefined... no"}

data: {"time":"2026-09-19T16:02:07.727Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with -mimpure-text... no"}

data: {"time":"2026-09-19T16:02:07.728Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with PIC... yes"}

data: {"time":"2026-09-19T16:02:07.728Z","priority":"6","pid":"2830187","message":"checking whether to build static libraries with PIC... yes"}

data: {"time":"2026-09-19T16:02:07.729Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries only... no"}

data: {"time":"2026-09-19T16:02:07.730Z","priority":"6","pid":"2830187","message":"checking whether to build static libraries only... no"}

data: {"time":"2026-09-19T16:02:07.731Z","priority":"6","pid":"2830187","message":"checking for windres... no"}

data: {"time":"2026-09-19T16:02:07.796Z","priority":"6","pid":"2830187","message":"checking if cpp -P is needed... yes"}

data: {"time":"2026-09-19T16:02:07.827Z","priority":"6","pid":"2830187","message":"checking if cpp -P works... yes"}

data: {"time":"2026-09-19T16:02:07.957Z","priority":"6","pid":"2830187","message":"checking if compiler is DEC/Compaq/HP C... no"}

data: {"time":"2026-09-19T16:02:08.008Z","priority":"6","pid":"2830187","message":"checking if compiler is HP-UX C... no"}

data: {"time":"2026-09-19T16:02:08.065Z","priority":"6","pid":"2830187","message":"checking if compiler is IBM C... no"}

data: {"time":"2026-09-19T16:02:08.121Z","priority":"6","pid":"2830187","message":"checking if compiler is Intel C... no"}

data: {"time":"2026-09-19T16:02:08.174Z","priority":"6","pid":"2830187","message":"checking if compiler is clang... no"}

data: {"time":"2026-09-19T16:02:08.228Z","priority":"6","pid":"2830187","message":"checking if compiler is GNU C... yes"}

data: {"time":"2026-09-19T16:02:08.245Z","priority":"6","pid":"2830187","message":"checking compiler version... gcc '1600' (raw: '16')"}

data: {"time":"2026-09-19T16:02:08.296Z","priority":"6","pid":"2830187","message":"checking if compiler is SunPro C... no"}

data: {"time":"2026-09-19T16:02:08.352Z","priority":"6","pid":"2830187","message":"checking if compiler is Tiny C... no"}

data: {"time":"2026-09-19T16:02:08.353Z","priority":"6","pid":"2830187","message":"checking for code coverage support... no"}

data: {"time":"2026-09-19T16:02:08.404Z","priority":"6","pid":"2830187","message":"checking whether build target is a native Windows one... no"}

data: {"time":"2026-09-19T16:02:08.803Z","priority":"6","pid":"2830187","message":"checking if compiler accepts some basic options... yes"}

data: {"time":"2026-09-19T16:02:08.804Z","priority":"6","pid":"2830187","message":"configure: compiler options added: -Werror-implicit-function-declaration"}

data: {"time":"2026-09-19T16:02:08.808Z","priority":"6","pid":"2830187","message":"checking if compiler optimizer assumed setting might be used... no"}

data: {"time":"2026-09-19T16:02:09.272Z","priority":"6","pid":"2830187","message":"checking if compiler accepts strict warning options... yes"}

data: {"time":"2026-09-19T16:02:09.274Z","priority":"6","pid":"2830187","message":"configure: compiler options added: -Wno-system-headers"}

data: {"time":"2026-09-19T16:02:09.445Z","priority":"6","pid":"2830187","message":"checking if compiler halts on compilation errors... yes"}

data: {"time":"2026-09-19T16:02:09.501Z","priority":"6","pid":"2830187","message":"checking if compiler halts on negative sized arrays... yes"}

data: {"time":"2026-09-19T16:02:09.571Z","priority":"6","pid":"2830187","message":"checking if compiler halts on function prototype mismatch... yes"}

data: {"time":"2026-09-19T16:02:09.661Z","priority":"6","pid":"2830187","message":"checking if compiler supports hiding library internal symbols... yes"}

data: {"time":"2026-09-19T16:02:09.662Z","priority":"6","pid":"2830187","message":"checking whether build target supports Win32 crypto API... no"}

data: {"time":"2026-09-19T16:02:09.664Z","priority":"6","pid":"2830187","message":"checking whether to build libcurl and curl in \"unity\" mode... no"}

data: {"time":"2026-09-19T16:02:09.665Z","priority":"6","pid":"2830187","message":"checking whether to support http... yes"}

data: {"time":"2026-09-19T16:02:09.666Z","priority":"6","pid":"2830187","message":"checking whether to support ftp... yes"}

data: {"time":"2026-09-19T16:02:09.667Z","priority":"6","pid":"2830187","message":"checking whether to support file... yes"}

data: {"time":"2026-09-19T16:02:09.667Z","priority":"6","pid":"2830187","message":"checking whether to support IPFS... yes"}

data: {"time":"2026-09-19T16:02:09.668Z","priority":"6","pid":"2830187","message":"checking whether to support ldap... no"}

data: {"time":"2026-09-19T16:02:09.669Z","priority":"6","pid":"2830187","message":"checking whether to support ldaps... no"}

data: {"time":"2026-09-19T16:02:09.670Z","priority":"6","pid":"2830187","message":"checking whether to support rtsp... yes"}

data: {"time":"2026-09-19T16:02:09.671Z","priority":"6","pid":"2830187","message":"checking whether to support proxies... yes"}

data: {"time":"2026-09-19T16:02:09.671Z","priority":"6","pid":"2830187","message":"checking whether to support dict... yes"}

data: {"time":"2026-09-19T16:02:09.672Z","priority":"6","pid":"2830187","message":"checking whether to support telnet... yes"}

data: {"time":"2026-09-19T16:02:09.673Z","priority":"6","pid":"2830187","message":"checking whether to support tftp... yes"}

data: {"time":"2026-09-19T16:02:09.673Z","priority":"6","pid":"2830187","message":"checking whether to support pop3... yes"}

data: {"time":"2026-09-19T16:02:09.674Z","priority":"6","pid":"2830187","message":"checking whether to support imap... yes"}

data: {"time":"2026-09-19T16:02:09.674Z","priority":"6","pid":"2830187","message":"checking whether to support smb... no"}

data: {"time":"2026-09-19T16:02:09.675Z","priority":"6","pid":"2830187","message":"checking whether to support smtp... yes"}

data: {"time":"2026-09-19T16:02:09.676Z","priority":"6","pid":"2830187","message":"checking whether to support gopher... yes"}

data: {"time":"2026-09-19T16:02:09.676Z","priority":"6","pid":"2830187","message":"checking whether to support mqtt... no"}

data: {"time":"2026-09-19T16:02:09.677Z","priority":"6","pid":"2830187","message":"checking enable curl_global_init_mem debug build... no"}

data: {"time":"2026-09-19T16:02:09.678Z","priority":"6","pid":"2830187","message":"checking whether to provide built-in manual... no"}

data: {"time":"2026-09-19T16:02:09.679Z","priority":"6","pid":"2830187","message":"checking whether to build documentation... yes"}

data: {"time":"2026-09-19T16:02:09.679Z","priority":"6","pid":"2830187","message":"checking whether to enable generation of C code... yes"}

data: {"time":"2026-09-19T16:02:09.680Z","priority":"6","pid":"2830187","message":"checking whether to use libgcc... no"}

data: {"time":"2026-09-19T16:02:09.681Z","priority":"6","pid":"2830187","message":"checking whether to use libbacktrace... no"}

data: {"time":"2026-09-19T16:02:09.743Z","priority":"6","pid":"2830187","message":"checking if X/Open network library is required... no"}

data: {"time":"2026-09-19T16:02:09.911Z","priority":"6","pid":"2830187","message":"checking for gethostbyname... yes"}

data: {"time":"2026-09-19T16:02:09.914Z","priority":"6","pid":"2830187","message":"checking whether build target is a native Windows one... (cached) no"}

data: {"time":"2026-09-19T16:02:09.959Z","priority":"6","pid":"2830187","message":"checking for proto/bsdsocket.h... no"}

data: {"time":"2026-09-19T16:02:10.131Z","priority":"6","pid":"2830187","message":"checking for connect in libraries... yes"}

data: {"time":"2026-09-19T16:02:10.133Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:10.180Z","priority":"6","pid":"2830187","message":"checking for monotonic clock_gettime... yes"}

data: {"time":"2026-09-19T16:02:10.363Z","priority":"6","pid":"2830187","message":"checking for clock_gettime in libraries... no additional lib required"}

data: {"time":"2026-09-19T16:02:10.600Z","priority":"6","pid":"2830187","message":"checking if monotonic clock_gettime works... yes"}

data: {"time":"2026-09-19T16:02:10.606Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:10.653Z","priority":"6","pid":"2830187","message":"checking for raw monotonic clock_gettime... yes"}

data: {"time":"2026-09-19T16:02:10.672Z","priority":"6","pid":"2830187","message":"checking for pkg-config... /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:10.678Z","priority":"6","pid":"2830187","message":"checking for zlib options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:10.807Z","priority":"6","pid":"2830187","message":"checking for zlib.h... yes"}

data: {"time":"2026-09-19T16:02:10.808Z","priority":"6","pid":"2830187","message":"configure: found both libz and libz.h header"}

data: {"time":"2026-09-19T16:02:10.970Z","priority":"6","pid":"2830187","message":"checking for BrotliDecoderDecompress in -lbrotlidec... yes"}

data: {"time":"2026-09-19T16:02:11.050Z","priority":"6","pid":"2830187","message":"checking for brotli/decode.h... yes"}

data: {"time":"2026-09-19T16:02:11.212Z","priority":"6","pid":"2830187","message":"checking for ZSTD_createDStream in -lzstd... yes"}

data: {"time":"2026-09-19T16:02:11.302Z","priority":"6","pid":"2830187","message":"checking for zstd.h... yes"}

data: {"time":"2026-09-19T16:02:11.305Z","priority":"6","pid":"2830187","message":"checking whether to enable IPv6... yes"}

data: {"time":"2026-09-19T16:02:11.355Z","priority":"6","pid":"2830187","message":"checking if struct sockaddr_in6 has sin6_scope_id member... yes"}

data: {"time":"2026-09-19T16:02:11.529Z","priority":"6","pid":"2830187","message":"checking if argv can be written to... yes"}

data: {"time":"2026-09-19T16:02:11.532Z","priority":"6","pid":"2830187","message":"checking if GSS-API support is requested... yes"}

data: {"time":"2026-09-19T16:02:11.533Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:11.539Z","priority":"6","pid":"2830187","message":"checking for mit-krb5-gssapi options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:11.640Z","priority":"6","pid":"2830187","message":"checking for gss.h... no"}

data: {"time":"2026-09-19T16:02:11.743Z","priority":"6","pid":"2830187","message":"checking for gssapi/gssapi.h... yes"}

data: {"time":"2026-09-19T16:02:11.848Z","priority":"6","pid":"2830187","message":"checking for gssapi/gssapi_generic.h... yes"}

data: {"time":"2026-09-19T16:02:11.960Z","priority":"6","pid":"2830187","message":"checking for gssapi/gssapi_krb5.h... yes"}

data: {"time":"2026-09-19T16:02:11.973Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:11.978Z","priority":"6","pid":"2830187","message":"checking for mit-krb5-gssapi options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:11.984Z","priority":"6","pid":"2830187","message":"configure: GSS-API MIT Kerberos version detected: 1.22.2"}

data: {"time":"2026-09-19T16:02:12.161Z","priority":"6","pid":"2830187","message":"checking if we can link against GSS-API library... yes"}

data: {"time":"2026-09-19T16:02:12.330Z","priority":"6","pid":"2830187","message":"checking for gss_set_neg_mechs... yes"}

data: {"time":"2026-09-19T16:02:12.332Z","priority":"6","pid":"2830187","message":"checking whether to enable Windows native SSL/TLS... no"}

data: {"time":"2026-09-19T16:02:12.334Z","priority":"6","pid":"2830187","message":"checking whether to enable Amiga native SSL/TLS (AmiSSL 5)... no"}

data: {"time":"2026-09-19T16:02:12.337Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:12.342Z","priority":"6","pid":"2830187","message":"checking for openssl options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:12.353Z","priority":"6","pid":"2830187","message":"configure: pkg-config: SSL_LIBS: \"-lssl -lcrypto\""}

data: {"time":"2026-09-19T16:02:12.354Z","priority":"6","pid":"2830187","message":"configure: pkg-config: SSL_LDFLAGS: \"\""}

data: {"time":"2026-09-19T16:02:12.354Z","priority":"6","pid":"2830187","message":"configure: pkg-config: SSL_CPPFLAGS: \"\""}

data: {"time":"2026-09-19T16:02:12.696Z","priority":"6","pid":"2830187","message":"checking for HMAC_Update in -lcrypto... yes"}

data: {"time":"2026-09-19T16:02:13.032Z","priority":"6","pid":"2830187","message":"checking for SSL_connect in -lssl... yes"}

data: {"time":"2026-09-19T16:02:13.159Z","priority":"6","pid":"2830187","message":"checking for openssl/rsa.h... yes"}

data: {"time":"2026-09-19T16:02:13.267Z","priority":"6","pid":"2830187","message":"checking for openssl/crypto.h... yes"}

data: {"time":"2026-09-19T16:02:13.468Z","priority":"6","pid":"2830187","message":"checking for openssl/pem.h... yes"}

data: {"time":"2026-09-19T16:02:13.707Z","priority":"6","pid":"2830187","message":"checking for openssl/ssl.h... yes"}

data: {"time":"2026-09-19T16:02:13.824Z","priority":"6","pid":"2830187","message":"checking for openssl/err.h... yes"}

data: {"time":"2026-09-19T16:02:13.871Z","priority":"6","pid":"2830187","message":"checking for AWS-LC... no"}

data: {"time":"2026-09-19T16:02:13.913Z","priority":"6","pid":"2830187","message":"checking for BoringSSL... no"}

data: {"time":"2026-09-19T16:02:13.959Z","priority":"6","pid":"2830187","message":"checking for LibreSSL... no"}

data: {"time":"2026-09-19T16:02:14.263Z","priority":"6","pid":"2830187","message":"checking for OpenSSL >= 3... checking for SSL_set_quic_use_legacy_codepoint... no"}

data: {"time":"2026-09-19T16:02:14.590Z","priority":"6","pid":"2830187","message":"checking for SSL_set_quic_tls_cbs... yes"}

data: {"time":"2026-09-19T16:02:14.591Z","priority":"6","pid":"2830187","message":"configure: OpenSSL with QUIC APIv2"}

data: {"time":"2026-09-19T16:02:14.971Z","priority":"6","pid":"2830187","message":"checking for DES support in OpenSSL... yes"}

data: {"time":"2026-09-19T16:02:14.982Z","priority":"6","pid":"2830187","message":"checking whether to enable Apple OS native certificate validation... no"}

data: {"time":"2026-09-19T16:02:14.983Z","priority":"6","pid":"2830187","message":"configure: built with one SSL backend"}

data: {"time":"2026-09-19T16:02:14.983Z","priority":"6","pid":"2830187","message":"checking whether to use native CA store... no"}

data: {"time":"2026-09-19T16:02:14.985Z","priority":"6","pid":"2830187","message":"checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt"}

data: {"time":"2026-09-19T16:02:14.986Z","priority":"6","pid":"2830187","message":"checking whether to use OpenSSL's built-in CA store... no"}

data: {"time":"2026-09-19T16:02:14.987Z","priority":"6","pid":"2830187","message":"checking CA cert bundle path to embed in the curl tool... no"}

data: {"time":"2026-09-19T16:02:14.989Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:14.994Z","priority":"6","pid":"2830187","message":"checking for libpsl options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:15.281Z","priority":"6","pid":"2830187","message":"checking for psl_builtin in -lpsl... yes"}

data: {"time":"2026-09-19T16:02:15.374Z","priority":"6","pid":"2830187","message":"checking for libpsl.h... yes"}

data: {"time":"2026-09-19T16:02:15.379Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:15.383Z","priority":"6","pid":"2830187","message":"checking for libssh2 options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:15.754Z","priority":"6","pid":"2830187","message":"checking for libssh2_agent_get_identity_path in -lssh2... yes"}

data: {"time":"2026-09-19T16:02:15.847Z","priority":"6","pid":"2830187","message":"checking for libssh2.h... yes"}

data: {"time":"2026-09-19T16:02:15.851Z","priority":"6","pid":"2830187","message":"checking whether versioned symbols are wanted... no"}

data: {"time":"2026-09-19T16:02:15.853Z","priority":"6","pid":"2830187","message":"checking whether to build with libidn2... (assumed) yes"}

data: {"time":"2026-09-19T16:02:15.855Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:15.861Z","priority":"6","pid":"2830187","message":"checking for libidn2 options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:15.878Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_LIBS: \"-lidn2\""}

data: {"time":"2026-09-19T16:02:15.879Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_LDFLAGS: \"\""}

data: {"time":"2026-09-19T16:02:15.880Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_CPPFLAGS: \"\""}

data: {"time":"2026-09-19T16:02:15.880Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_DIR: \"\""}

data: {"time":"2026-09-19T16:02:16.180Z","priority":"6","pid":"2830187","message":"checking if idn2_lookup_ul can be linked... yes"}

data: {"time":"2026-09-19T16:02:16.271Z","priority":"6","pid":"2830187","message":"checking for idn2.h... yes"}

data: {"time":"2026-09-19T16:02:16.274Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:16.280Z","priority":"6","pid":"2830187","message":"checking for libnghttp2 options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:16.284Z","priority":"6","pid":"2830187","message":"configure: -l is -lnghttp2"}

data: {"time":"2026-09-19T16:02:16.288Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T16:02:16.292Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T16:02:16.586Z","priority":"6","pid":"2830187","message":"checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes"}

data: {"time":"2026-09-19T16:02:16.683Z","priority":"6","pid":"2830187","message":"checking for nghttp2/nghttp2.h... yes"}

data: {"time":"2026-09-19T16:02:16.684Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T16:02:16.687Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:16.693Z","priority":"6","pid":"2830187","message":"checking for libngtcp2 options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:16.696Z","priority":"6","pid":"2830187","message":"configure: -l is -lngtcp2"}

data: {"time":"2026-09-19T16:02:16.700Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T16:02:16.704Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T16:02:17.000Z","priority":"6","pid":"2830187","message":"checking for ngtcp2_conn_client_new_versioned in -lngtcp2... yes"}

data: {"time":"2026-09-19T16:02:17.099Z","priority":"6","pid":"2830187","message":"checking for ngtcp2/ngtcp2.h... yes"}

data: {"time":"2026-09-19T16:02:17.100Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T16:02:17.105Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:17.110Z","priority":"6","pid":"2830187","message":"checking for libngtcp2_crypto_ossl options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:17.115Z","priority":"6","pid":"2830187","message":"configure: -l is -lngtcp2_crypto_ossl"}

data: {"time":"2026-09-19T16:02:17.119Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T16:02:17.123Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T16:02:17.530Z","priority":"6","pid":"2830187","message":"checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_ossl... yes"}

data: {"time":"2026-09-19T16:02:17.636Z","priority":"6","pid":"2830187","message":"checking for ngtcp2/ngtcp2_crypto.h... yes"}

data: {"time":"2026-09-19T16:02:17.637Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T16:02:17.644Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:02:17.650Z","priority":"6","pid":"2830187","message":"checking for libnghttp3 options with pkg-config... found"}

data: {"time":"2026-09-19T16:02:17.655Z","priority":"6","pid":"2830187","message":"configure: -l is -lnghttp3"}

data: {"time":"2026-09-19T16:02:17.659Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T16:02:17.663Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T16:02:17.965Z","priority":"6","pid":"2830187","message":"checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes"}

data: {"time":"2026-09-19T16:02:18.073Z","priority":"6","pid":"2830187","message":"checking for nghttp3/nghttp3.h... yes"}

data: {"time":"2026-09-19T16:02:18.074Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T16:02:18.078Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:18.150Z","priority":"6","pid":"2830187","message":"checking for sys/select.h... yes"}

data: {"time":"2026-09-19T16:02:18.213Z","priority":"6","pid":"2830187","message":"checking for sys/ioctl.h... yes"}

data: {"time":"2026-09-19T16:02:18.214Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:18.283Z","priority":"6","pid":"2830187","message":"checking for arpa/inet.h... yes"}

data: {"time":"2026-09-19T16:02:18.353Z","priority":"6","pid":"2830187","message":"checking for net/if.h... yes"}

data: {"time":"2026-09-19T16:02:18.418Z","priority":"6","pid":"2830187","message":"checking for netinet/in.h... yes"}

data: {"time":"2026-09-19T16:02:18.486Z","priority":"6","pid":"2830187","message":"checking for netinet/in6.h... no"}

data: {"time":"2026-09-19T16:02:18.553Z","priority":"6","pid":"2830187","message":"checking for sys/un.h... yes"}

data: {"time":"2026-09-19T16:02:18.631Z","priority":"6","pid":"2830187","message":"checking for linux/tcp.h... yes"}

data: {"time":"2026-09-19T16:02:18.701Z","priority":"6","pid":"2830187","message":"checking for netinet/tcp.h... yes"}

data: {"time":"2026-09-19T16:02:18.769Z","priority":"6","pid":"2830187","message":"checking for netinet/udp.h... yes"}

data: {"time":"2026-09-19T16:02:18.834Z","priority":"6","pid":"2830187","message":"checking for netinet/ip.h... yes"}

data: {"time":"2026-09-19T16:02:18.906Z","priority":"6","pid":"2830187","message":"checking for netdb.h... yes"}

data: {"time":"2026-09-19T16:02:18.978Z","priority":"6","pid":"2830187","message":"checking for sys/sockio.h... no"}

data: {"time":"2026-09-19T16:02:19.064Z","priority":"6","pid":"2830187","message":"checking for sys/param.h... yes"}

data: {"time":"2026-09-19T16:02:19.129Z","priority":"6","pid":"2830187","message":"checking for termios.h... yes"}

data: {"time":"2026-09-19T16:02:19.193Z","priority":"6","pid":"2830187","message":"checking for termio.h... no"}

data: {"time":"2026-09-19T16:02:19.256Z","priority":"6","pid":"2830187","message":"checking for fcntl.h... yes"}

data: {"time":"2026-09-19T16:02:19.320Z","priority":"6","pid":"2830187","message":"checking for io.h... no"}

data: {"time":"2026-09-19T16:02:19.384Z","priority":"6","pid":"2830187","message":"checking for pwd.h... yes"}

data: {"time":"2026-09-19T16:02:19.452Z","priority":"6","pid":"2830187","message":"checking for utime.h... yes"}

data: {"time":"2026-09-19T16:02:19.525Z","priority":"6","pid":"2830187","message":"checking for sys/utime.h... no"}

data: {"time":"2026-09-19T16:02:19.594Z","priority":"6","pid":"2830187","message":"checking for sys/poll.h... yes"}

data: {"time":"2026-09-19T16:02:19.668Z","priority":"6","pid":"2830187","message":"checking for poll.h... yes"}

data: {"time":"2026-09-19T16:02:19.742Z","priority":"6","pid":"2830187","message":"checking for sys/resource.h... yes"}

data: {"time":"2026-09-19T16:02:19.809Z","priority":"6","pid":"2830187","message":"checking for libgen.h... yes"}

data: {"time":"2026-09-19T16:02:19.894Z","priority":"6","pid":"2830187","message":"checking for locale.h... yes"}

data: {"time":"2026-09-19T16:02:19.965Z","priority":"6","pid":"2830187","message":"checking for stdbool.h... yes"}

data: {"time":"2026-09-19T16:02:20.050Z","priority":"6","pid":"2830187","message":"checking for sys/filio.h... no"}

data: {"time":"2026-09-19T16:02:20.119Z","priority":"6","pid":"2830187","message":"checking for sys/eventfd.h... yes"}

data: {"time":"2026-09-19T16:02:20.161Z","priority":"6","pid":"2830187","message":"checking for an ANSI C-conforming const... yes"}

data: {"time":"2026-09-19T16:02:20.370Z","priority":"6","pid":"2830187","message":"checking for size_t... yes"}

data: {"time":"2026-09-19T16:02:20.372Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:20.430Z","priority":"6","pid":"2830187","message":"checking for struct timeval... yes"}

data: {"time":"2026-09-19T16:02:20.724Z","priority":"6","pid":"2830187","message":"checking runtime libs availability... fine"}

data: {"time":"2026-09-19T16:02:20.778Z","priority":"6","pid":"2830187","message":"checking size of size_t... 8"}

data: {"time":"2026-09-19T16:02:20.834Z","priority":"6","pid":"2830187","message":"checking size of long... 8"}

data: {"time":"2026-09-19T16:02:20.945Z","priority":"6","pid":"2830187","message":"checking size of int... 4"}

data: {"time":"2026-09-19T16:02:21.005Z","priority":"6","pid":"2830187","message":"checking size of time_t... 8"}

data: {"time":"2026-09-19T16:02:21.064Z","priority":"6","pid":"2830187","message":"checking size of off_t... 8"}

data: {"time":"2026-09-19T16:02:21.130Z","priority":"6","pid":"2830187","message":"checking size of curl_off_t... 8"}

data: {"time":"2026-09-19T16:02:21.334Z","priority":"6","pid":"2830187","message":"checking size of curl_socket_t... 4"}

data: {"time":"2026-09-19T16:02:21.541Z","priority":"6","pid":"2830187","message":"checking for ssize_t... yes"}

data: {"time":"2026-09-19T16:02:21.647Z","priority":"6","pid":"2830187","message":"checking for bool... yes"}

data: {"time":"2026-09-19T16:02:21.760Z","priority":"6","pid":"2830187","message":"checking for sa_family_t... yes"}

data: {"time":"2026-09-19T16:02:21.868Z","priority":"6","pid":"2830187","message":"checking for suseconds_t... yes"}

data: {"time":"2026-09-19T16:02:22.185Z","priority":"6","pid":"2830187","message":"checking if time_t is unsigned... no"}

data: {"time":"2026-09-19T16:02:22.303Z","priority":"6","pid":"2830187","message":"checking for struct sockaddr_storage... yes"}

data: {"time":"2026-09-19T16:02:22.304Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:22.620Z","priority":"6","pid":"2830187","message":"checking for recv... yes"}

data: {"time":"2026-09-19T16:02:22.625Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:22.927Z","priority":"6","pid":"2830187","message":"checking for send... yes"}

data: {"time":"2026-09-19T16:02:22.934Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:22.935Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:23.238Z","priority":"6","pid":"2830187","message":"checking if alarm can be linked... yes"}

data: {"time":"2026-09-19T16:02:23.277Z","priority":"6","pid":"2830187","message":"checking if alarm is prototyped... yes"}

data: {"time":"2026-09-19T16:02:23.333Z","priority":"6","pid":"2830187","message":"checking if alarm is compilable... yes"}

data: {"time":"2026-09-19T16:02:23.336Z","priority":"6","pid":"2830187","message":"checking if alarm usage allowed... yes"}

data: {"time":"2026-09-19T16:02:23.337Z","priority":"6","pid":"2830187","message":"checking if alarm might be used... yes"}

data: {"time":"2026-09-19T16:02:23.338Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:23.339Z","priority":"6","pid":"2830187","message":"checking for strings.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:23.340Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:23.341Z","priority":"6","pid":"2830187","message":"checking for libgen.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:23.640Z","priority":"6","pid":"2830187","message":"checking if basename can be linked... yes"}

data: {"time":"2026-09-19T16:02:23.680Z","priority":"6","pid":"2830187","message":"checking if basename is prototyped... yes"}

data: {"time":"2026-09-19T16:02:23.743Z","priority":"6","pid":"2830187","message":"checking if basename is compilable... yes"}

data: {"time":"2026-09-19T16:02:23.747Z","priority":"6","pid":"2830187","message":"checking if basename usage allowed... yes"}

data: {"time":"2026-09-19T16:02:23.748Z","priority":"6","pid":"2830187","message":"checking if basename might be used... yes"}

data: {"time":"2026-09-19T16:02:23.814Z","priority":"6","pid":"2830187","message":"checking if closesocket can be linked... no"}

data: {"time":"2026-09-19T16:02:23.818Z","priority":"6","pid":"2830187","message":"checking if closesocket might be used... no"}

data: {"time":"2026-09-19T16:02:23.819Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:23.877Z","priority":"6","pid":"2830187","message":"checking if CloseSocket can be linked... no"}

data: {"time":"2026-09-19T16:02:23.880Z","priority":"6","pid":"2830187","message":"checking if CloseSocket might be used... no"}

data: {"time":"2026-09-19T16:02:23.881Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:23.882Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:23.883Z","priority":"6","pid":"2830187","message":"checking for fcntl.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:24.193Z","priority":"6","pid":"2830187","message":"checking if fcntl can be linked... yes"}

data: {"time":"2026-09-19T16:02:24.231Z","priority":"6","pid":"2830187","message":"checking if fcntl is prototyped... yes"}

data: {"time":"2026-09-19T16:02:24.294Z","priority":"6","pid":"2830187","message":"checking if fcntl is compilable... yes"}

data: {"time":"2026-09-19T16:02:24.298Z","priority":"6","pid":"2830187","message":"checking if fcntl usage allowed... yes"}

data: {"time":"2026-09-19T16:02:24.299Z","priority":"6","pid":"2830187","message":"checking if fcntl might be used... yes"}

data: {"time":"2026-09-19T16:02:24.359Z","priority":"6","pid":"2830187","message":"checking if fcntl O_NONBLOCK is compilable... yes"}

data: {"time":"2026-09-19T16:02:24.363Z","priority":"6","pid":"2830187","message":"checking if fcntl O_NONBLOCK usage allowed... yes"}

data: {"time":"2026-09-19T16:02:24.364Z","priority":"6","pid":"2830187","message":"checking if fcntl O_NONBLOCK might be used... yes"}

data: {"time":"2026-09-19T16:02:24.365Z","priority":"6","pid":"2830187","message":"checking whether build target is a native Windows one... (cached) no"}

data: {"time":"2026-09-19T16:02:24.365Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:24.366Z","priority":"6","pid":"2830187","message":"checking for netdb.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:24.691Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo can be linked... yes"}

data: {"time":"2026-09-19T16:02:24.730Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo is prototyped... yes"}

data: {"time":"2026-09-19T16:02:24.801Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo is compilable... yes"}

data: {"time":"2026-09-19T16:02:24.805Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo usage allowed... yes"}

data: {"time":"2026-09-19T16:02:24.806Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo might be used... yes"}

data: {"time":"2026-09-19T16:02:24.807Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:24.854Z","priority":"6","pid":"2830187","message":"checking for sys/xattr.h... yes"}

data: {"time":"2026-09-19T16:02:25.152Z","priority":"6","pid":"2830187","message":"checking if fsetxattr can be linked... yes"}

data: {"time":"2026-09-19T16:02:25.185Z","priority":"6","pid":"2830187","message":"checking if fsetxattr is prototyped... yes"}

data: {"time":"2026-09-19T16:02:25.229Z","priority":"6","pid":"2830187","message":"checking if fsetxattr takes 5 args.... yes"}

data: {"time":"2026-09-19T16:02:25.233Z","priority":"6","pid":"2830187","message":"checking if fsetxattr is compilable... yes"}

data: {"time":"2026-09-19T16:02:25.234Z","priority":"6","pid":"2830187","message":"checking if fsetxattr usage allowed... yes"}

data: {"time":"2026-09-19T16:02:25.235Z","priority":"6","pid":"2830187","message":"checking if fsetxattr might be used... yes"}

data: {"time":"2026-09-19T16:02:25.236Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:25.547Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo can be linked... yes"}

data: {"time":"2026-09-19T16:02:25.588Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo is prototyped... yes"}

data: {"time":"2026-09-19T16:02:25.644Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo is compilable... yes"}

data: {"time":"2026-09-19T16:02:25.994Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo seems to work... yes"}

data: {"time":"2026-09-19T16:02:25.998Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo usage allowed... yes"}

data: {"time":"2026-09-19T16:02:26.000Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo might be used... yes"}

data: {"time":"2026-09-19T16:02:26.001Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo is thread-safe... yes"}

data: {"time":"2026-09-19T16:02:26.323Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r can be linked... yes"}

data: {"time":"2026-09-19T16:02:26.367Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r is prototyped... yes"}

data: {"time":"2026-09-19T16:02:26.431Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r takes 3 args.... no"}

data: {"time":"2026-09-19T16:02:26.492Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r takes 5 args.... no"}

data: {"time":"2026-09-19T16:02:26.548Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r takes 6 args.... yes"}

data: {"time":"2026-09-19T16:02:26.552Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r is compilable... yes"}

data: {"time":"2026-09-19T16:02:26.553Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r usage allowed... yes"}

data: {"time":"2026-09-19T16:02:26.554Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r might be used... yes"}

data: {"time":"2026-09-19T16:02:26.873Z","priority":"6","pid":"2830187","message":"checking if gethostname can be linked... yes"}

data: {"time":"2026-09-19T16:02:26.912Z","priority":"6","pid":"2830187","message":"checking if gethostname is prototyped... yes"}

data: {"time":"2026-09-19T16:02:26.974Z","priority":"6","pid":"2830187","message":"checking if gethostname is compilable... yes"}

data: {"time":"2026-09-19T16:02:27.163Z","priority":"6","pid":"2830187","message":"checking for gethostname arg 2 data type... size_t"}

data: {"time":"2026-09-19T16:02:27.166Z","priority":"6","pid":"2830187","message":"checking if gethostname usage allowed... yes"}

data: {"time":"2026-09-19T16:02:27.166Z","priority":"6","pid":"2830187","message":"checking if gethostname might be used... yes"}

data: {"time":"2026-09-19T16:02:27.168Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:27.169Z","priority":"6","pid":"2830187","message":"checking for netinet/in.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:27.223Z","priority":"6","pid":"2830187","message":"checking for ifaddrs.h... yes"}

data: {"time":"2026-09-19T16:02:27.508Z","priority":"6","pid":"2830187","message":"checking if getifaddrs can be linked... yes"}

data: {"time":"2026-09-19T16:02:27.548Z","priority":"6","pid":"2830187","message":"checking if getifaddrs is prototyped... yes"}

data: {"time":"2026-09-19T16:02:27.599Z","priority":"6","pid":"2830187","message":"checking if getifaddrs is compilable... yes"}

data: {"time":"2026-09-19T16:02:27.955Z","priority":"6","pid":"2830187","message":"checking if getifaddrs seems to work... yes"}

data: {"time":"2026-09-19T16:02:27.959Z","priority":"6","pid":"2830187","message":"checking if getifaddrs usage allowed... yes"}

data: {"time":"2026-09-19T16:02:27.960Z","priority":"6","pid":"2830187","message":"checking if getifaddrs might be used... yes"}

data: {"time":"2026-09-19T16:02:28.268Z","priority":"6","pid":"2830187","message":"checking if getpeername can be linked... yes"}

data: {"time":"2026-09-19T16:02:28.308Z","priority":"6","pid":"2830187","message":"checking if getpeername is prototyped... yes"}

data: {"time":"2026-09-19T16:02:28.358Z","priority":"6","pid":"2830187","message":"checking if getpeername is compilable... yes"}

data: {"time":"2026-09-19T16:02:28.361Z","priority":"6","pid":"2830187","message":"checking if getpeername usage allowed... yes"}

data: {"time":"2026-09-19T16:02:28.362Z","priority":"6","pid":"2830187","message":"checking if getpeername might be used... yes"}

data: {"time":"2026-09-19T16:02:28.673Z","priority":"6","pid":"2830187","message":"checking if getsockname can be linked... yes"}

data: {"time":"2026-09-19T16:02:28.736Z","priority":"6","pid":"2830187","message":"checking if getsockname is prototyped... yes"}

data: {"time":"2026-09-19T16:02:28.791Z","priority":"6","pid":"2830187","message":"checking if getsockname is compilable... yes"}

data: {"time":"2026-09-19T16:02:28.795Z","priority":"6","pid":"2830187","message":"checking if getsockname usage allowed... yes"}

data: {"time":"2026-09-19T16:02:28.796Z","priority":"6","pid":"2830187","message":"checking if getsockname might be used... yes"}

data: {"time":"2026-09-19T16:02:28.797Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:29.097Z","priority":"6","pid":"2830187","message":"checking if gmtime_r can be linked... yes"}

data: {"time":"2026-09-19T16:02:29.138Z","priority":"6","pid":"2830187","message":"checking if gmtime_r is prototyped... yes"}

data: {"time":"2026-09-19T16:02:29.190Z","priority":"6","pid":"2830187","message":"checking if gmtime_r is compilable... yes"}

data: {"time":"2026-09-19T16:02:29.510Z","priority":"6","pid":"2830187","message":"checking if gmtime_r seems to work... yes"}

data: {"time":"2026-09-19T16:02:29.514Z","priority":"6","pid":"2830187","message":"checking if gmtime_r usage allowed... yes"}

data: {"time":"2026-09-19T16:02:29.515Z","priority":"6","pid":"2830187","message":"checking if gmtime_r might be used... yes"}

data: {"time":"2026-09-19T16:02:29.516Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:29.517Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:29.517Z","priority":"6","pid":"2830187","message":"checking for sys/ioctl.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:29.590Z","priority":"6","pid":"2830187","message":"checking for stropts.h... no"}

data: {"time":"2026-09-19T16:02:29.898Z","priority":"6","pid":"2830187","message":"checking if ioctl can be linked... yes"}

data: {"time":"2026-09-19T16:02:29.949Z","priority":"6","pid":"2830187","message":"checking if ioctl is prototyped... yes"}

data: {"time":"2026-09-19T16:02:30.024Z","priority":"6","pid":"2830187","message":"checking if ioctl is compilable... yes"}

data: {"time":"2026-09-19T16:02:30.028Z","priority":"6","pid":"2830187","message":"checking if ioctl usage allowed... yes"}

data: {"time":"2026-09-19T16:02:30.030Z","priority":"6","pid":"2830187","message":"checking if ioctl might be used... yes"}

data: {"time":"2026-09-19T16:02:30.104Z","priority":"6","pid":"2830187","message":"checking if ioctl FIONBIO is compilable... yes"}

data: {"time":"2026-09-19T16:02:30.108Z","priority":"6","pid":"2830187","message":"checking if ioctl FIONBIO usage allowed... yes"}

data: {"time":"2026-09-19T16:02:30.108Z","priority":"6","pid":"2830187","message":"checking if ioctl FIONBIO might be used... yes"}

data: {"time":"2026-09-19T16:02:30.177Z","priority":"6","pid":"2830187","message":"checking if ioctl SIOCGIFADDR is compilable... yes"}

data: {"time":"2026-09-19T16:02:30.182Z","priority":"6","pid":"2830187","message":"checking if ioctl SIOCGIFADDR usage allowed... yes"}

data: {"time":"2026-09-19T16:02:30.183Z","priority":"6","pid":"2830187","message":"checking if ioctl SIOCGIFADDR might be used... yes"}

data: {"time":"2026-09-19T16:02:30.252Z","priority":"6","pid":"2830187","message":"checking if ioctlsocket can be linked... no"}

data: {"time":"2026-09-19T16:02:30.256Z","priority":"6","pid":"2830187","message":"checking if ioctlsocket might be used... no"}

data: {"time":"2026-09-19T16:02:30.319Z","priority":"6","pid":"2830187","message":"checking if IoctlSocket can be linked... no"}

data: {"time":"2026-09-19T16:02:30.324Z","priority":"6","pid":"2830187","message":"checking if IoctlSocket might be used... no"}

data: {"time":"2026-09-19T16:02:30.645Z","priority":"6","pid":"2830187","message":"checking if localtime_r can be linked... yes"}

data: {"time":"2026-09-19T16:02:30.683Z","priority":"6","pid":"2830187","message":"checking if localtime_r is prototyped... yes"}

data: {"time":"2026-09-19T16:02:30.734Z","priority":"6","pid":"2830187","message":"checking if localtime_r is compilable... yes"}

data: {"time":"2026-09-19T16:02:31.092Z","priority":"6","pid":"2830187","message":"checking if localtime_r seems to work... yes"}

data: {"time":"2026-09-19T16:02:31.100Z","priority":"6","pid":"2830187","message":"checking if localtime_r usage allowed... yes"}

data: {"time":"2026-09-19T16:02:31.102Z","priority":"6","pid":"2830187","message":"checking if localtime_r might be used... yes"}

data: {"time":"2026-09-19T16:02:31.439Z","priority":"6","pid":"2830187","message":"checking if memrchr can be linked... yes"}

data: {"time":"2026-09-19T16:02:31.480Z","priority":"6","pid":"2830187","message":"checking if memrchr is prototyped... yes"}

data: {"time":"2026-09-19T16:02:31.566Z","priority":"6","pid":"2830187","message":"checking if memrchr is compilable... yes"}

data: {"time":"2026-09-19T16:02:31.570Z","priority":"6","pid":"2830187","message":"checking if memrchr usage allowed... yes"}

data: {"time":"2026-09-19T16:02:31.573Z","priority":"6","pid":"2830187","message":"checking if memrchr might be used... yes"}

data: {"time":"2026-09-19T16:02:31.575Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:31.911Z","priority":"6","pid":"2830187","message":"checking if sigaction can be linked... yes"}

data: {"time":"2026-09-19T16:02:31.963Z","priority":"6","pid":"2830187","message":"checking if sigaction is prototyped... yes"}

data: {"time":"2026-09-19T16:02:32.036Z","priority":"6","pid":"2830187","message":"checking if sigaction is compilable... yes"}

data: {"time":"2026-09-19T16:02:32.040Z","priority":"6","pid":"2830187","message":"checking if sigaction usage allowed... yes"}

data: {"time":"2026-09-19T16:02:32.041Z","priority":"6","pid":"2830187","message":"checking if sigaction might be used... yes"}

data: {"time":"2026-09-19T16:02:32.397Z","priority":"6","pid":"2830187","message":"checking if siginterrupt can be linked... yes"}

data: {"time":"2026-09-19T16:02:32.440Z","priority":"6","pid":"2830187","message":"checking if siginterrupt is prototyped... yes"}

data: {"time":"2026-09-19T16:02:32.517Z","priority":"6","pid":"2830187","message":"checking if siginterrupt is compilable... yes"}

data: {"time":"2026-09-19T16:02:32.520Z","priority":"6","pid":"2830187","message":"checking if siginterrupt usage allowed... yes"}

data: {"time":"2026-09-19T16:02:32.521Z","priority":"6","pid":"2830187","message":"checking if siginterrupt might be used... yes"}

data: {"time":"2026-09-19T16:02:32.837Z","priority":"6","pid":"2830187","message":"checking if signal can be linked... yes"}

data: {"time":"2026-09-19T16:02:32.883Z","priority":"6","pid":"2830187","message":"checking if signal is prototyped... yes"}

data: {"time":"2026-09-19T16:02:32.951Z","priority":"6","pid":"2830187","message":"checking if signal is compilable... yes"}

data: {"time":"2026-09-19T16:02:32.955Z","priority":"6","pid":"2830187","message":"checking if signal usage allowed... yes"}

data: {"time":"2026-09-19T16:02:32.956Z","priority":"6","pid":"2830187","message":"checking if signal might be used... yes"}

data: {"time":"2026-09-19T16:02:32.957Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:02:33.289Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp can be linked... no"}

data: {"time":"2026-09-19T16:02:33.589Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp seems a macro... yes"}

data: {"time":"2026-09-19T16:02:33.658Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp is compilable... yes"}

data: {"time":"2026-09-19T16:02:33.662Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp usage allowed... yes"}

data: {"time":"2026-09-19T16:02:33.665Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp might be used... yes"}

data: {"time":"2026-09-19T16:02:33.965Z","priority":"6","pid":"2830187","message":"checking if socket can be linked... yes"}

data: {"time":"2026-09-19T16:02:33.997Z","priority":"6","pid":"2830187","message":"checking if socket is prototyped... yes"}

data: {"time":"2026-09-19T16:02:34.049Z","priority":"6","pid":"2830187","message":"checking if socket is compilable... yes"}

data: {"time":"2026-09-19T16:02:34.053Z","priority":"6","pid":"2830187","message":"checking if socket usage allowed... yes"}

data: {"time":"2026-09-19T16:02:34.054Z","priority":"6","pid":"2830187","message":"checking if socket might be used... yes"}

data: {"time":"2026-09-19T16:02:34.338Z","priority":"6","pid":"2830187","message":"checking if socketpair can be linked... yes"}

data: {"time":"2026-09-19T16:02:34.376Z","priority":"6","pid":"2830187","message":"checking if socketpair is prototyped... yes"}

data: {"time":"2026-09-19T16:02:34.428Z","priority":"6","pid":"2830187","message":"checking if socketpair is compilable... yes"}

data: {"time":"2026-09-19T16:02:34.432Z","priority":"6","pid":"2830187","message":"checking if socketpair usage allowed... yes"}

data: {"time":"2026-09-19T16:02:34.433Z","priority":"6","pid":"2830187","message":"checking if socketpair might be used... yes"}

data: {"time":"2026-09-19T16:02:34.737Z","priority":"6","pid":"2830187","message":"checking if strerror_r can be linked... yes"}

data: {"time":"2026-09-19T16:02:34.777Z","priority":"6","pid":"2830187","message":"checking if strerror_r is prototyped... yes"}

data: {"time":"2026-09-19T16:02:34.830Z","priority":"6","pid":"2830187","message":"checking if strerror_r is compilable... yes"}

data: {"time":"2026-09-19T16:02:34.885Z","priority":"6","pid":"2830187","message":"checking if strerror_r is glibc like... yes"}

data: {"time":"2026-09-19T16:02:35.214Z","priority":"6","pid":"2830187","message":"checking if strerror_r seems to work... yes"}

data: {"time":"2026-09-19T16:02:35.218Z","priority":"6","pid":"2830187","message":"checking if strerror_r usage allowed... yes"}

data: {"time":"2026-09-19T16:02:35.219Z","priority":"6","pid":"2830187","message":"checking if strerror_r might be used... yes"}

data: {"time":"2026-09-19T16:02:35.532Z","priority":"6","pid":"2830187","message":"checking for accept4... yes"}

data: {"time":"2026-09-19T16:02:35.846Z","priority":"6","pid":"2830187","message":"checking for eventfd... yes"}

data: {"time":"2026-09-19T16:02:36.206Z","priority":"6","pid":"2830187","message":"checking for fnmatch... yes"}

data: {"time":"2026-09-19T16:02:36.560Z","priority":"6","pid":"2830187","message":"checking for geteuid... yes"}

data: {"time":"2026-09-19T16:02:36.902Z","priority":"6","pid":"2830187","message":"checking for getpass_r... no"}

data: {"time":"2026-09-19T16:02:37.213Z","priority":"6","pid":"2830187","message":"checking for getppid... yes"}

data: {"time":"2026-09-19T16:02:37.548Z","priority":"6","pid":"2830187","message":"checking for getpwuid... yes"}

data: {"time":"2026-09-19T16:02:37.848Z","priority":"6","pid":"2830187","message":"checking for getpwuid_r... yes"}

data: {"time":"2026-09-19T16:02:38.183Z","priority":"6","pid":"2830187","message":"checking for getrlimit... yes"}

data: {"time":"2026-09-19T16:02:38.524Z","priority":"6","pid":"2830187","message":"checking for mach_absolute_time... no"}

data: {"time":"2026-09-19T16:02:38.874Z","priority":"6","pid":"2830187","message":"checking for pipe... yes"}

data: {"time":"2026-09-19T16:02:39.168Z","priority":"6","pid":"2830187","message":"checking for poll... yes"}

data: {"time":"2026-09-19T16:02:39.456Z","priority":"6","pid":"2830187","message":"checking for sendmmsg... yes"}

data: {"time":"2026-09-19T16:02:39.753Z","priority":"6","pid":"2830187","message":"checking for sendmsg... yes"}

data: {"time":"2026-09-19T16:02:40.049Z","priority":"6","pid":"2830187","message":"checking for setlocale... yes"}

data: {"time":"2026-09-19T16:02:40.351Z","priority":"6","pid":"2830187","message":"checking for setrlimit... yes"}

data: {"time":"2026-09-19T16:02:40.671Z","priority":"6","pid":"2830187","message":"checking for utime... yes"}

data: {"time":"2026-09-19T16:02:40.969Z","priority":"6","pid":"2830187","message":"checking for utimes... yes"}

data: {"time":"2026-09-19T16:02:41.274Z","priority":"6","pid":"2830187","message":"checking for pipe2... yes"}

data: {"time":"2026-09-19T16:02:41.585Z","priority":"6","pid":"2830187","message":"checking for gettimeofday... yes"}

data: {"time":"2026-09-19T16:02:41.900Z","priority":"6","pid":"2830187","message":"checking for if_nametoindex... yes"}

data: {"time":"2026-09-19T16:02:42.201Z","priority":"6","pid":"2830187","message":"checking for realpath... yes"}

data: {"time":"2026-09-19T16:02:42.500Z","priority":"6","pid":"2830187","message":"checking for sched_yield... yes"}

data: {"time":"2026-09-19T16:02:42.801Z","priority":"6","pid":"2830187","message":"checking if strcasecmp can be linked... yes"}

data: {"time":"2026-09-19T16:02:42.839Z","priority":"6","pid":"2830187","message":"checking if strcasecmp is prototyped... yes"}

data: {"time":"2026-09-19T16:02:42.887Z","priority":"6","pid":"2830187","message":"checking if strcasecmp is compilable... yes"}

data: {"time":"2026-09-19T16:02:42.890Z","priority":"6","pid":"2830187","message":"checking if strcasecmp usage allowed... yes"}

data: {"time":"2026-09-19T16:02:42.891Z","priority":"6","pid":"2830187","message":"checking if strcasecmp might be used... yes"}

data: {"time":"2026-09-19T16:02:43.179Z","priority":"6","pid":"2830187","message":"checking if strcmpi can be linked... no"}

data: {"time":"2026-09-19T16:02:43.182Z","priority":"6","pid":"2830187","message":"checking if strcmpi might be used... no"}

data: {"time":"2026-09-19T16:02:43.497Z","priority":"6","pid":"2830187","message":"checking if stricmp can be linked... no"}

data: {"time":"2026-09-19T16:02:43.502Z","priority":"6","pid":"2830187","message":"checking if stricmp might be used... no"}

data: {"time":"2026-09-19T16:02:43.813Z","priority":"6","pid":"2830187","message":"checking if memset_s can be linked... no"}

data: {"time":"2026-09-19T16:02:43.820Z","priority":"6","pid":"2830187","message":"checking if memset_s might be used... no"}

data: {"time":"2026-09-19T16:02:44.116Z","priority":"6","pid":"2830187","message":"checking for memset_explicit... yes"}

data: {"time":"2026-09-19T16:02:44.413Z","priority":"6","pid":"2830187","message":"checking for fseeko... yes"}

data: {"time":"2026-09-19T16:02:44.508Z","priority":"6","pid":"2830187","message":"checking for gcc options to detect undeclared functions... none needed"}

data: {"time":"2026-09-19T16:02:44.582Z","priority":"6","pid":"2830187","message":"checking for gcc options to ignore future-version functions... none needed"}

data: {"time":"2026-09-19T16:02:44.649Z","priority":"6","pid":"2830187","message":"checking whether fseeko is declared... yes"}

data: {"time":"2026-09-19T16:02:44.650Z","priority":"6","pid":"2830187","message":"checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK"}

data: {"time":"2026-09-19T16:02:44.653Z","priority":"6","pid":"2830187","message":"checking whether to enable the threaded resolver... yes"}

data: {"time":"2026-09-19T16:02:44.762Z","priority":"6","pid":"2830187","message":"checking for pthread.h... yes"}

data: {"time":"2026-09-19T16:02:44.941Z","priority":"6","pid":"2830187","message":"checking for pthread_create... yes"}

data: {"time":"2026-09-19T16:02:45.035Z","priority":"6","pid":"2830187","message":"checking for dirent.h... yes"}

data: {"time":"2026-09-19T16:02:45.340Z","priority":"6","pid":"2830187","message":"checking for opendir... yes"}

data: {"time":"2026-09-19T16:02:45.342Z","priority":"6","pid":"2830187","message":"checking convert -I options to -isystem... yes"}

data: {"time":"2026-09-19T16:02:45.343Z","priority":"6","pid":"2830187","message":"checking whether to enable curl_easy_setopt()/curl_easy_getinfo() type checking... yes"}

data: {"time":"2026-09-19T16:02:45.344Z","priority":"6","pid":"2830187","message":"checking whether to enable verbose strings... yes"}

data: {"time":"2026-09-19T16:02:45.345Z","priority":"6","pid":"2830187","message":"checking whether to enable SSPI support (Windows native builds only)... no"}

data: {"time":"2026-09-19T16:02:45.346Z","priority":"6","pid":"2830187","message":"checking whether to enable basic authentication method... yes"}

data: {"time":"2026-09-19T16:02:45.347Z","priority":"6","pid":"2830187","message":"checking whether to enable bearer authentication method... yes"}

data: {"time":"2026-09-19T16:02:45.348Z","priority":"6","pid":"2830187","message":"checking whether to enable digest authentication method... yes"}

data: {"time":"2026-09-19T16:02:45.349Z","priority":"6","pid":"2830187","message":"checking whether to enable kerberos authentication method... yes"}

data: {"time":"2026-09-19T16:02:45.350Z","priority":"6","pid":"2830187","message":"checking whether to enable negotiate authentication method... yes"}

data: {"time":"2026-09-19T16:02:45.351Z","priority":"6","pid":"2830187","message":"checking whether to enable aws-sigv4 methods... yes"}

data: {"time":"2026-09-19T16:02:45.352Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTP Message Signatures (RFC 9421)... no"}

data: {"time":"2026-09-19T16:02:45.353Z","priority":"6","pid":"2830187","message":"checking whether to support NTLM... no"}

data: {"time":"2026-09-19T16:02:45.353Z","priority":"6","pid":"2830187","message":"checking whether to enable Unix domain sockets... auto"}

data: {"time":"2026-09-19T16:02:45.409Z","priority":"6","pid":"2830187","message":"checking for struct sockaddr_un.sun_path... yes"}

data: {"time":"2026-09-19T16:02:45.411Z","priority":"6","pid":"2830187","message":"checking whether to support cookies... yes"}

data: {"time":"2026-09-19T16:02:45.412Z","priority":"6","pid":"2830187","message":"checking whether to support socketpair... yes"}

data: {"time":"2026-09-19T16:02:45.412Z","priority":"6","pid":"2830187","message":"checking whether to support HTTP authentication... yes"}

data: {"time":"2026-09-19T16:02:45.413Z","priority":"6","pid":"2830187","message":"checking whether to support DoH... yes"}

data: {"time":"2026-09-19T16:02:45.413Z","priority":"6","pid":"2830187","message":"checking whether to support the MIME API... yes"}

data: {"time":"2026-09-19T16:02:45.414Z","priority":"6","pid":"2830187","message":"checking whether to support binding connections locally... yes"}

data: {"time":"2026-09-19T16:02:45.415Z","priority":"6","pid":"2830187","message":"checking whether to support the form API... yes"}

data: {"time":"2026-09-19T16:02:45.415Z","priority":"6","pid":"2830187","message":"checking whether to support date parsing... yes"}

data: {"time":"2026-09-19T16:02:45.416Z","priority":"6","pid":"2830187","message":"checking whether to support netrc parsing... yes"}

data: {"time":"2026-09-19T16:02:45.416Z","priority":"6","pid":"2830187","message":"checking whether to support progress-meter... yes"}

data: {"time":"2026-09-19T16:02:45.417Z","priority":"6","pid":"2830187","message":"checking whether to support the SHA-512/256 hash algorithm... yes"}

data: {"time":"2026-09-19T16:02:45.418Z","priority":"6","pid":"2830187","message":"checking whether to support DNS shuffling... yes"}

data: {"time":"2026-09-19T16:02:45.418Z","priority":"6","pid":"2830187","message":"checking whether to support curl_easy_option*... yes"}

data: {"time":"2026-09-19T16:02:45.419Z","priority":"6","pid":"2830187","message":"checking whether to support alt-svc... yes"}

data: {"time":"2026-09-19T16:02:45.420Z","priority":"6","pid":"2830187","message":"checking whether to support headers-api... yes"}

data: {"time":"2026-09-19T16:02:45.420Z","priority":"6","pid":"2830187","message":"checking whether to support HSTS... yes"}

data: {"time":"2026-09-19T16:02:45.421Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTPS-RR support... no"}

data: {"time":"2026-09-19T16:02:45.837Z","priority":"6","pid":"2830187","message":"checking for SSL_set0_wbio... yes"}

data: {"time":"2026-09-19T16:02:45.839Z","priority":"6","pid":"2830187","message":"checking whether to support WebSockets... yes"}

data: {"time":"2026-09-19T16:02:45.840Z","priority":"6","pid":"2830187","message":"checking whether hiding of library internal symbols does actually happen... yes"}

data: {"time":"2026-09-19T16:02:45.854Z","priority":"6","pid":"2830187","message":"checking if this build supports HTTPS-proxy... yes"}

data: {"time":"2026-09-19T16:02:45.989Z","priority":"6","pid":"2830187","message":"checking that generated files are newer than configure... done"}

data: {"time":"2026-09-19T16:02:45.991Z","priority":"6","pid":"2830187","message":"configure: creating ./config.status"}

data: {"time":"2026-09-19T16:02:47.346Z","priority":"6","pid":"2830187","message":"config.status: creating Makefile"}

data: {"time":"2026-09-19T16:02:47.380Z","priority":"6","pid":"2830187","message":"config.status: creating docs/Makefile"}

data: {"time":"2026-09-19T16:02:47.422Z","priority":"6","pid":"2830187","message":"config.status: creating docs/examples/Makefile"}

data: {"time":"2026-09-19T16:02:47.477Z","priority":"6","pid":"2830187","message":"config.status: creating docs/libcurl/Makefile"}

data: {"time":"2026-09-19T16:02:47.519Z","priority":"6","pid":"2830187","message":"config.status: creating docs/libcurl/opts/Makefile"}

data: {"time":"2026-09-19T16:02:47.565Z","priority":"6","pid":"2830187","message":"config.status: creating docs/cmdline-opts/Makefile"}

data: {"time":"2026-09-19T16:02:47.609Z","priority":"6","pid":"2830187","message":"config.status: creating include/Makefile"}

data: {"time":"2026-09-19T16:02:47.652Z","priority":"6","pid":"2830187","message":"config.status: creating include/curl/Makefile"}

data: {"time":"2026-09-19T16:02:47.696Z","priority":"6","pid":"2830187","message":"config.status: creating src/Makefile"}

data: {"time":"2026-09-19T16:02:47.772Z","priority":"6","pid":"2830187","message":"config.status: creating lib/Makefile"}

data: {"time":"2026-09-19T16:02:47.852Z","priority":"6","pid":"2830187","message":"config.status: creating scripts/Makefile"}

data: {"time":"2026-09-19T16:02:47.897Z","priority":"6","pid":"2830187","message":"config.status: creating lib/libcurl.vers"}

data: {"time":"2026-09-19T16:02:47.934Z","priority":"6","pid":"2830187","message":"config.status: creating tests/Makefile"}

data: {"time":"2026-09-19T16:02:47.979Z","priority":"6","pid":"2830187","message":"config.status: creating tests/config"}

data: {"time":"2026-09-19T16:02:48.017Z","priority":"6","pid":"2830187","message":"config.status: creating tests/configurehelp.pm"}

data: {"time":"2026-09-19T16:02:48.053Z","priority":"6","pid":"2830187","message":"config.status: creating tests/certs/Makefile"}

data: {"time":"2026-09-19T16:02:48.091Z","priority":"6","pid":"2830187","message":"config.status: creating tests/data/Makefile"}

data: {"time":"2026-09-19T16:02:48.150Z","priority":"6","pid":"2830187","message":"config.status: creating tests/http/config.ini"}

data: {"time":"2026-09-19T16:02:48.192Z","priority":"6","pid":"2830187","message":"config.status: creating tests/http/Makefile"}

data: {"time":"2026-09-19T16:02:48.234Z","priority":"6","pid":"2830187","message":"config.status: creating tests/libtest/Makefile"}

data: {"time":"2026-09-19T16:02:48.275Z","priority":"6","pid":"2830187","message":"config.status: creating tests/perf/Makefile"}

data: {"time":"2026-09-19T16:02:48.322Z","priority":"6","pid":"2830187","message":"config.status: creating tests/server/Makefile"}

data: {"time":"2026-09-19T16:02:48.370Z","priority":"6","pid":"2830187","message":"config.status: creating tests/tunit/Makefile"}

data: {"time":"2026-09-19T16:02:48.412Z","priority":"6","pid":"2830187","message":"config.status: creating tests/unit/Makefile"}

data: {"time":"2026-09-19T16:02:48.454Z","priority":"6","pid":"2830187","message":"config.status: creating projects/Makefile"}

data: {"time":"2026-09-19T16:02:48.541Z","priority":"6","pid":"2830187","message":"config.status: creating projects/vms/Makefile"}

data: {"time":"2026-09-19T16:02:48.584Z","priority":"6","pid":"2830187","message":"config.status: creating curl-config"}

data: {"time":"2026-09-19T16:02:48.615Z","priority":"6","pid":"2830187","message":"config.status: creating libcurl.pc"}

data: {"time":"2026-09-19T16:02:48.649Z","priority":"6","pid":"2830187","message":"config.status: creating lib/curl_config.h"}

data: {"time":"2026-09-19T16:02:48.684Z","priority":"6","pid":"2830187","message":"config.status: executing depfiles commands"}

data: {"time":"2026-09-19T16:02:51.622Z","priority":"6","pid":"2830187","message":"config.status: executing libtool commands"}

data: {"time":"2026-09-19T16:02:51.654Z","priority":"6","pid":"2830187","message":"configure: Configured to build curl/libcurl:"}

data: {"time":"2026-09-19T16:02:51.655Z","priority":"6","pid":"2830187","message":"  Host setup:       x86_64-pc-linux-gnu"}

data: {"time":"2026-09-19T16:02:51.655Z","priority":"6","pid":"2830187","message":"  Install prefix:   /usr"}

data: {"time":"2026-09-19T16:02:51.655Z","priority":"6","pid":"2830187","message":"  Compiler:         gcc"}

data: {"time":"2026-09-19T16:02:51.657Z","priority":"6","pid":"2830187","message":"   CFLAGS:          -march=x86-64 -mtune=generic -O2 -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 -g -ffile-prefix-map=/build/curl/src=/usr/src/debug/curl -flto=auto -Werror-implicit-function-declaration -Wno-system-headers"}

data: {"time":"2026-09-19T16:02:51.658Z","priority":"6","pid":"2830187","message":"   CFLAGS extras:"}

data: {"time":"2026-09-19T16:02:51.658Z","priority":"6","pid":"2830187","message":"   CPPFLAGS:        -D_GNU_SOURCE"}

data: {"time":"2026-09-19T16:02:51.659Z","priority":"6","pid":"2830187","message":"   LDFLAGS:         -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto"}

data: {"time":"2026-09-19T16:02:51.659Z","priority":"6","pid":"2830187","message":"     curl-config:"}

data: {"time":"2026-09-19T16:02:51.660Z","priority":"6","pid":"2830187","message":"   LIBS:            -lnghttp3 -lngtcp2_crypto_ossl -lngtcp2 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lzstd -lbrotlidec -lz"}

data: {"time":"2026-09-19T16:02:51.660Z","priority":"6","pid":"2830187","message":"  curl version:     8.22.0"}

data: {"time":"2026-09-19T16:02:51.661Z","priority":"6","pid":"2830187","message":"  SSL:              enabled (OpenSSL)"}

data: {"time":"2026-09-19T16:02:51.661Z","priority":"6","pid":"2830187","message":"  SSH:              enabled (libssh2)"}

data: {"time":"2026-09-19T16:02:51.661Z","priority":"6","pid":"2830187","message":"  zlib:             enabled"}

data: {"time":"2026-09-19T16:02:51.662Z","priority":"6","pid":"2830187","message":"  brotli:           enabled (libbrotlidec)"}

data: {"time":"2026-09-19T16:02:51.662Z","priority":"6","pid":"2830187","message":"  zstd:             enabled (libzstd)"}

data: {"time":"2026-09-19T16:02:51.662Z","priority":"6","pid":"2830187","message":"  GSS-API:          enabled (MIT Kerberos)"}

data: {"time":"2026-09-19T16:02:51.663Z","priority":"6","pid":"2830187","message":"  GSASL:            no       (--with-gsasl)"}

data: {"time":"2026-09-19T16:02:51.663Z","priority":"6","pid":"2830187","message":"  resolver:         POSIX threaded"}

data: {"time":"2026-09-19T16:02:51.663Z","priority":"6","pid":"2830187","message":"  IPv6:             enabled"}

data: {"time":"2026-09-19T16:02:51.663Z","priority":"6","pid":"2830187","message":"  Unix sockets:     enabled"}

data: {"time":"2026-09-19T16:02:51.664Z","priority":"6","pid":"2830187","message":"  IDN:              enabled (libidn2)"}

data: {"time":"2026-09-19T16:02:51.664Z","priority":"6","pid":"2830187","message":"  Build docs:       enabled  (--disable-docs)"}

data: {"time":"2026-09-19T16:02:51.664Z","priority":"6","pid":"2830187","message":"  Build libcurl:    Shared=yes, Static=yes"}

data: {"time":"2026-09-19T16:02:51.665Z","priority":"6","pid":"2830187","message":"  Built-in manual:  no       (--enable-manual)"}

data: {"time":"2026-09-19T16:02:51.665Z","priority":"6","pid":"2830187","message":"  --libcurl option: enabled  (--disable-libcurl-option)"}

data: {"time":"2026-09-19T16:02:51.666Z","priority":"6","pid":"2830187","message":"  Type checking:    enabled  (--disable-typecheck)"}

data: {"time":"2026-09-19T16:02:51.666Z","priority":"6","pid":"2830187","message":"  Verbose errors:   enabled  (--disable-verbose)"}

data: {"time":"2026-09-19T16:02:51.666Z","priority":"6","pid":"2830187","message":"  Code coverage:    disabled"}

data: {"time":"2026-09-19T16:02:51.666Z","priority":"6","pid":"2830187","message":"  SSPI:             no       (--enable-sspi)"}

data: {"time":"2026-09-19T16:02:51.667Z","priority":"6","pid":"2830187","message":"  CA native:        no"}

data: {"time":"2026-09-19T16:02:51.667Z","priority":"6","pid":"2830187","message":"  CA cert bundle:   /etc/ssl/certs/ca-certificates.crt"}

data: {"time":"2026-09-19T16:02:51.667Z","priority":"6","pid":"2830187","message":"  CA cert path:     no"}

data: {"time":"2026-09-19T16:02:51.668Z","priority":"6","pid":"2830187","message":"  CA cert embed:    no"}

data: {"time":"2026-09-19T16:02:51.668Z","priority":"6","pid":"2830187","message":"  CA fallback:      no"}

data: {"time":"2026-09-19T16:02:51.669Z","priority":"6","pid":"2830187","message":"  LDAP:             no       (--enable-ldap / --with-ldap-lib / --with-lber-lib)"}

data: {"time":"2026-09-19T16:02:51.669Z","priority":"6","pid":"2830187","message":"  LDAPS:            no       (--enable-ldaps)"}

data: {"time":"2026-09-19T16:02:51.670Z","priority":"6","pid":"2830187","message":"  IPFS/IPNS:        enabled"}

data: {"time":"2026-09-19T16:02:51.670Z","priority":"6","pid":"2830187","message":"  RTSP:             enabled"}

data: {"time":"2026-09-19T16:02:51.670Z","priority":"6","pid":"2830187","message":"  PSL:              enabled"}

data: {"time":"2026-09-19T16:02:51.670Z","priority":"6","pid":"2830187","message":"  Alt-svc:          enabled  (--disable-alt-svc)"}

data: {"time":"2026-09-19T16:02:51.671Z","priority":"6","pid":"2830187","message":"  Headers API:      enabled  (--disable-headers-api)"}

data: {"time":"2026-09-19T16:02:51.671Z","priority":"6","pid":"2830187","message":"  HSTS:             enabled  (--disable-hsts)"}

data: {"time":"2026-09-19T16:02:51.671Z","priority":"6","pid":"2830187","message":"  HTTP1:            enabled  (internal)"}

data: {"time":"2026-09-19T16:02:51.672Z","priority":"6","pid":"2830187","message":"  HTTP2:            enabled (nghttp2)"}

data: {"time":"2026-09-19T16:02:51.672Z","priority":"6","pid":"2830187","message":"  HTTP3:            enabled (ngtcp2 + nghttp3)"}

data: {"time":"2026-09-19T16:02:51.673Z","priority":"6","pid":"2830187","message":"  proxy-HTTP3:      no      (--enable-proxy-http3)"}

data: {"time":"2026-09-19T16:02:51.673Z","priority":"6","pid":"2830187","message":"  ECH:              no      (--enable-ech)"}

data: {"time":"2026-09-19T16:02:51.673Z","priority":"6","pid":"2830187","message":"  HTTPS RR:         no      (--enable-httpsrr)"}

data: {"time":"2026-09-19T16:02:51.673Z","priority":"6","pid":"2830187","message":"  SSLS-EXPORT:      no      (--enable-ssls-export)"}

data: {"time":"2026-09-19T16:02:51.674Z","priority":"6","pid":"2830187","message":"  Protocols:        dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp ws wss"}

data: {"time":"2026-09-19T16:02:51.675Z","priority":"6","pid":"2830187","message":"  Features:         alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe UnixSockets zstd"}

data: {"time":"2026-09-19T16:02:51.891Z","priority":"6","pid":"2830187","message":"make: Entering directory '/build/curl/src/build-curl-compat/lib'"}

data: {"time":"2026-09-19T16:02:51.903Z","priority":"6","pid":"2830187","message":"make  all-am"}

data: {"time":"2026-09-19T16:02:51.924Z","priority":"6","pid":"2830187","message":"make[1]: Entering directory '/build/curl/src/build-curl-compat/lib'"}

data: {"time":"2026-09-19T16:02:51.928Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-altsvc.lo"}

data: {"time":"2026-09-19T16:02:52.587Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-amigaos.lo"}

data: {"time":"2026-09-19T16:02:52.935Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-api.lo"}

data: {"time":"2026-09-19T16:02:53.510Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-bufq.lo"}

data: {"time":"2026-09-19T16:02:53.985Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-bufref.lo"}

data: {"time":"2026-09-19T16:02:54.487Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-h1-proxy.lo"}

data: {"time":"2026-09-19T16:02:55.296Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-h2-proxy.lo"}

data: {"time":"2026-09-19T16:02:56.290Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-haproxy.lo"}

data: {"time":"2026-09-19T16:02:56.954Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-https-connect.lo"}

data: {"time":"2026-09-19T16:02:57.795Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-ip-happy.lo"}

data: {"time":"2026-09-19T16:02:58.690Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-recvbuf.lo"}

data: {"time":"2026-09-19T16:02:59.263Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-setup.lo"}

data: {"time":"2026-09-19T16:02:59.898Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-socket.lo"}

data: {"time":"2026-09-19T16:03:00.920Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cfilters.lo"}

data: {"time":"2026-09-19T16:03:01.838Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-conncache.lo"}

data: {"time":"2026-09-19T16:03:02.669Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-connect.lo"}

data: {"time":"2026-09-19T16:03:03.432Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-content_encoding.lo"}

data: {"time":"2026-09-19T16:03:04.214Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cookie.lo"}

data: {"time":"2026-09-19T16:03:05.100Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-creds.lo"}

data: {"time":"2026-09-19T16:03:05.672Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cshutdn.lo"}

data: {"time":"2026-09-19T16:03:06.378Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_addrinfo.lo"}

data: {"time":"2026-09-19T16:03:06.825Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_endian.lo"}

data: {"time":"2026-09-19T16:03:07.169Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_fnmatch.lo"}

data: {"time":"2026-09-19T16:03:07.539Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_fopen.lo"}

data: {"time":"2026-09-19T16:03:08.126Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_get_line.lo"}

data: {"time":"2026-09-19T16:03:08.500Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_gethostname.lo"}

data: {"time":"2026-09-19T16:03:08.969Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_gssapi.lo"}

data: {"time":"2026-09-19T16:03:09.613Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_memrchr.lo"}

data: {"time":"2026-09-19T16:03:10.140Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_ntlm_core.lo"}

data: {"time":"2026-09-19T16:03:10.463Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_range.lo"}

data: {"time":"2026-09-19T16:03:10.967Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_sasl.lo"}

data: {"time":"2026-09-19T16:03:11.585Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_sha512_256.lo"}

data: {"time":"2026-09-19T16:03:12.043Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_share.lo"}

data: {"time":"2026-09-19T16:03:12.634Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_sspi.lo"}

data: {"time":"2026-09-19T16:03:12.990Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_threads.lo"}

data: {"time":"2026-09-19T16:03:13.445Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_trc.lo"}

data: {"time":"2026-09-19T16:03:14.209Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cw-out.lo"}

data: {"time":"2026-09-19T16:03:14.873Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cw-pause.lo"}

data: {"time":"2026-09-19T16:03:15.488Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-dict.lo"}

data: {"time":"2026-09-19T16:03:16.082Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-dynhds.lo"}

data: {"time":"2026-09-19T16:03:16.504Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-easy.lo"}

data: {"time":"2026-09-19T16:03:17.256Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-easygetopt.lo"}

data: {"time":"2026-09-19T16:03:17.627Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-easyoptions.lo"}

data: {"time":"2026-09-19T16:03:18.007Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-escape.lo"}

data: {"time":"2026-09-19T16:03:18.555Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-fake_addrinfo.lo"}

data: {"time":"2026-09-19T16:03:18.894Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-file.lo"}

data: {"time":"2026-09-19T16:03:19.544Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-fileinfo.lo"}

data: {"time":"2026-09-19T16:03:19.909Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-formdata.lo"}

data: {"time":"2026-09-19T16:03:20.630Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ftp.lo"}

data: {"time":"2026-09-19T16:03:21.943Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ftplistparser.lo"}

data: {"time":"2026-09-19T16:03:22.582Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-getenv.lo"}

data: {"time":"2026-09-19T16:03:22.910Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-getinfo.lo"}

data: {"time":"2026-09-19T16:03:23.461Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-gopher.lo"}

data: {"time":"2026-09-19T16:03:23.976Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-hash.lo"}

data: {"time":"2026-09-19T16:03:24.359Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-headers.lo"}

data: {"time":"2026-09-19T16:03:24.944Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-hmac.lo"}

data: {"time":"2026-09-19T16:03:25.294Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-hsts.lo"}

data: {"time":"2026-09-19T16:03:25.899Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http.lo"}

data: {"time":"2026-09-19T16:03:27.266Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http1.lo"}

data: {"time":"2026-09-19T16:03:27.763Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http2.lo"}

data: {"time":"2026-09-19T16:03:28.960Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_aws_sigv4.lo"}

data: {"time":"2026-09-19T16:03:29.699Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_httpsig.lo"}

data: {"time":"2026-09-19T16:03:30.011Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_ed25519.lo"}

data: {"time":"2026-09-19T16:03:30.393Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_chunks.lo"}

data: {"time":"2026-09-19T16:03:31.020Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_digest.lo"}

data: {"time":"2026-09-19T16:03:31.560Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_negotiate.lo"}

data: {"time":"2026-09-19T16:03:32.142Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_ntlm.lo"}

data: {"time":"2026-09-19T16:03:32.470Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_proxy.lo"}

data: {"time":"2026-09-19T16:03:33.224Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-idn.lo"}

data: {"time":"2026-09-19T16:03:33.718Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-if2ip.lo"}

data: {"time":"2026-09-19T16:03:34.091Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-imap.lo"}

data: {"time":"2026-09-19T16:03:35.042Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ldap.lo"}

data: {"time":"2026-09-19T16:03:35.529Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-llist.lo"}

data: {"time":"2026-09-19T16:03:35.918Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-macos.lo"}

data: {"time":"2026-09-19T16:03:36.323Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-md4.lo"}

data: {"time":"2026-09-19T16:03:36.686Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-md5.lo"}

data: {"time":"2026-09-19T16:03:37.067Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-memdebug.lo"}

data: {"time":"2026-09-19T16:03:37.395Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-mime.lo"}

data: {"time":"2026-09-19T16:03:38.402Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-mprintf.lo"}

data: {"time":"2026-09-19T16:03:38.975Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-mqtt.lo"}

data: {"time":"2026-09-19T16:03:39.683Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-multi.lo"}

data: {"time":"2026-09-19T16:03:41.035Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-multi_ev.lo"}

data: {"time":"2026-09-19T16:03:41.668Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-multi_ntfy.lo"}

data: {"time":"2026-09-19T16:03:42.220Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-netrc.lo"}

data: {"time":"2026-09-19T16:03:42.850Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-openldap.lo"}

data: {"time":"2026-09-19T16:03:43.197Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-parsedate.lo"}

data: {"time":"2026-09-19T16:03:43.639Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-peer.lo"}

data: {"time":"2026-09-19T16:03:44.312Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-pingpong.lo"}

data: {"time":"2026-09-19T16:03:44.914Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-pop3.lo"}

data: {"time":"2026-09-19T16:03:45.727Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-progress.lo"}

data: {"time":"2026-09-19T16:03:46.363Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-protocol.lo"}

data: {"time":"2026-09-19T16:03:46.945Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-proxy.lo"}

data: {"time":"2026-09-19T16:03:47.517Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-psl.lo"}

data: {"time":"2026-09-19T16:03:47.985Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-rand.lo"}

data: {"time":"2026-09-19T16:03:48.494Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ratelimit.lo"}

data: {"time":"2026-09-19T16:03:49.001Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-request.lo"}

data: {"time":"2026-09-19T16:03:49.624Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-rtsp.lo"}

data: {"time":"2026-09-19T16:03:50.303Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-select.lo"}

data: {"time":"2026-09-19T16:03:51.007Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-sendf.lo"}

data: {"time":"2026-09-19T16:03:51.879Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-setopt.lo"}

data: {"time":"2026-09-19T16:03:52.770Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-sha256.lo"}

data: {"time":"2026-09-19T16:03:53.246Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-slist.lo"}

data: {"time":"2026-09-19T16:03:53.619Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-smb.lo"}

data: {"time":"2026-09-19T16:03:54.108Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-smtp.lo"}

data: {"time":"2026-09-19T16:03:54.972Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socketpair.lo"}

data: {"time":"2026-09-19T16:03:55.485Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socks.lo"}

data: {"time":"2026-09-19T16:03:56.263Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socks_gssapi.lo"}

data: {"time":"2026-09-19T16:03:56.889Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socks_sspi.lo"}

data: {"time":"2026-09-19T16:03:57.219Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-splay.lo"}

data: {"time":"2026-09-19T16:03:57.751Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-strcase.lo"}

data: {"time":"2026-09-19T16:03:58.077Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-strequal.lo"}

data: {"time":"2026-09-19T16:03:58.407Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-strerror.lo"}

data: {"time":"2026-09-19T16:03:58.776Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-system_win32.lo"}

data: {"time":"2026-09-19T16:03:59.111Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-telnet.lo"}

data: {"time":"2026-09-19T16:03:59.961Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-tftp.lo"}

data: {"time":"2026-09-19T16:04:00.781Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-thrdpool.lo"}

data: {"time":"2026-09-19T16:04:01.412Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-thrdqueue.lo"}

data: {"time":"2026-09-19T16:04:02.098Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-transfer.lo"}

data: {"time":"2026-09-19T16:04:02.838Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-bset.lo"}

data: {"time":"2026-09-19T16:04:03.281Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-hash.lo"}

data: {"time":"2026-09-19T16:04:03.703Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-hashset.lo"}

data: {"time":"2026-09-19T16:04:04.152Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-spbset.lo"}

data: {"time":"2026-09-19T16:04:04.608Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-table.lo"}

data: {"time":"2026-09-19T16:04:05.051Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-url.lo"}

data: {"time":"2026-09-19T16:04:06.054Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-urlapi.lo"}

data: {"time":"2026-09-19T16:04:06.961Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-version.lo"}

data: {"time":"2026-09-19T16:04:07.488Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ws.lo"}

data: {"time":"2026-09-19T16:04:08.309Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-cleartext.lo"}

data: {"time":"2026-09-19T16:04:08.773Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-cram.lo"}

data: {"time":"2026-09-19T16:04:09.294Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-digest.lo"}

data: {"time":"2026-09-19T16:04:10.022Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-digest_sspi.lo"}

data: {"time":"2026-09-19T16:04:10.448Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-gsasl.lo"}

data: {"time":"2026-09-19T16:04:10.814Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-krb5_gssapi.lo"}

data: {"time":"2026-09-19T16:04:11.384Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-krb5_sspi.lo"}

data: {"time":"2026-09-19T16:04:11.714Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-ntlm.lo"}

data: {"time":"2026-09-19T16:04:12.062Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-ntlm_sspi.lo"}

data: {"time":"2026-09-19T16:04:12.416Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-oauth2.lo"}

data: {"time":"2026-09-19T16:04:12.866Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-spnego_gssapi.lo"}

data: {"time":"2026-09-19T16:04:13.424Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-spnego_sspi.lo"}

data: {"time":"2026-09-19T16:04:13.771Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-vauth.lo"}

data: {"time":"2026-09-19T16:04:14.312Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-asyn-ares.lo"}

data: {"time":"2026-09-19T16:04:14.704Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-asyn-base.lo"}

data: {"time":"2026-09-19T16:04:15.259Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-asyn-thrdd.lo"}

data: {"time":"2026-09-19T16:04:15.979Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-cf-dns.lo"}

data: {"time":"2026-09-19T16:04:16.631Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-dnscache.lo"}

data: {"time":"2026-09-19T16:04:17.336Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-doh.lo"}

data: {"time":"2026-09-19T16:04:18.356Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-hostip.lo"}

data: {"time":"2026-09-19T16:04:19.048Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-hostip4.lo"}

data: {"time":"2026-09-19T16:04:19.340Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-hostip6.lo"}

data: {"time":"2026-09-19T16:04:19.746Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-httpsrr.lo"}

data: {"time":"2026-09-19T16:04:20.087Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-apple.lo"}

data: {"time":"2026-09-19T16:04:20.388Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-cipher_suite.lo"}

data: {"time":"2026-09-19T16:04:20.678Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-gtls.lo"}

data: {"time":"2026-09-19T16:04:20.991Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-hostcheck.lo"}

data: {"time":"2026-09-19T16:04:21.303Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-keylog.lo"}

data: {"time":"2026-09-19T16:04:21.622Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-mbedtls.lo"}

data: {"time":"2026-09-19T16:04:21.920Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-openssl.lo"}

data: {"time":"2026-09-19T16:04:23.438Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-rustls.lo"}

data: {"time":"2026-09-19T16:04:23.727Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-schannel.lo"}

data: {"time":"2026-09-19T16:04:24.026Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-schannel_verify.lo"}

data: {"time":"2026-09-19T16:04:24.331Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls.lo"}

data: {"time":"2026-09-19T16:04:25.345Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls_config.lo"}

data: {"time":"2026-09-19T16:04:25.901Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls_scache.lo"}

data: {"time":"2026-09-19T16:04:26.698Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls_spack.lo"}

data: {"time":"2026-09-19T16:04:27.029Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-wolfssl.lo"}

data: {"time":"2026-09-19T16:04:27.401Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-x509asn1.lo"}

data: {"time":"2026-09-19T16:04:27.725Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-capsule.lo"}

data: {"time":"2026-09-19T16:04:28.255Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-capsule.lo"}

data: {"time":"2026-09-19T16:04:28.741Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-ngtcp2.lo"}

data: {"time":"2026-09-19T16:04:29.675Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-ngtcp2-cmn.lo"}

data: {"time":"2026-09-19T16:04:30.851Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-ngtcp2-proxy.lo"}

data: {"time":"2026-09-19T16:04:31.175Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-quiche.lo"}

data: {"time":"2026-09-19T16:04:31.502Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-vquic.lo"}

data: {"time":"2026-09-19T16:04:32.464Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-vquic-tls.lo"}

data: {"time":"2026-09-19T16:04:33.264Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurl_la-libssh.lo"}

data: {"time":"2026-09-19T16:04:33.598Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurl_la-libssh2.lo"}

data: {"time":"2026-09-19T16:04:34.722Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurl_la-vssh.lo"}

data: {"time":"2026-09-19T16:04:35.289Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-base64.lo"}

data: {"time":"2026-09-19T16:04:35.624Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-basename.lo"}

data: {"time":"2026-09-19T16:04:35.902Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-dynbuf.lo"}

data: {"time":"2026-09-19T16:04:36.239Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-fopen.lo"}

data: {"time":"2026-09-19T16:04:36.589Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-inet_ntop.lo"}

data: {"time":"2026-09-19T16:04:37.056Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-inet_pton.lo"}

data: {"time":"2026-09-19T16:04:37.483Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-multibyte.lo"}

data: {"time":"2026-09-19T16:04:37.846Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-nonblock.lo"}

data: {"time":"2026-09-19T16:04:38.181Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-snprintf.lo"}

data: {"time":"2026-09-19T16:04:38.504Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strcopy.lo"}

data: {"time":"2026-09-19T16:04:38.843Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strdup.lo"}

data: {"time":"2026-09-19T16:04:39.192Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strerr.lo"}

data: {"time":"2026-09-19T16:04:39.588Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strparse.lo"}

data: {"time":"2026-09-19T16:04:40.031Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-timediff.lo"}

data: {"time":"2026-09-19T16:04:40.382Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-timeval.lo"}

data: {"time":"2026-09-19T16:04:41.148Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-version_win32.lo"}

data: {"time":"2026-09-19T16:04:41.529Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-wait.lo"}

data: {"time":"2026-09-19T16:04:41.897Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-warnless.lo"}

data: {"time":"2026-09-19T16:04:42.261Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-winapi.lo"}

data: {"time":"2026-09-19T16:04:42.579Z","priority":"6","pid":"2830187","message":"  CCLD     libcurl.la"}

data: {"time":"2026-09-19T16:04:43.036Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.052Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.053Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-curl_ntlm_core.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.056Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.063Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-fake_addrinfo.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.073Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-http_httpsig.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.074Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-curl_ed25519.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.076Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-http_ntlm.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.079Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-ldap.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.081Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-macos.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.082Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-md4.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.083Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.090Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.101Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-smb.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.104Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.107Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-system_win32.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.117Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.119Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.120Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.121Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-ntlm.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.122Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.124Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.126Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vdns/.libs/libcurl_la-asyn-ares.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.131Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vdns/.libs/libcurl_la-hostip4.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.132Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vdns/.libs/libcurl_la-hostip6.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.133Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vdns/.libs/libcurl_la-httpsrr.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.134Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-apple.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.135Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.136Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-gtls.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.137Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.140Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.141Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.142Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.146Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-vtls_spack.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.147Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.148Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-x509asn1.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.152Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vquic/.libs/libcurl_la-cf-ngtcp2-proxy.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.153Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vquic/.libs/libcurl_la-cf-quiche.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.155Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.158Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-basename.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.161Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.162Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-snprintf.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.166Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols"}

data: {"time":"2026-09-19T16:04:43.168Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-winapi.o: no symbols"}

data: {"time":"2026-09-19T16:05:50.809Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-altsvc.lo"}

data: {"time":"2026-09-19T16:05:51.726Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-amigaos.lo"}

data: {"time":"2026-09-19T16:05:52.039Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-api.lo"}

data: {"time":"2026-09-19T16:05:52.578Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-bufq.lo"}

data: {"time":"2026-09-19T16:05:53.019Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-bufref.lo"}

data: {"time":"2026-09-19T16:05:53.484Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-h1-proxy.lo"}

data: {"time":"2026-09-19T16:05:54.179Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-h2-proxy.lo"}

data: {"time":"2026-09-19T16:05:55.032Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-haproxy.lo"}

data: {"time":"2026-09-19T16:05:55.612Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-https-connect.lo"}

data: {"time":"2026-09-19T16:05:56.316Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-ip-happy.lo"}

data: {"time":"2026-09-19T16:05:57.054Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-recvbuf.lo"}

data: {"time":"2026-09-19T16:05:57.572Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-setup.lo"}

data: {"time":"2026-09-19T16:05:58.155Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-socket.lo"}

data: {"time":"2026-09-19T16:05:59.067Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cfilters.lo"}

data: {"time":"2026-09-19T16:05:59.803Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-conncache.lo"}

data: {"time":"2026-09-19T16:06:00.514Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-connect.lo"}

data: {"time":"2026-09-19T16:06:01.111Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-content_encoding.lo"}

data: {"time":"2026-09-19T16:06:01.803Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cookie.lo"}

data: {"time":"2026-09-19T16:06:02.691Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-creds.lo"}

data: {"time":"2026-09-19T16:06:03.259Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cshutdn.lo"}

data: {"time":"2026-09-19T16:06:03.949Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_addrinfo.lo"}

data: {"time":"2026-09-19T16:06:04.358Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_endian.lo"}

data: {"time":"2026-09-19T16:06:04.715Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_fnmatch.lo"}

data: {"time":"2026-09-19T16:06:05.061Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_fopen.lo"}

data: {"time":"2026-09-19T16:06:05.615Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_get_line.lo"}

data: {"time":"2026-09-19T16:06:05.955Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_gethostname.lo"}

data: {"time":"2026-09-19T16:06:06.300Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_gssapi.lo"}

data: {"time":"2026-09-19T16:06:06.820Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_memrchr.lo"}

data: {"time":"2026-09-19T16:06:07.160Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_ntlm_core.lo"}

data: {"time":"2026-09-19T16:06:07.481Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_range.lo"}

data: {"time":"2026-09-19T16:06:08.022Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_sasl.lo"}

data: {"time":"2026-09-19T16:06:08.682Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_sha512_256.lo"}

data: {"time":"2026-09-19T16:06:09.144Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_share.lo"}

data: {"time":"2026-09-19T16:06:09.715Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_sspi.lo"}

data: {"time":"2026-09-19T16:06:10.048Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_threads.lo"}

data: {"time":"2026-09-19T16:06:10.424Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_trc.lo"}

data: {"time":"2026-09-19T16:06:11.071Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cw-out.lo"}

data: {"time":"2026-09-19T16:06:11.781Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cw-pause.lo"}

data: {"time":"2026-09-19T16:06:12.359Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-dict.lo"}

data: {"time":"2026-09-19T16:06:12.920Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-dynhds.lo"}

data: {"time":"2026-09-19T16:06:13.326Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-easy.lo"}

data: {"time":"2026-09-19T16:06:14.065Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-easygetopt.lo"}

data: {"time":"2026-09-19T16:06:14.388Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-easyoptions.lo"}

data: {"time":"2026-09-19T16:06:14.766Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-escape.lo"}

data: {"time":"2026-09-19T16:06:15.303Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-fake_addrinfo.lo"}

data: {"time":"2026-09-19T16:06:15.710Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-file.lo"}

data: {"time":"2026-09-19T16:06:16.355Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-fileinfo.lo"}

data: {"time":"2026-09-19T16:06:16.718Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-formdata.lo"}

data: {"time":"2026-09-19T16:06:17.328Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ftp.lo"}

data: {"time":"2026-09-19T16:06:18.565Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ftplistparser.lo"}

data: {"time":"2026-09-19T16:06:19.199Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-getenv.lo"}

data: {"time":"2026-09-19T16:06:19.538Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-getinfo.lo"}

data: {"time":"2026-09-19T16:06:20.191Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-gopher.lo"}

data: {"time":"2026-09-19T16:06:20.804Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-hash.lo"}

data: {"time":"2026-09-19T16:06:21.348Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-headers.lo"}

data: {"time":"2026-09-19T16:06:22.011Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-hmac.lo"}

data: {"time":"2026-09-19T16:06:22.386Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-hsts.lo"}

data: {"time":"2026-09-19T16:06:23.114Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http.lo"}

data: {"time":"2026-09-19T16:06:24.641Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http1.lo"}

data: {"time":"2026-09-19T16:06:25.213Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http2.lo"}

data: {"time":"2026-09-19T16:06:26.636Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_aws_sigv4.lo"}

data: {"time":"2026-09-19T16:06:27.344Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_httpsig.lo"}

data: {"time":"2026-09-19T16:06:27.657Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_ed25519.lo"}

data: {"time":"2026-09-19T16:06:27.976Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_chunks.lo"}

data: {"time":"2026-09-19T16:06:28.637Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_digest.lo"}

data: {"time":"2026-09-19T16:06:29.192Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_negotiate.lo"}

data: {"time":"2026-09-19T16:06:29.751Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_ntlm.lo"}

data: {"time":"2026-09-19T16:06:30.089Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_proxy.lo"}

data: {"time":"2026-09-19T16:06:30.832Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-idn.lo"}

data: {"time":"2026-09-19T16:06:31.339Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-if2ip.lo"}

data: {"time":"2026-09-19T16:06:31.733Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-imap.lo"}

data: {"time":"2026-09-19T16:06:32.729Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ldap.lo"}

data: {"time":"2026-09-19T16:06:33.195Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-llist.lo"}

data: {"time":"2026-09-19T16:06:33.543Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-macos.lo"}

data: {"time":"2026-09-19T16:06:33.885Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-md4.lo"}

data: {"time":"2026-09-19T16:06:34.237Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-md5.lo"}

data: {"time":"2026-09-19T16:06:34.601Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-memdebug.lo"}

data: {"time":"2026-09-19T16:06:34.945Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-mime.lo"}

data: {"time":"2026-09-19T16:06:35.850Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-mprintf.lo"}

data: {"time":"2026-09-19T16:06:36.514Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-mqtt.lo"}

data: {"time":"2026-09-19T16:06:37.236Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-multi.lo"}

data: {"time":"2026-09-19T16:06:38.460Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-multi_ev.lo"}

data: {"time":"2026-09-19T16:06:39.174Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-multi_ntfy.lo"}

data: {"time":"2026-09-19T16:06:39.767Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-netrc.lo"}

data: {"time":"2026-09-19T16:06:40.423Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-openldap.lo"}

data: {"time":"2026-09-19T16:06:40.770Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-parsedate.lo"}

data: {"time":"2026-09-19T16:06:41.207Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-peer.lo"}

data: {"time":"2026-09-19T16:06:41.897Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-pingpong.lo"}

data: {"time":"2026-09-19T16:06:42.513Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-pop3.lo"}

data: {"time":"2026-09-19T16:06:43.333Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-progress.lo"}

data: {"time":"2026-09-19T16:06:44.017Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-protocol.lo"}

data: {"time":"2026-09-19T16:06:44.590Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-proxy.lo"}

data: {"time":"2026-09-19T16:06:45.220Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-psl.lo"}

data: {"time":"2026-09-19T16:06:45.737Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-rand.lo"}

data: {"time":"2026-09-19T16:06:46.269Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ratelimit.lo"}

data: {"time":"2026-09-19T16:06:46.808Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-request.lo"}

data: {"time":"2026-09-19T16:06:47.477Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-rtsp.lo"}

data: {"time":"2026-09-19T16:06:48.207Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-select.lo"}

data: {"time":"2026-09-19T16:06:48.887Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-sendf.lo"}

data: {"time":"2026-09-19T16:06:49.734Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-setopt.lo"}

data: {"time":"2026-09-19T16:06:50.598Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-sha256.lo"}

data: {"time":"2026-09-19T16:06:51.086Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-slist.lo"}

data: {"time":"2026-09-19T16:06:51.459Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-smb.lo"}

data: {"time":"2026-09-19T16:06:51.971Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-smtp.lo"}

data: {"time":"2026-09-19T16:06:52.816Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socketpair.lo"}

data: {"time":"2026-09-19T16:06:53.289Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socks.lo"}

data: {"time":"2026-09-19T16:06:54.059Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socks_gssapi.lo"}

data: {"time":"2026-09-19T16:06:54.700Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socks_sspi.lo"}

data: {"time":"2026-09-19T16:06:55.030Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-splay.lo"}

data: {"time":"2026-09-19T16:06:55.565Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-strcase.lo"}

data: {"time":"2026-09-19T16:06:55.947Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-strequal.lo"}

data: {"time":"2026-09-19T16:06:56.319Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-strerror.lo"}

data: {"time":"2026-09-19T16:06:56.695Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-system_win32.lo"}

data: {"time":"2026-09-19T16:06:57.053Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-telnet.lo"}

data: {"time":"2026-09-19T16:06:57.876Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-tftp.lo"}

data: {"time":"2026-09-19T16:06:58.684Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-thrdpool.lo"}

data: {"time":"2026-09-19T16:06:59.651Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-thrdqueue.lo"}

data: {"time":"2026-09-19T16:07:00.295Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-transfer.lo"}

data: {"time":"2026-09-19T16:07:01.198Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-bset.lo"}

data: {"time":"2026-09-19T16:07:01.645Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-hash.lo"}

data: {"time":"2026-09-19T16:07:02.178Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-hashset.lo"}

data: {"time":"2026-09-19T16:07:02.619Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-spbset.lo"}

data: {"time":"2026-09-19T16:07:03.101Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-table.lo"}

data: {"time":"2026-09-19T16:07:03.510Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-url.lo"}

data: {"time":"2026-09-19T16:07:04.536Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-urlapi.lo"}

data: {"time":"2026-09-19T16:07:05.494Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-version.lo"}

data: {"time":"2026-09-19T16:07:06.115Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ws.lo"}

data: {"time":"2026-09-19T16:07:07.069Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-cleartext.lo"}

data: {"time":"2026-09-19T16:07:07.583Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-cram.lo"}

data: {"time":"2026-09-19T16:07:08.132Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-digest.lo"}

data: {"time":"2026-09-19T16:07:08.886Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-digest_sspi.lo"}

data: {"time":"2026-09-19T16:07:09.260Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-gsasl.lo"}

data: {"time":"2026-09-19T16:07:09.654Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-krb5_gssapi.lo"}

data: {"time":"2026-09-19T16:07:10.204Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-krb5_sspi.lo"}

data: {"time":"2026-09-19T16:07:10.527Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-ntlm.lo"}

data: {"time":"2026-09-19T16:07:10.865Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-ntlm_sspi.lo"}

data: {"time":"2026-09-19T16:07:11.216Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-oauth2.lo"}

data: {"time":"2026-09-19T16:07:11.885Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-spnego_gssapi.lo"}

data: {"time":"2026-09-19T16:07:12.522Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-spnego_sspi.lo"}

data: {"time":"2026-09-19T16:07:12.876Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-vauth.lo"}

data: {"time":"2026-09-19T16:07:13.485Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-asyn-ares.lo"}

data: {"time":"2026-09-19T16:07:13.822Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-asyn-base.lo"}

data: {"time":"2026-09-19T16:07:14.413Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-asyn-thrdd.lo"}

data: {"time":"2026-09-19T16:07:15.082Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-cf-dns.lo"}

data: {"time":"2026-09-19T16:07:15.737Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-dnscache.lo"}

data: {"time":"2026-09-19T16:07:16.447Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-doh.lo"}

data: {"time":"2026-09-19T16:07:17.505Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-hostip.lo"}

data: {"time":"2026-09-19T16:07:18.188Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-hostip4.lo"}

data: {"time":"2026-09-19T16:07:18.527Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-hostip6.lo"}

data: {"time":"2026-09-19T16:07:19.047Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-httpsrr.lo"}

data: {"time":"2026-09-19T16:07:19.447Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-apple.lo"}

data: {"time":"2026-09-19T16:07:19.812Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-cipher_suite.lo"}

data: {"time":"2026-09-19T16:07:20.192Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-gtls.lo"}

data: {"time":"2026-09-19T16:07:20.555Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-hostcheck.lo"}

data: {"time":"2026-09-19T16:07:20.955Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-keylog.lo"}

data: {"time":"2026-09-19T16:07:21.360Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-mbedtls.lo"}

data: {"time":"2026-09-19T16:07:21.704Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-openssl.lo"}

data: {"time":"2026-09-19T16:07:23.610Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-rustls.lo"}

data: {"time":"2026-09-19T16:07:23.961Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-schannel.lo"}

data: {"time":"2026-09-19T16:07:24.299Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-schannel_verify.lo"}

data: {"time":"2026-09-19T16:07:24.651Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls.lo"}

data: {"time":"2026-09-19T16:07:25.922Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls_config.lo"}

data: {"time":"2026-09-19T16:07:26.587Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls_scache.lo"}

data: {"time":"2026-09-19T16:07:27.450Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls_spack.lo"}

data: {"time":"2026-09-19T16:07:27.842Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-wolfssl.lo"}

data: {"time":"2026-09-19T16:07:28.194Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-x509asn1.lo"}

data: {"time":"2026-09-19T16:07:28.545Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-capsule.lo"}

data: {"time":"2026-09-19T16:07:29.131Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-capsule.lo"}

data: {"time":"2026-09-19T16:07:29.726Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-ngtcp2.lo"}

data: {"time":"2026-09-19T16:07:30.885Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-ngtcp2-cmn.lo"}

data: {"time":"2026-09-19T16:07:32.238Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-ngtcp2-proxy.lo"}

data: {"time":"2026-09-19T16:07:32.591Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-quiche.lo"}

data: {"time":"2026-09-19T16:07:32.957Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-vquic.lo"}

data: {"time":"2026-09-19T16:07:33.994Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-vquic-tls.lo"}

data: {"time":"2026-09-19T16:07:34.814Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurlu_la-libssh.lo"}

data: {"time":"2026-09-19T16:07:35.206Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurlu_la-libssh2.lo"}

data: {"time":"2026-09-19T16:07:36.508Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurlu_la-vssh.lo"}

data: {"time":"2026-09-19T16:07:37.185Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-base64.lo"}

data: {"time":"2026-09-19T16:07:37.616Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-basename.lo"}

data: {"time":"2026-09-19T16:07:37.949Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-dynbuf.lo"}

data: {"time":"2026-09-19T16:07:38.334Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-fopen.lo"}

data: {"time":"2026-09-19T16:07:38.699Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-inet_ntop.lo"}

data: {"time":"2026-09-19T16:07:39.127Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-inet_pton.lo"}

data: {"time":"2026-09-19T16:07:39.576Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-multibyte.lo"}

data: {"time":"2026-09-19T16:07:39.912Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-nonblock.lo"}

data: {"time":"2026-09-19T16:07:40.263Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-snprintf.lo"}

data: {"time":"2026-09-19T16:07:40.607Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strcopy.lo"}

data: {"time":"2026-09-19T16:07:40.959Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strdup.lo"}

data: {"time":"2026-09-19T16:07:41.307Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strerr.lo"}

data: {"time":"2026-09-19T16:07:41.701Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strparse.lo"}

data: {"time":"2026-09-19T16:07:42.079Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-timediff.lo"}

data: {"time":"2026-09-19T16:07:42.477Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-timeval.lo"}

data: {"time":"2026-09-19T16:07:42.856Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-version_win32.lo"}

data: {"time":"2026-09-19T16:07:43.212Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-wait.lo"}

data: {"time":"2026-09-19T16:07:43.608Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-warnless.lo"}

data: {"time":"2026-09-19T16:07:43.995Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-winapi.lo"}

data: {"time":"2026-09-19T16:07:44.339Z","priority":"6","pid":"2830187","message":"  CCLD     libcurlu.la"}

data: {"time":"2026-09-19T16:07:45.030Z","priority":"6","pid":"2830187","message":"make[1]: Leaving directory '/build/curl/src/build-curl-compat/lib'"}

data: {"time":"2026-09-19T16:07:45.031Z","priority":"6","pid":"2830187","message":"make: Leaving directory '/build/curl/src/build-curl-compat/lib'"}

data: {"time":"2026-09-19T16:07:45.496Z","priority":"6","pid":"2830187","message":"checking whether to enable maintainer-specific portions of Makefiles... no"}

data: {"time":"2026-09-19T16:07:45.506Z","priority":"6","pid":"2830187","message":"checking whether make supports nested variables... yes"}

data: {"time":"2026-09-19T16:07:45.508Z","priority":"6","pid":"2830187","message":"checking whether to enable curl debug features (for developing curl)... no"}

data: {"time":"2026-09-19T16:07:45.509Z","priority":"6","pid":"2830187","message":"checking whether to enable compiler optimizer... (assumed) yes"}

data: {"time":"2026-09-19T16:07:45.510Z","priority":"6","pid":"2830187","message":"checking whether to enable strict compiler warnings... no"}

data: {"time":"2026-09-19T16:07:45.511Z","priority":"6","pid":"2830187","message":"checking whether to enable compiler warnings as errors... no"}

data: {"time":"2026-09-19T16:07:45.512Z","priority":"6","pid":"2830187","message":"checking whether to enable hiding of library internal symbols... yes"}

data: {"time":"2026-09-19T16:07:45.512Z","priority":"6","pid":"2830187","message":"checking whether to enable c-ares for DNS lookups... no"}

data: {"time":"2026-09-19T16:07:45.513Z","priority":"6","pid":"2830187","message":"checking whether to disable dependency on -lrt... (assumed no)"}

data: {"time":"2026-09-19T16:07:45.514Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTPSRR support... no"}

data: {"time":"2026-09-19T16:07:45.515Z","priority":"6","pid":"2830187","message":"checking whether to enable ECH support... no"}

data: {"time":"2026-09-19T16:07:45.515Z","priority":"6","pid":"2830187","message":"checking whether to enable SSL session export support... no"}

data: {"time":"2026-09-19T16:07:45.516Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTP/3 proxy support... no"}

data: {"time":"2026-09-19T16:07:45.517Z","priority":"6","pid":"2830187","message":"checking for path separator... :"}

data: {"time":"2026-09-19T16:07:45.518Z","priority":"6","pid":"2830187","message":"checking for sed... /usr/bin/sed"}

data: {"time":"2026-09-19T16:07:45.519Z","priority":"6","pid":"2830187","message":"checking for grep... /usr/bin/grep"}

data: {"time":"2026-09-19T16:07:45.524Z","priority":"6","pid":"2830187","message":"checking that grep -E works... yes"}

data: {"time":"2026-09-19T16:07:45.526Z","priority":"6","pid":"2830187","message":"checking for ar... /usr/bin/ar"}

data: {"time":"2026-09-19T16:07:45.549Z","priority":"6","pid":"2830187","message":"checking for a BSD-compatible install... /usr/bin/install -c"}

data: {"time":"2026-09-19T16:07:45.552Z","priority":"6","pid":"2830187","message":"checking for gcc... gcc"}

data: {"time":"2026-09-19T16:07:45.772Z","priority":"6","pid":"2830187","message":"checking whether the C compiler works... yes"}

data: {"time":"2026-09-19T16:07:45.774Z","priority":"6","pid":"2830187","message":"checking for C compiler default output file name... a.out"}

data: {"time":"2026-09-19T16:07:45.939Z","priority":"6","pid":"2830187","message":"checking for suffix of executables..."}

data: {"time":"2026-09-19T16:07:46.125Z","priority":"6","pid":"2830187","message":"checking whether we are cross compiling... no"}

data: {"time":"2026-09-19T16:07:46.169Z","priority":"6","pid":"2830187","message":"checking for suffix of object files... o"}

data: {"time":"2026-09-19T16:07:46.209Z","priority":"6","pid":"2830187","message":"checking whether the compiler supports GNU C... yes"}

data: {"time":"2026-09-19T16:07:46.260Z","priority":"6","pid":"2830187","message":"checking whether gcc accepts -g... yes"}

data: {"time":"2026-09-19T16:07:46.305Z","priority":"6","pid":"2830187","message":"checking for gcc option to enable C23 features... none needed"}

data: {"time":"2026-09-19T16:07:46.390Z","priority":"6","pid":"2830187","message":"checking whether gcc understands -c and -o together... yes"}

data: {"time":"2026-09-19T16:07:46.461Z","priority":"6","pid":"2830187","message":"checking how to run the C preprocessor... gcc -E"}

data: {"time":"2026-09-19T16:07:46.582Z","priority":"6","pid":"2830187","message":"checking for stdio.h... yes"}

data: {"time":"2026-09-19T16:07:46.648Z","priority":"6","pid":"2830187","message":"checking for stdlib.h... yes"}

data: {"time":"2026-09-19T16:07:46.714Z","priority":"6","pid":"2830187","message":"checking for string.h... yes"}

data: {"time":"2026-09-19T16:07:46.787Z","priority":"6","pid":"2830187","message":"checking for inttypes.h... yes"}

data: {"time":"2026-09-19T16:07:46.882Z","priority":"6","pid":"2830187","message":"checking for stdint.h... yes"}

data: {"time":"2026-09-19T16:07:46.979Z","priority":"6","pid":"2830187","message":"checking for strings.h... yes"}

data: {"time":"2026-09-19T16:07:47.053Z","priority":"6","pid":"2830187","message":"checking for sys/stat.h... yes"}

data: {"time":"2026-09-19T16:07:47.122Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... yes"}

data: {"time":"2026-09-19T16:07:47.206Z","priority":"6","pid":"2830187","message":"checking for unistd.h... yes"}

data: {"time":"2026-09-19T16:07:47.286Z","priority":"6","pid":"2830187","message":"checking for stdatomic.h... yes"}

data: {"time":"2026-09-19T16:07:47.459Z","priority":"6","pid":"2830187","message":"checking if _Atomic is available... yes"}

data: {"time":"2026-09-19T16:07:47.467Z","priority":"6","pid":"2830187","message":"checking whether sleep supports fractional seconds... yes"}

data: {"time":"2026-09-19T16:07:47.602Z","priority":"6","pid":"2830187","message":"checking filesystem timestamp resolution... 0.01"}

data: {"time":"2026-09-19T16:07:47.616Z","priority":"6","pid":"2830187","message":"checking whether build environment is sane... yes"}

data: {"time":"2026-09-19T16:07:47.631Z","priority":"6","pid":"2830187","message":"checking for a race-free mkdir -p... /usr/bin/mkdir -p"}

data: {"time":"2026-09-19T16:07:47.632Z","priority":"6","pid":"2830187","message":"checking for gawk... gawk"}

data: {"time":"2026-09-19T16:07:47.651Z","priority":"6","pid":"2830187","message":"checking whether make sets $(MAKE)... yes"}

data: {"time":"2026-09-19T16:07:47.679Z","priority":"6","pid":"2830187","message":"checking whether make supports the include directive... yes (GNU style)"}

data: {"time":"2026-09-19T16:07:47.693Z","priority":"6","pid":"2830187","message":"checking xargs -n works... yes"}

data: {"time":"2026-09-19T16:07:47.704Z","priority":"6","pid":"2830187","message":"checking whether UID '969' is supported by ustar format... yes"}

data: {"time":"2026-09-19T16:07:47.705Z","priority":"6","pid":"2830187","message":"checking whether GID '969' is supported by ustar format... yes"}

data: {"time":"2026-09-19T16:07:47.736Z","priority":"6","pid":"2830187","message":"checking how to create a ustar tar archive... gnutar"}

data: {"time":"2026-09-19T16:07:47.810Z","priority":"6","pid":"2830187","message":"checking dependency style of gcc... gcc3"}

data: {"time":"2026-09-19T16:07:47.811Z","priority":"6","pid":"2830187","message":"checking curl version... 8.22.0"}

data: {"time":"2026-09-19T16:07:47.819Z","priority":"6","pid":"2830187","message":"checking for perl... /usr/bin/perl"}

data: {"time":"2026-09-19T16:07:47.830Z","priority":"6","pid":"2830187","message":"checking for httpd... no"}

data: {"time":"2026-09-19T16:07:47.831Z","priority":"6","pid":"2830187","message":"checking for apache2... no"}

data: {"time":"2026-09-19T16:07:47.832Z","priority":"6","pid":"2830187","message":"checking for apxs... no"}

data: {"time":"2026-09-19T16:07:47.832Z","priority":"6","pid":"2830187","message":"configure: httpd/apache2 not in PATH, http tests disabled"}

data: {"time":"2026-09-19T16:07:47.833Z","priority":"6","pid":"2830187","message":"configure: apxs not in PATH, http tests disabled"}

data: {"time":"2026-09-19T16:07:47.834Z","priority":"6","pid":"2830187","message":"checking for danted... no"}

data: {"time":"2026-09-19T16:07:47.835Z","priority":"6","pid":"2830187","message":"checking for danted... no"}

data: {"time":"2026-09-19T16:07:47.836Z","priority":"6","pid":"2830187","message":"checking for sshd... no"}

data: {"time":"2026-09-19T16:07:47.837Z","priority":"6","pid":"2830187","message":"checking for sshd... no"}

data: {"time":"2026-09-19T16:07:47.838Z","priority":"6","pid":"2830187","message":"checking for sftp-server... no"}

data: {"time":"2026-09-19T16:07:47.839Z","priority":"6","pid":"2830187","message":"checking for sftp-server... no"}

data: {"time":"2026-09-19T16:07:47.840Z","priority":"6","pid":"2830187","message":"checking for nghttpx... no"}

data: {"time":"2026-09-19T16:07:47.841Z","priority":"6","pid":"2830187","message":"checking for caddy... no"}

data: {"time":"2026-09-19T16:07:47.988Z","priority":"6","pid":"2830187","message":"checking build system type... x86_64-pc-linux-gnu"}

data: {"time":"2026-09-19T16:07:47.990Z","priority":"6","pid":"2830187","message":"checking host system type... x86_64-pc-linux-gnu"}

data: {"time":"2026-09-19T16:07:47.999Z","priority":"6","pid":"2830187","message":"checking for egrep -e... /usr/bin/grep -E"}

data: {"time":"2026-09-19T16:07:48.026Z","priority":"6","pid":"2830187","message":"checking if OS is AIX (to define _ALL_SOURCE)... no"}

data: {"time":"2026-09-19T16:07:48.073Z","priority":"6","pid":"2830187","message":"checking if _THREAD_SAFE is already defined... no"}

data: {"time":"2026-09-19T16:07:48.076Z","priority":"6","pid":"2830187","message":"checking if _THREAD_SAFE is actually needed... no"}

data: {"time":"2026-09-19T16:07:48.078Z","priority":"6","pid":"2830187","message":"checking if _THREAD_SAFE is onwards defined... no"}

data: {"time":"2026-09-19T16:07:48.124Z","priority":"6","pid":"2830187","message":"checking if _REENTRANT is already defined... no"}

data: {"time":"2026-09-19T16:07:49.350Z","priority":"6","pid":"2830187","message":"checking if _REENTRANT is actually needed... no"}

data: {"time":"2026-09-19T16:07:49.352Z","priority":"6","pid":"2830187","message":"checking if _REENTRANT is onwards defined... no"}

data: {"time":"2026-09-19T16:07:49.460Z","priority":"6","pid":"2830187","message":"checking for gcc option to support large files... none needed"}

data: {"time":"2026-09-19T16:07:49.470Z","priority":"6","pid":"2830187","message":"checking how to print strings... printf"}

data: {"time":"2026-09-19T16:07:49.472Z","priority":"6","pid":"2830187","message":"checking for a sed that does not truncate output... (cached) /usr/bin/sed"}

data: {"time":"2026-09-19T16:07:49.476Z","priority":"6","pid":"2830187","message":"checking for grep that handles long lines and -e... (cached) /usr/bin/grep"}

data: {"time":"2026-09-19T16:07:49.507Z","priority":"6","pid":"2830187","message":"checking for egrep... /usr/bin/grep -E"}

data: {"time":"2026-09-19T16:07:49.513Z","priority":"6","pid":"2830187","message":"checking for fgrep... /usr/bin/grep -F"}

data: {"time":"2026-09-19T16:07:49.528Z","priority":"6","pid":"2830187","message":"checking for ld used by gcc... /usr/bin/ld"}

data: {"time":"2026-09-19T16:07:49.537Z","priority":"6","pid":"2830187","message":"checking if the linker (/usr/bin/ld) is GNU ld... yes"}

data: {"time":"2026-09-19T16:07:49.547Z","priority":"6","pid":"2830187","message":"checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B"}

data: {"time":"2026-09-19T16:07:49.608Z","priority":"6","pid":"2830187","message":"checking the name lister (/usr/bin/nm -B) interface... BSD nm"}

data: {"time":"2026-09-19T16:07:49.610Z","priority":"6","pid":"2830187","message":"checking whether ln -s works... yes"}

data: {"time":"2026-09-19T16:07:49.627Z","priority":"6","pid":"2830187","message":"checking the maximum length of command line arguments... 1572864"}

data: {"time":"2026-09-19T16:07:49.638Z","priority":"6","pid":"2830187","message":"checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop"}

data: {"time":"2026-09-19T16:07:49.640Z","priority":"6","pid":"2830187","message":"checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop"}

data: {"time":"2026-09-19T16:07:49.641Z","priority":"6","pid":"2830187","message":"checking for /usr/bin/ld option to reload object files... -r"}

data: {"time":"2026-09-19T16:07:49.642Z","priority":"6","pid":"2830187","message":"checking for file... file"}

data: {"time":"2026-09-19T16:07:49.643Z","priority":"6","pid":"2830187","message":"checking for objdump... objdump"}

data: {"time":"2026-09-19T16:07:49.645Z","priority":"6","pid":"2830187","message":"checking how to recognize dependent libraries... pass_all"}

data: {"time":"2026-09-19T16:07:49.647Z","priority":"6","pid":"2830187","message":"checking for dlltool... no"}

data: {"time":"2026-09-19T16:07:49.648Z","priority":"6","pid":"2830187","message":"checking how to associate runtime and link libraries... printf %s\\n"}

data: {"time":"2026-09-19T16:07:49.649Z","priority":"6","pid":"2830187","message":"checking for ranlib... ranlib"}

data: {"time":"2026-09-19T16:07:49.715Z","priority":"6","pid":"2830187","message":"checking for archiver @FILE support... @"}

data: {"time":"2026-09-19T16:07:49.716Z","priority":"6","pid":"2830187","message":"checking for strip... strip"}

data: {"time":"2026-09-19T16:07:49.986Z","priority":"6","pid":"2830187","message":"checking command to parse /usr/bin/nm -B output from gcc object... ok"}

data: {"time":"2026-09-19T16:07:50.000Z","priority":"6","pid":"2830187","message":"checking for sysroot... no"}

data: {"time":"2026-09-19T16:07:50.012Z","priority":"6","pid":"2830187","message":"checking for a working dd... /usr/bin/dd"}

data: {"time":"2026-09-19T16:07:50.024Z","priority":"6","pid":"2830187","message":"checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1"}

data: {"time":"2026-09-19T16:07:50.065Z","priority":"6","pid":"2830187","message":"checking for mt... no"}

data: {"time":"2026-09-19T16:07:50.074Z","priority":"6","pid":"2830187","message":"checking if : is a manifest tool... no"}

data: {"time":"2026-09-19T16:07:50.175Z","priority":"6","pid":"2830187","message":"checking for dlfcn.h... yes"}

data: {"time":"2026-09-19T16:07:50.178Z","priority":"6","pid":"2830187","message":"checking which variant of shared library versioning to provide... (default) aix"}

data: {"time":"2026-09-19T16:07:50.187Z","priority":"6","pid":"2830187","message":"checking for objdir... .libs"}

data: {"time":"2026-09-19T16:07:50.476Z","priority":"6","pid":"2830187","message":"checking if gcc supports -fno-rtti -fno-exceptions... no"}

data: {"time":"2026-09-19T16:07:50.479Z","priority":"6","pid":"2830187","message":"checking for gcc option to produce PIC... -fPIC -DPIC"}

data: {"time":"2026-09-19T16:07:50.527Z","priority":"6","pid":"2830187","message":"checking if gcc PIC flag -fPIC -DPIC works... yes"}

data: {"time":"2026-09-19T16:07:50.803Z","priority":"6","pid":"2830187","message":"checking if gcc static flag -static works... yes"}

data: {"time":"2026-09-19T16:07:50.878Z","priority":"6","pid":"2830187","message":"checking if gcc supports -c -o file.o... yes"}

data: {"time":"2026-09-19T16:07:50.879Z","priority":"6","pid":"2830187","message":"checking if gcc supports -c -o file.o... (cached) yes"}

data: {"time":"2026-09-19T16:07:50.936Z","priority":"6","pid":"2830187","message":"checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes"}

data: {"time":"2026-09-19T16:07:51.091Z","priority":"6","pid":"2830187","message":"checking whether -lc should be explicitly linked in... no"}

data: {"time":"2026-09-19T16:07:51.359Z","priority":"6","pid":"2830187","message":"checking dynamic linker characteristics... GNU/Linux ld.so"}

data: {"time":"2026-09-19T16:07:51.362Z","priority":"6","pid":"2830187","message":"checking how to hardcode library paths into programs... immediate"}

data: {"time":"2026-09-19T16:07:51.371Z","priority":"6","pid":"2830187","message":"checking whether stripping libraries is possible... yes"}

data: {"time":"2026-09-19T16:07:51.372Z","priority":"6","pid":"2830187","message":"checking if libtool supports shared libraries... yes"}

data: {"time":"2026-09-19T16:07:51.373Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries... yes"}

data: {"time":"2026-09-19T16:07:51.374Z","priority":"6","pid":"2830187","message":"checking whether to build static libraries... yes"}

data: {"time":"2026-09-19T16:07:51.376Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with -version-info... yes"}

data: {"time":"2026-09-19T16:07:51.378Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with -no-undefined... no"}

data: {"time":"2026-09-19T16:07:51.378Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with -mimpure-text... no"}

data: {"time":"2026-09-19T16:07:51.379Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries with PIC... yes"}

data: {"time":"2026-09-19T16:07:51.380Z","priority":"6","pid":"2830187","message":"checking whether to build static libraries with PIC... yes"}

data: {"time":"2026-09-19T16:07:51.381Z","priority":"6","pid":"2830187","message":"checking whether to build shared libraries only... no"}

data: {"time":"2026-09-19T16:07:51.382Z","priority":"6","pid":"2830187","message":"checking whether to build static libraries only... no"}

data: {"time":"2026-09-19T16:07:51.383Z","priority":"6","pid":"2830187","message":"checking for windres... no"}

data: {"time":"2026-09-19T16:07:51.465Z","priority":"6","pid":"2830187","message":"checking if cpp -P is needed... yes"}

data: {"time":"2026-09-19T16:07:51.497Z","priority":"6","pid":"2830187","message":"checking if cpp -P works... yes"}

data: {"time":"2026-09-19T16:07:51.612Z","priority":"6","pid":"2830187","message":"checking if compiler is DEC/Compaq/HP C... no"}

data: {"time":"2026-09-19T16:07:51.674Z","priority":"6","pid":"2830187","message":"checking if compiler is HP-UX C... no"}

data: {"time":"2026-09-19T16:07:51.740Z","priority":"6","pid":"2830187","message":"checking if compiler is IBM C... no"}

data: {"time":"2026-09-19T16:07:51.797Z","priority":"6","pid":"2830187","message":"checking if compiler is Intel C... no"}

data: {"time":"2026-09-19T16:07:51.855Z","priority":"6","pid":"2830187","message":"checking if compiler is clang... no"}

data: {"time":"2026-09-19T16:07:51.917Z","priority":"6","pid":"2830187","message":"checking if compiler is GNU C... yes"}

data: {"time":"2026-09-19T16:07:51.938Z","priority":"6","pid":"2830187","message":"checking compiler version... gcc '1600' (raw: '16')"}

data: {"time":"2026-09-19T16:07:51.998Z","priority":"6","pid":"2830187","message":"checking if compiler is SunPro C... no"}

data: {"time":"2026-09-19T16:07:52.055Z","priority":"6","pid":"2830187","message":"checking if compiler is Tiny C... no"}

data: {"time":"2026-09-19T16:07:52.056Z","priority":"6","pid":"2830187","message":"checking for code coverage support... no"}

data: {"time":"2026-09-19T16:07:52.105Z","priority":"6","pid":"2830187","message":"checking whether build target is a native Windows one... no"}

data: {"time":"2026-09-19T16:07:52.549Z","priority":"6","pid":"2830187","message":"checking if compiler accepts some basic options... yes"}

data: {"time":"2026-09-19T16:07:52.551Z","priority":"6","pid":"2830187","message":"configure: compiler options added: -Werror-implicit-function-declaration"}

data: {"time":"2026-09-19T16:07:52.555Z","priority":"6","pid":"2830187","message":"checking if compiler optimizer assumed setting might be used... no"}

data: {"time":"2026-09-19T16:07:52.973Z","priority":"6","pid":"2830187","message":"checking if compiler accepts strict warning options... yes"}

data: {"time":"2026-09-19T16:07:52.974Z","priority":"6","pid":"2830187","message":"configure: compiler options added: -Wno-system-headers"}

data: {"time":"2026-09-19T16:07:53.045Z","priority":"6","pid":"2830187","message":"checking if compiler halts on compilation errors... yes"}

data: {"time":"2026-09-19T16:07:53.098Z","priority":"6","pid":"2830187","message":"checking if compiler halts on negative sized arrays... yes"}

data: {"time":"2026-09-19T16:07:53.163Z","priority":"6","pid":"2830187","message":"checking if compiler halts on function prototype mismatch... yes"}

data: {"time":"2026-09-19T16:07:53.251Z","priority":"6","pid":"2830187","message":"checking if compiler supports hiding library internal symbols... yes"}

data: {"time":"2026-09-19T16:07:53.253Z","priority":"6","pid":"2830187","message":"checking whether build target supports Win32 crypto API... no"}

data: {"time":"2026-09-19T16:07:53.256Z","priority":"6","pid":"2830187","message":"checking whether to build libcurl and curl in \"unity\" mode... no"}

data: {"time":"2026-09-19T16:07:53.257Z","priority":"6","pid":"2830187","message":"checking whether to support http... yes"}

data: {"time":"2026-09-19T16:07:53.258Z","priority":"6","pid":"2830187","message":"checking whether to support ftp... yes"}

data: {"time":"2026-09-19T16:07:53.259Z","priority":"6","pid":"2830187","message":"checking whether to support file... yes"}

data: {"time":"2026-09-19T16:07:53.260Z","priority":"6","pid":"2830187","message":"checking whether to support IPFS... yes"}

data: {"time":"2026-09-19T16:07:53.261Z","priority":"6","pid":"2830187","message":"checking whether to support ldap... no"}

data: {"time":"2026-09-19T16:07:53.262Z","priority":"6","pid":"2830187","message":"checking whether to support ldaps... no"}

data: {"time":"2026-09-19T16:07:53.262Z","priority":"6","pid":"2830187","message":"checking whether to support rtsp... yes"}

data: {"time":"2026-09-19T16:07:53.263Z","priority":"6","pid":"2830187","message":"checking whether to support proxies... yes"}

data: {"time":"2026-09-19T16:07:53.264Z","priority":"6","pid":"2830187","message":"checking whether to support dict... yes"}

data: {"time":"2026-09-19T16:07:53.264Z","priority":"6","pid":"2830187","message":"checking whether to support telnet... yes"}

data: {"time":"2026-09-19T16:07:53.265Z","priority":"6","pid":"2830187","message":"checking whether to support tftp... yes"}

data: {"time":"2026-09-19T16:07:53.266Z","priority":"6","pid":"2830187","message":"checking whether to support pop3... yes"}

data: {"time":"2026-09-19T16:07:53.266Z","priority":"6","pid":"2830187","message":"checking whether to support imap... yes"}

data: {"time":"2026-09-19T16:07:53.267Z","priority":"6","pid":"2830187","message":"checking whether to support smb... no"}

data: {"time":"2026-09-19T16:07:53.267Z","priority":"6","pid":"2830187","message":"checking whether to support smtp... yes"}

data: {"time":"2026-09-19T16:07:53.268Z","priority":"6","pid":"2830187","message":"checking whether to support gopher... yes"}

data: {"time":"2026-09-19T16:07:53.269Z","priority":"6","pid":"2830187","message":"checking whether to support mqtt... no"}

data: {"time":"2026-09-19T16:07:53.269Z","priority":"6","pid":"2830187","message":"checking enable curl_global_init_mem debug build... no"}

data: {"time":"2026-09-19T16:07:53.270Z","priority":"6","pid":"2830187","message":"checking whether to provide built-in manual... no"}

data: {"time":"2026-09-19T16:07:53.271Z","priority":"6","pid":"2830187","message":"checking whether to build documentation... yes"}

data: {"time":"2026-09-19T16:07:53.271Z","priority":"6","pid":"2830187","message":"checking whether to enable generation of C code... yes"}

data: {"time":"2026-09-19T16:07:53.272Z","priority":"6","pid":"2830187","message":"checking whether to use libgcc... no"}

data: {"time":"2026-09-19T16:07:53.273Z","priority":"6","pid":"2830187","message":"checking whether to use libbacktrace... no"}

data: {"time":"2026-09-19T16:07:53.321Z","priority":"6","pid":"2830187","message":"checking if X/Open network library is required... no"}

data: {"time":"2026-09-19T16:07:53.508Z","priority":"6","pid":"2830187","message":"checking for gethostbyname... yes"}

data: {"time":"2026-09-19T16:07:53.511Z","priority":"6","pid":"2830187","message":"checking whether build target is a native Windows one... (cached) no"}

data: {"time":"2026-09-19T16:07:53.560Z","priority":"6","pid":"2830187","message":"checking for proto/bsdsocket.h... no"}

data: {"time":"2026-09-19T16:07:53.737Z","priority":"6","pid":"2830187","message":"checking for connect in libraries... yes"}

data: {"time":"2026-09-19T16:07:53.739Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:07:53.787Z","priority":"6","pid":"2830187","message":"checking for monotonic clock_gettime... yes"}

data: {"time":"2026-09-19T16:07:53.972Z","priority":"6","pid":"2830187","message":"checking for clock_gettime in libraries... no additional lib required"}

data: {"time":"2026-09-19T16:07:54.165Z","priority":"6","pid":"2830187","message":"checking if monotonic clock_gettime works... yes"}

data: {"time":"2026-09-19T16:07:54.169Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:07:54.219Z","priority":"6","pid":"2830187","message":"checking for raw monotonic clock_gettime... yes"}

data: {"time":"2026-09-19T16:07:54.224Z","priority":"6","pid":"2830187","message":"checking for pkg-config... /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:54.230Z","priority":"6","pid":"2830187","message":"checking for zlib options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:54.348Z","priority":"6","pid":"2830187","message":"checking for zlib.h... yes"}

data: {"time":"2026-09-19T16:07:54.375Z","priority":"6","pid":"2830187","message":"configure: found both libz and libz.h header"}

data: {"time":"2026-09-19T16:07:54.559Z","priority":"6","pid":"2830187","message":"checking for BrotliDecoderDecompress in -lbrotlidec... yes"}

data: {"time":"2026-09-19T16:07:54.662Z","priority":"6","pid":"2830187","message":"checking for brotli/decode.h... yes"}

data: {"time":"2026-09-19T16:07:54.846Z","priority":"6","pid":"2830187","message":"checking for ZSTD_createDStream in -lzstd... yes"}

data: {"time":"2026-09-19T16:07:54.974Z","priority":"6","pid":"2830187","message":"checking for zstd.h... yes"}

data: {"time":"2026-09-19T16:07:54.979Z","priority":"6","pid":"2830187","message":"checking whether to enable IPv6... yes"}

data: {"time":"2026-09-19T16:07:55.033Z","priority":"6","pid":"2830187","message":"checking if struct sockaddr_in6 has sin6_scope_id member... yes"}

data: {"time":"2026-09-19T16:07:55.247Z","priority":"6","pid":"2830187","message":"checking if argv can be written to... yes"}

data: {"time":"2026-09-19T16:07:55.249Z","priority":"6","pid":"2830187","message":"checking if GSS-API support is requested... yes"}

data: {"time":"2026-09-19T16:07:55.250Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:55.256Z","priority":"6","pid":"2830187","message":"checking for mit-krb5-gssapi options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:55.374Z","priority":"6","pid":"2830187","message":"checking for gss.h... no"}

data: {"time":"2026-09-19T16:07:55.465Z","priority":"6","pid":"2830187","message":"checking for gssapi/gssapi.h... yes"}

data: {"time":"2026-09-19T16:07:55.564Z","priority":"6","pid":"2830187","message":"checking for gssapi/gssapi_generic.h... yes"}

data: {"time":"2026-09-19T16:07:55.689Z","priority":"6","pid":"2830187","message":"checking for gssapi/gssapi_krb5.h... yes"}

data: {"time":"2026-09-19T16:07:55.701Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:55.707Z","priority":"6","pid":"2830187","message":"checking for mit-krb5-gssapi options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:55.714Z","priority":"6","pid":"2830187","message":"configure: GSS-API MIT Kerberos version detected: 1.22.2"}

data: {"time":"2026-09-19T16:07:55.924Z","priority":"6","pid":"2830187","message":"checking if we can link against GSS-API library... yes"}

data: {"time":"2026-09-19T16:07:56.152Z","priority":"6","pid":"2830187","message":"checking for gss_set_neg_mechs... yes"}

data: {"time":"2026-09-19T16:07:56.154Z","priority":"6","pid":"2830187","message":"checking whether to enable Windows native SSL/TLS... no"}

data: {"time":"2026-09-19T16:07:56.156Z","priority":"6","pid":"2830187","message":"checking whether to enable Amiga native SSL/TLS (AmiSSL 5)... no"}

data: {"time":"2026-09-19T16:07:56.160Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:56.166Z","priority":"6","pid":"2830187","message":"checking for gnutls options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:56.515Z","priority":"6","pid":"2830187","message":"checking for gnutls_x509_crt_get_dn2 in -lgnutls... yes"}

data: {"time":"2026-09-19T16:07:56.516Z","priority":"6","pid":"2830187","message":"configure: detected GnuTLS version 3.8.13"}

data: {"time":"2026-09-19T16:07:56.744Z","priority":"6","pid":"2830187","message":"checking for nettle_md5_init in -lgnutls... no"}

data: {"time":"2026-09-19T16:07:56.746Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:56.760Z","priority":"6","pid":"2830187","message":"checking for nettle options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:56.998Z","priority":"6","pid":"2830187","message":"checking for nettle_md5_init in -lnettle... yes"}

data: {"time":"2026-09-19T16:07:56.999Z","priority":"6","pid":"2830187","message":"configure: detected nettle version 4.0"}

data: {"time":"2026-09-19T16:07:57.239Z","priority":"6","pid":"2830187","message":"checking for nettle_ed25519_sha512_sign in -lgnutls... no"}

data: {"time":"2026-09-19T16:07:57.240Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:57.246Z","priority":"6","pid":"2830187","message":"checking for hogweed options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:57.493Z","priority":"6","pid":"2830187","message":"checking for nettle_ed25519_sha512_sign in -lhogweed... yes"}

data: {"time":"2026-09-19T16:07:57.494Z","priority":"6","pid":"2830187","message":"configure: detected hogweed version 4.0"}

data: {"time":"2026-09-19T16:07:57.499Z","priority":"6","pid":"2830187","message":"checking whether to enable Apple OS native certificate validation... no"}

data: {"time":"2026-09-19T16:07:57.500Z","priority":"6","pid":"2830187","message":"configure: built with one SSL backend"}

data: {"time":"2026-09-19T16:07:57.501Z","priority":"6","pid":"2830187","message":"checking whether to use native CA store... no"}

data: {"time":"2026-09-19T16:07:57.502Z","priority":"6","pid":"2830187","message":"checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt"}

data: {"time":"2026-09-19T16:07:57.503Z","priority":"6","pid":"2830187","message":"checking whether to use OpenSSL's built-in CA store... no"}

data: {"time":"2026-09-19T16:07:57.504Z","priority":"6","pid":"2830187","message":"checking CA cert bundle path to embed in the curl tool... no"}

data: {"time":"2026-09-19T16:07:57.506Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:57.511Z","priority":"6","pid":"2830187","message":"checking for libpsl options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:57.725Z","priority":"6","pid":"2830187","message":"checking for psl_builtin in -lpsl... yes"}

data: {"time":"2026-09-19T16:07:57.826Z","priority":"6","pid":"2830187","message":"checking for libpsl.h... yes"}

data: {"time":"2026-09-19T16:07:57.834Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:57.846Z","priority":"6","pid":"2830187","message":"checking for libssh2 options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:58.146Z","priority":"6","pid":"2830187","message":"checking for libssh2_agent_get_identity_path in -lssh2... yes"}

data: {"time":"2026-09-19T16:07:58.252Z","priority":"6","pid":"2830187","message":"checking for libssh2.h... yes"}

data: {"time":"2026-09-19T16:07:58.256Z","priority":"6","pid":"2830187","message":"checking whether versioned symbols are wanted... no"}

data: {"time":"2026-09-19T16:07:58.258Z","priority":"6","pid":"2830187","message":"checking whether to build with libidn2... (assumed) yes"}

data: {"time":"2026-09-19T16:07:58.261Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:58.267Z","priority":"6","pid":"2830187","message":"checking for libidn2 options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:58.288Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_LIBS: \"-lidn2\""}

data: {"time":"2026-09-19T16:07:58.289Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_LDFLAGS: \"\""}

data: {"time":"2026-09-19T16:07:58.289Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_CPPFLAGS: \"\""}

data: {"time":"2026-09-19T16:07:58.290Z","priority":"6","pid":"2830187","message":"configure: pkg-config: IDN_DIR: \"\""}

data: {"time":"2026-09-19T16:07:58.501Z","priority":"6","pid":"2830187","message":"checking if idn2_lookup_ul can be linked... yes"}

data: {"time":"2026-09-19T16:07:58.619Z","priority":"6","pid":"2830187","message":"checking for idn2.h... yes"}

data: {"time":"2026-09-19T16:07:58.622Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:58.626Z","priority":"6","pid":"2830187","message":"checking for libnghttp2 options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:58.630Z","priority":"6","pid":"2830187","message":"configure: -l is -lnghttp2"}

data: {"time":"2026-09-19T16:07:58.633Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T16:07:58.636Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T16:07:58.842Z","priority":"6","pid":"2830187","message":"checking for nghttp2_session_get_stream_local_window_size in -lnghttp2... yes"}

data: {"time":"2026-09-19T16:07:58.933Z","priority":"6","pid":"2830187","message":"checking for nghttp2/nghttp2.h... yes"}

data: {"time":"2026-09-19T16:07:58.934Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T16:07:58.937Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:58.942Z","priority":"6","pid":"2830187","message":"checking for libngtcp2 options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:58.946Z","priority":"6","pid":"2830187","message":"configure: -l is -lngtcp2"}

data: {"time":"2026-09-19T16:07:58.949Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T16:07:58.953Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T16:07:59.172Z","priority":"6","pid":"2830187","message":"checking for ngtcp2_conn_client_new_versioned in -lngtcp2... yes"}

data: {"time":"2026-09-19T16:07:59.267Z","priority":"6","pid":"2830187","message":"checking for ngtcp2/ngtcp2.h... yes"}

data: {"time":"2026-09-19T16:07:59.268Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T16:07:59.278Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:59.283Z","priority":"6","pid":"2830187","message":"checking for libngtcp2_crypto_gnutls options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:59.287Z","priority":"6","pid":"2830187","message":"configure: -l is -lngtcp2_crypto_gnutls"}

data: {"time":"2026-09-19T16:07:59.291Z","priority":"6","pid":"2830187","message":"configure: -I is -I/usr/include/p11-kit-1"}

data: {"time":"2026-09-19T16:07:59.295Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T16:07:59.551Z","priority":"6","pid":"2830187","message":"checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_gnutls... yes"}

data: {"time":"2026-09-19T16:07:59.685Z","priority":"6","pid":"2830187","message":"checking for ngtcp2/ngtcp2_crypto.h... yes"}

data: {"time":"2026-09-19T16:07:59.686Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T16:07:59.690Z","priority":"6","pid":"2830187","message":"checking for pkg-config... (cached) /usr/bin/pkg-config"}

data: {"time":"2026-09-19T16:07:59.696Z","priority":"6","pid":"2830187","message":"checking for libnghttp3 options with pkg-config... found"}

data: {"time":"2026-09-19T16:07:59.700Z","priority":"6","pid":"2830187","message":"configure: -l is -lnghttp3"}

data: {"time":"2026-09-19T16:07:59.705Z","priority":"6","pid":"2830187","message":"configure: -I is"}

data: {"time":"2026-09-19T16:07:59.710Z","priority":"6","pid":"2830187","message":"configure: -L is"}

data: {"time":"2026-09-19T16:07:59.934Z","priority":"6","pid":"2830187","message":"checking for nghttp3_conn_client_new_versioned in -lnghttp3... yes"}

data: {"time":"2026-09-19T16:08:00.070Z","priority":"6","pid":"2830187","message":"checking for nghttp3/nghttp3.h... yes"}

data: {"time":"2026-09-19T16:08:00.072Z","priority":"6","pid":"2830187","message":"configure: Added  to CURL_LIBRARY_PATH"}

data: {"time":"2026-09-19T16:08:00.076Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:00.160Z","priority":"6","pid":"2830187","message":"checking for sys/select.h... yes"}

data: {"time":"2026-09-19T16:08:00.226Z","priority":"6","pid":"2830187","message":"checking for sys/ioctl.h... yes"}

data: {"time":"2026-09-19T16:08:00.229Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:00.296Z","priority":"6","pid":"2830187","message":"checking for arpa/inet.h... yes"}

data: {"time":"2026-09-19T16:08:00.390Z","priority":"6","pid":"2830187","message":"checking for net/if.h... yes"}

data: {"time":"2026-09-19T16:08:00.473Z","priority":"6","pid":"2830187","message":"checking for netinet/in.h... yes"}

data: {"time":"2026-09-19T16:08:00.551Z","priority":"6","pid":"2830187","message":"checking for netinet/in6.h... no"}

data: {"time":"2026-09-19T16:08:00.632Z","priority":"6","pid":"2830187","message":"checking for sys/un.h... yes"}

data: {"time":"2026-09-19T16:08:00.736Z","priority":"6","pid":"2830187","message":"checking for linux/tcp.h... yes"}

data: {"time":"2026-09-19T16:08:00.815Z","priority":"6","pid":"2830187","message":"checking for netinet/tcp.h... yes"}

data: {"time":"2026-09-19T16:08:00.954Z","priority":"6","pid":"2830187","message":"checking for netinet/udp.h... yes"}

data: {"time":"2026-09-19T16:08:01.032Z","priority":"6","pid":"2830187","message":"checking for netinet/ip.h... yes"}

data: {"time":"2026-09-19T16:08:01.114Z","priority":"6","pid":"2830187","message":"checking for netdb.h... yes"}

data: {"time":"2026-09-19T16:08:01.200Z","priority":"6","pid":"2830187","message":"checking for sys/sockio.h... no"}

data: {"time":"2026-09-19T16:08:01.323Z","priority":"6","pid":"2830187","message":"checking for sys/param.h... yes"}

data: {"time":"2026-09-19T16:08:01.425Z","priority":"6","pid":"2830187","message":"checking for termios.h... yes"}

data: {"time":"2026-09-19T16:08:01.521Z","priority":"6","pid":"2830187","message":"checking for termio.h... no"}

data: {"time":"2026-09-19T16:08:01.613Z","priority":"6","pid":"2830187","message":"checking for fcntl.h... yes"}

data: {"time":"2026-09-19T16:08:01.710Z","priority":"6","pid":"2830187","message":"checking for io.h... no"}

data: {"time":"2026-09-19T16:08:01.833Z","priority":"6","pid":"2830187","message":"checking for pwd.h... yes"}

data: {"time":"2026-09-19T16:08:01.927Z","priority":"6","pid":"2830187","message":"checking for utime.h... yes"}

data: {"time":"2026-09-19T16:08:02.023Z","priority":"6","pid":"2830187","message":"checking for sys/utime.h... no"}

data: {"time":"2026-09-19T16:08:02.131Z","priority":"6","pid":"2830187","message":"checking for sys/poll.h... yes"}

data: {"time":"2026-09-19T16:08:02.250Z","priority":"6","pid":"2830187","message":"checking for poll.h... yes"}

data: {"time":"2026-09-19T16:08:02.328Z","priority":"6","pid":"2830187","message":"checking for sys/resource.h... yes"}

data: {"time":"2026-09-19T16:08:02.406Z","priority":"6","pid":"2830187","message":"checking for libgen.h... yes"}

data: {"time":"2026-09-19T16:08:02.488Z","priority":"6","pid":"2830187","message":"checking for locale.h... yes"}

data: {"time":"2026-09-19T16:08:02.569Z","priority":"6","pid":"2830187","message":"checking for stdbool.h... yes"}

data: {"time":"2026-09-19T16:08:02.656Z","priority":"6","pid":"2830187","message":"checking for sys/filio.h... no"}

data: {"time":"2026-09-19T16:08:02.747Z","priority":"6","pid":"2830187","message":"checking for sys/eventfd.h... yes"}

data: {"time":"2026-09-19T16:08:02.801Z","priority":"6","pid":"2830187","message":"checking for an ANSI C-conforming const... yes"}

data: {"time":"2026-09-19T16:08:03.032Z","priority":"6","pid":"2830187","message":"checking for size_t... yes"}

data: {"time":"2026-09-19T16:08:03.038Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:03.111Z","priority":"6","pid":"2830187","message":"checking for struct timeval... yes"}

data: {"time":"2026-09-19T16:08:03.357Z","priority":"6","pid":"2830187","message":"checking runtime libs availability... fine"}

data: {"time":"2026-09-19T16:08:03.415Z","priority":"6","pid":"2830187","message":"checking size of size_t... 8"}

data: {"time":"2026-09-19T16:08:03.483Z","priority":"6","pid":"2830187","message":"checking size of long... 8"}

data: {"time":"2026-09-19T16:08:03.607Z","priority":"6","pid":"2830187","message":"checking size of int... 4"}

data: {"time":"2026-09-19T16:08:03.663Z","priority":"6","pid":"2830187","message":"checking size of time_t... 8"}

data: {"time":"2026-09-19T16:08:03.719Z","priority":"6","pid":"2830187","message":"checking size of off_t... 8"}

data: {"time":"2026-09-19T16:08:03.781Z","priority":"6","pid":"2830187","message":"checking size of curl_off_t... 8"}

data: {"time":"2026-09-19T16:08:03.992Z","priority":"6","pid":"2830187","message":"checking size of curl_socket_t... 4"}

data: {"time":"2026-09-19T16:08:04.211Z","priority":"6","pid":"2830187","message":"checking for ssize_t... yes"}

data: {"time":"2026-09-19T16:08:04.318Z","priority":"6","pid":"2830187","message":"checking for bool... yes"}

data: {"time":"2026-09-19T16:08:04.440Z","priority":"6","pid":"2830187","message":"checking for sa_family_t... yes"}

data: {"time":"2026-09-19T16:08:04.553Z","priority":"6","pid":"2830187","message":"checking for suseconds_t... yes"}

data: {"time":"2026-09-19T16:08:04.797Z","priority":"6","pid":"2830187","message":"checking if time_t is unsigned... no"}

data: {"time":"2026-09-19T16:08:04.917Z","priority":"6","pid":"2830187","message":"checking for struct sockaddr_storage... yes"}

data: {"time":"2026-09-19T16:08:04.918Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:05.151Z","priority":"6","pid":"2830187","message":"checking for recv... yes"}

data: {"time":"2026-09-19T16:08:05.155Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:05.380Z","priority":"6","pid":"2830187","message":"checking for send... yes"}

data: {"time":"2026-09-19T16:08:05.384Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:05.384Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:05.630Z","priority":"6","pid":"2830187","message":"checking if alarm can be linked... yes"}

data: {"time":"2026-09-19T16:08:05.669Z","priority":"6","pid":"2830187","message":"checking if alarm is prototyped... yes"}

data: {"time":"2026-09-19T16:08:05.729Z","priority":"6","pid":"2830187","message":"checking if alarm is compilable... yes"}

data: {"time":"2026-09-19T16:08:05.733Z","priority":"6","pid":"2830187","message":"checking if alarm usage allowed... yes"}

data: {"time":"2026-09-19T16:08:05.734Z","priority":"6","pid":"2830187","message":"checking if alarm might be used... yes"}

data: {"time":"2026-09-19T16:08:05.735Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:05.735Z","priority":"6","pid":"2830187","message":"checking for strings.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:05.736Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:05.737Z","priority":"6","pid":"2830187","message":"checking for libgen.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:05.952Z","priority":"6","pid":"2830187","message":"checking if basename can be linked... yes"}

data: {"time":"2026-09-19T16:08:06.011Z","priority":"6","pid":"2830187","message":"checking if basename is prototyped... yes"}

data: {"time":"2026-09-19T16:08:06.076Z","priority":"6","pid":"2830187","message":"checking if basename is compilable... yes"}

data: {"time":"2026-09-19T16:08:06.079Z","priority":"6","pid":"2830187","message":"checking if basename usage allowed... yes"}

data: {"time":"2026-09-19T16:08:06.081Z","priority":"6","pid":"2830187","message":"checking if basename might be used... yes"}

data: {"time":"2026-09-19T16:08:06.130Z","priority":"6","pid":"2830187","message":"checking if closesocket can be linked... no"}

data: {"time":"2026-09-19T16:08:06.134Z","priority":"6","pid":"2830187","message":"checking if closesocket might be used... no"}

data: {"time":"2026-09-19T16:08:06.135Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:06.200Z","priority":"6","pid":"2830187","message":"checking if CloseSocket can be linked... no"}

data: {"time":"2026-09-19T16:08:06.204Z","priority":"6","pid":"2830187","message":"checking if CloseSocket might be used... no"}

data: {"time":"2026-09-19T16:08:06.208Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:06.210Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:06.211Z","priority":"6","pid":"2830187","message":"checking for fcntl.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:06.428Z","priority":"6","pid":"2830187","message":"checking if fcntl can be linked... yes"}

data: {"time":"2026-09-19T16:08:06.473Z","priority":"6","pid":"2830187","message":"checking if fcntl is prototyped... yes"}

data: {"time":"2026-09-19T16:08:06.545Z","priority":"6","pid":"2830187","message":"checking if fcntl is compilable... yes"}

data: {"time":"2026-09-19T16:08:06.549Z","priority":"6","pid":"2830187","message":"checking if fcntl usage allowed... yes"}

data: {"time":"2026-09-19T16:08:06.550Z","priority":"6","pid":"2830187","message":"checking if fcntl might be used... yes"}

data: {"time":"2026-09-19T16:08:06.620Z","priority":"6","pid":"2830187","message":"checking if fcntl O_NONBLOCK is compilable... yes"}

data: {"time":"2026-09-19T16:08:06.623Z","priority":"6","pid":"2830187","message":"checking if fcntl O_NONBLOCK usage allowed... yes"}

data: {"time":"2026-09-19T16:08:06.624Z","priority":"6","pid":"2830187","message":"checking if fcntl O_NONBLOCK might be used... yes"}

data: {"time":"2026-09-19T16:08:06.626Z","priority":"6","pid":"2830187","message":"checking whether build target is a native Windows one... (cached) no"}

data: {"time":"2026-09-19T16:08:06.627Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:06.628Z","priority":"6","pid":"2830187","message":"checking for netdb.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:06.878Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo can be linked... yes"}

data: {"time":"2026-09-19T16:08:06.922Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo is prototyped... yes"}

data: {"time":"2026-09-19T16:08:06.984Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo is compilable... yes"}

data: {"time":"2026-09-19T16:08:06.988Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo usage allowed... yes"}

data: {"time":"2026-09-19T16:08:06.989Z","priority":"6","pid":"2830187","message":"checking if freeaddrinfo might be used... yes"}

data: {"time":"2026-09-19T16:08:06.989Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:07.035Z","priority":"6","pid":"2830187","message":"checking for sys/xattr.h... yes"}

data: {"time":"2026-09-19T16:08:07.254Z","priority":"6","pid":"2830187","message":"checking if fsetxattr can be linked... yes"}

data: {"time":"2026-09-19T16:08:07.289Z","priority":"6","pid":"2830187","message":"checking if fsetxattr is prototyped... yes"}

data: {"time":"2026-09-19T16:08:07.339Z","priority":"6","pid":"2830187","message":"checking if fsetxattr takes 5 args.... yes"}

data: {"time":"2026-09-19T16:08:07.342Z","priority":"6","pid":"2830187","message":"checking if fsetxattr is compilable... yes"}

data: {"time":"2026-09-19T16:08:07.343Z","priority":"6","pid":"2830187","message":"checking if fsetxattr usage allowed... yes"}

data: {"time":"2026-09-19T16:08:07.344Z","priority":"6","pid":"2830187","message":"checking if fsetxattr might be used... yes"}

data: {"time":"2026-09-19T16:08:07.345Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:07.573Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo can be linked... yes"}

data: {"time":"2026-09-19T16:08:07.615Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo is prototyped... yes"}

data: {"time":"2026-09-19T16:08:07.673Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo is compilable... yes"}

data: {"time":"2026-09-19T16:08:07.939Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo seems to work... yes"}

data: {"time":"2026-09-19T16:08:07.943Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo usage allowed... yes"}

data: {"time":"2026-09-19T16:08:07.944Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo might be used... yes"}

data: {"time":"2026-09-19T16:08:07.945Z","priority":"6","pid":"2830187","message":"checking if getaddrinfo is thread-safe... yes"}

data: {"time":"2026-09-19T16:08:08.156Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r can be linked... yes"}

data: {"time":"2026-09-19T16:08:08.196Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r is prototyped... yes"}

data: {"time":"2026-09-19T16:08:08.287Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r takes 3 args.... no"}

data: {"time":"2026-09-19T16:08:08.349Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r takes 5 args.... no"}

data: {"time":"2026-09-19T16:08:08.407Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r takes 6 args.... yes"}

data: {"time":"2026-09-19T16:08:08.410Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r is compilable... yes"}

data: {"time":"2026-09-19T16:08:08.412Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r usage allowed... yes"}

data: {"time":"2026-09-19T16:08:08.413Z","priority":"6","pid":"2830187","message":"checking if gethostbyname_r might be used... yes"}

data: {"time":"2026-09-19T16:08:08.662Z","priority":"6","pid":"2830187","message":"checking if gethostname can be linked... yes"}

data: {"time":"2026-09-19T16:08:08.701Z","priority":"6","pid":"2830187","message":"checking if gethostname is prototyped... yes"}

data: {"time":"2026-09-19T16:08:08.766Z","priority":"6","pid":"2830187","message":"checking if gethostname is compilable... yes"}

data: {"time":"2026-09-19T16:08:08.960Z","priority":"6","pid":"2830187","message":"checking for gethostname arg 2 data type... size_t"}

data: {"time":"2026-09-19T16:08:08.961Z","priority":"6","pid":"2830187","message":"checking if gethostname usage allowed... yes"}

data: {"time":"2026-09-19T16:08:08.963Z","priority":"6","pid":"2830187","message":"checking if gethostname might be used... yes"}

data: {"time":"2026-09-19T16:08:08.965Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:08.965Z","priority":"6","pid":"2830187","message":"checking for netinet/in.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:09.018Z","priority":"6","pid":"2830187","message":"checking for ifaddrs.h... yes"}

data: {"time":"2026-09-19T16:08:09.249Z","priority":"6","pid":"2830187","message":"checking if getifaddrs can be linked... yes"}

data: {"time":"2026-09-19T16:08:09.297Z","priority":"6","pid":"2830187","message":"checking if getifaddrs is prototyped... yes"}

data: {"time":"2026-09-19T16:08:09.358Z","priority":"6","pid":"2830187","message":"checking if getifaddrs is compilable... yes"}

data: {"time":"2026-09-19T16:08:09.629Z","priority":"6","pid":"2830187","message":"checking if getifaddrs seems to work... yes"}

data: {"time":"2026-09-19T16:08:09.633Z","priority":"6","pid":"2830187","message":"checking if getifaddrs usage allowed... yes"}

data: {"time":"2026-09-19T16:08:09.634Z","priority":"6","pid":"2830187","message":"checking if getifaddrs might be used... yes"}

data: {"time":"2026-09-19T16:08:09.853Z","priority":"6","pid":"2830187","message":"checking if getpeername can be linked... yes"}

data: {"time":"2026-09-19T16:08:09.889Z","priority":"6","pid":"2830187","message":"checking if getpeername is prototyped... yes"}

data: {"time":"2026-09-19T16:08:09.945Z","priority":"6","pid":"2830187","message":"checking if getpeername is compilable... yes"}

data: {"time":"2026-09-19T16:08:09.949Z","priority":"6","pid":"2830187","message":"checking if getpeername usage allowed... yes"}

data: {"time":"2026-09-19T16:08:09.950Z","priority":"6","pid":"2830187","message":"checking if getpeername might be used... yes"}

data: {"time":"2026-09-19T16:08:10.181Z","priority":"6","pid":"2830187","message":"checking if getsockname can be linked... yes"}

data: {"time":"2026-09-19T16:08:10.218Z","priority":"6","pid":"2830187","message":"checking if getsockname is prototyped... yes"}

data: {"time":"2026-09-19T16:08:10.267Z","priority":"6","pid":"2830187","message":"checking if getsockname is compilable... yes"}

data: {"time":"2026-09-19T16:08:10.271Z","priority":"6","pid":"2830187","message":"checking if getsockname usage allowed... yes"}

data: {"time":"2026-09-19T16:08:10.273Z","priority":"6","pid":"2830187","message":"checking if getsockname might be used... yes"}

data: {"time":"2026-09-19T16:08:10.274Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:10.487Z","priority":"6","pid":"2830187","message":"checking if gmtime_r can be linked... yes"}

data: {"time":"2026-09-19T16:08:10.526Z","priority":"6","pid":"2830187","message":"checking if gmtime_r is prototyped... yes"}

data: {"time":"2026-09-19T16:08:10.577Z","priority":"6","pid":"2830187","message":"checking if gmtime_r is compilable... yes"}

data: {"time":"2026-09-19T16:08:10.815Z","priority":"6","pid":"2830187","message":"checking if gmtime_r seems to work... yes"}

data: {"time":"2026-09-19T16:08:10.821Z","priority":"6","pid":"2830187","message":"checking if gmtime_r usage allowed... yes"}

data: {"time":"2026-09-19T16:08:10.822Z","priority":"6","pid":"2830187","message":"checking if gmtime_r might be used... yes"}

data: {"time":"2026-09-19T16:08:10.823Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:10.824Z","priority":"6","pid":"2830187","message":"checking for unistd.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:10.825Z","priority":"6","pid":"2830187","message":"checking for sys/ioctl.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:10.895Z","priority":"6","pid":"2830187","message":"checking for stropts.h... no"}

data: {"time":"2026-09-19T16:08:11.109Z","priority":"6","pid":"2830187","message":"checking if ioctl can be linked... yes"}

data: {"time":"2026-09-19T16:08:11.155Z","priority":"6","pid":"2830187","message":"checking if ioctl is prototyped... yes"}

data: {"time":"2026-09-19T16:08:11.221Z","priority":"6","pid":"2830187","message":"checking if ioctl is compilable... yes"}

data: {"time":"2026-09-19T16:08:11.225Z","priority":"6","pid":"2830187","message":"checking if ioctl usage allowed... yes"}

data: {"time":"2026-09-19T16:08:11.226Z","priority":"6","pid":"2830187","message":"checking if ioctl might be used... yes"}

data: {"time":"2026-09-19T16:08:11.288Z","priority":"6","pid":"2830187","message":"checking if ioctl FIONBIO is compilable... yes"}

data: {"time":"2026-09-19T16:08:11.292Z","priority":"6","pid":"2830187","message":"checking if ioctl FIONBIO usage allowed... yes"}

data: {"time":"2026-09-19T16:08:11.293Z","priority":"6","pid":"2830187","message":"checking if ioctl FIONBIO might be used... yes"}

data: {"time":"2026-09-19T16:08:11.353Z","priority":"6","pid":"2830187","message":"checking if ioctl SIOCGIFADDR is compilable... yes"}

data: {"time":"2026-09-19T16:08:11.357Z","priority":"6","pid":"2830187","message":"checking if ioctl SIOCGIFADDR usage allowed... yes"}

data: {"time":"2026-09-19T16:08:11.358Z","priority":"6","pid":"2830187","message":"checking if ioctl SIOCGIFADDR might be used... yes"}

data: {"time":"2026-09-19T16:08:11.414Z","priority":"6","pid":"2830187","message":"checking if ioctlsocket can be linked... no"}

data: {"time":"2026-09-19T16:08:11.418Z","priority":"6","pid":"2830187","message":"checking if ioctlsocket might be used... no"}

data: {"time":"2026-09-19T16:08:11.465Z","priority":"6","pid":"2830187","message":"checking if IoctlSocket can be linked... no"}

data: {"time":"2026-09-19T16:08:11.469Z","priority":"6","pid":"2830187","message":"checking if IoctlSocket might be used... no"}

data: {"time":"2026-09-19T16:08:11.695Z","priority":"6","pid":"2830187","message":"checking if localtime_r can be linked... yes"}

data: {"time":"2026-09-19T16:08:11.736Z","priority":"6","pid":"2830187","message":"checking if localtime_r is prototyped... yes"}

data: {"time":"2026-09-19T16:08:11.784Z","priority":"6","pid":"2830187","message":"checking if localtime_r is compilable... yes"}

data: {"time":"2026-09-19T16:08:12.044Z","priority":"6","pid":"2830187","message":"checking if localtime_r seems to work... yes"}

data: {"time":"2026-09-19T16:08:12.051Z","priority":"6","pid":"2830187","message":"checking if localtime_r usage allowed... yes"}

data: {"time":"2026-09-19T16:08:12.052Z","priority":"6","pid":"2830187","message":"checking if localtime_r might be used... yes"}

data: {"time":"2026-09-19T16:08:12.383Z","priority":"6","pid":"2830187","message":"checking if memrchr can be linked... yes"}

data: {"time":"2026-09-19T16:08:12.420Z","priority":"6","pid":"2830187","message":"checking if memrchr is prototyped... yes"}

data: {"time":"2026-09-19T16:08:12.474Z","priority":"6","pid":"2830187","message":"checking if memrchr is compilable... yes"}

data: {"time":"2026-09-19T16:08:12.478Z","priority":"6","pid":"2830187","message":"checking if memrchr usage allowed... yes"}

data: {"time":"2026-09-19T16:08:12.481Z","priority":"6","pid":"2830187","message":"checking if memrchr might be used... yes"}

data: {"time":"2026-09-19T16:08:12.482Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:12.695Z","priority":"6","pid":"2830187","message":"checking if sigaction can be linked... yes"}

data: {"time":"2026-09-19T16:08:12.736Z","priority":"6","pid":"2830187","message":"checking if sigaction is prototyped... yes"}

data: {"time":"2026-09-19T16:08:12.801Z","priority":"6","pid":"2830187","message":"checking if sigaction is compilable... yes"}

data: {"time":"2026-09-19T16:08:12.805Z","priority":"6","pid":"2830187","message":"checking if sigaction usage allowed... yes"}

data: {"time":"2026-09-19T16:08:12.807Z","priority":"6","pid":"2830187","message":"checking if sigaction might be used... yes"}

data: {"time":"2026-09-19T16:08:13.021Z","priority":"6","pid":"2830187","message":"checking if siginterrupt can be linked... yes"}

data: {"time":"2026-09-19T16:08:13.069Z","priority":"6","pid":"2830187","message":"checking if siginterrupt is prototyped... yes"}

data: {"time":"2026-09-19T16:08:13.144Z","priority":"6","pid":"2830187","message":"checking if siginterrupt is compilable... yes"}

data: {"time":"2026-09-19T16:08:13.147Z","priority":"6","pid":"2830187","message":"checking if siginterrupt usage allowed... yes"}

data: {"time":"2026-09-19T16:08:13.148Z","priority":"6","pid":"2830187","message":"checking if siginterrupt might be used... yes"}

data: {"time":"2026-09-19T16:08:13.352Z","priority":"6","pid":"2830187","message":"checking if signal can be linked... yes"}

data: {"time":"2026-09-19T16:08:13.394Z","priority":"6","pid":"2830187","message":"checking if signal is prototyped... yes"}

data: {"time":"2026-09-19T16:08:13.470Z","priority":"6","pid":"2830187","message":"checking if signal is compilable... yes"}

data: {"time":"2026-09-19T16:08:13.474Z","priority":"6","pid":"2830187","message":"checking if signal usage allowed... yes"}

data: {"time":"2026-09-19T16:08:13.475Z","priority":"6","pid":"2830187","message":"checking if signal might be used... yes"}

data: {"time":"2026-09-19T16:08:13.476Z","priority":"6","pid":"2830187","message":"checking for sys/types.h... (cached) yes"}

data: {"time":"2026-09-19T16:08:13.697Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp can be linked... no"}

data: {"time":"2026-09-19T16:08:13.907Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp seems a macro... yes"}

data: {"time":"2026-09-19T16:08:13.952Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp is compilable... yes"}

data: {"time":"2026-09-19T16:08:13.958Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp usage allowed... yes"}

data: {"time":"2026-09-19T16:08:13.960Z","priority":"6","pid":"2830187","message":"checking if sigsetjmp might be used... yes"}

data: {"time":"2026-09-19T16:08:14.173Z","priority":"6","pid":"2830187","message":"checking if socket can be linked... yes"}

data: {"time":"2026-09-19T16:08:14.213Z","priority":"6","pid":"2830187","message":"checking if socket is prototyped... yes"}

data: {"time":"2026-09-19T16:08:14.264Z","priority":"6","pid":"2830187","message":"checking if socket is compilable... yes"}

data: {"time":"2026-09-19T16:08:14.267Z","priority":"6","pid":"2830187","message":"checking if socket usage allowed... yes"}

data: {"time":"2026-09-19T16:08:14.268Z","priority":"6","pid":"2830187","message":"checking if socket might be used... yes"}

data: {"time":"2026-09-19T16:08:14.508Z","priority":"6","pid":"2830187","message":"checking if socketpair can be linked... yes"}

data: {"time":"2026-09-19T16:08:14.548Z","priority":"6","pid":"2830187","message":"checking if socketpair is prototyped... yes"}

data: {"time":"2026-09-19T16:08:14.601Z","priority":"6","pid":"2830187","message":"checking if socketpair is compilable... yes"}

data: {"time":"2026-09-19T16:08:14.605Z","priority":"6","pid":"2830187","message":"checking if socketpair usage allowed... yes"}

data: {"time":"2026-09-19T16:08:14.607Z","priority":"6","pid":"2830187","message":"checking if socketpair might be used... yes"}

data: {"time":"2026-09-19T16:08:14.860Z","priority":"6","pid":"2830187","message":"checking if strerror_r can be linked... yes"}

data: {"time":"2026-09-19T16:08:14.911Z","priority":"6","pid":"2830187","message":"checking if strerror_r is prototyped... yes"}

data: {"time":"2026-09-19T16:08:14.964Z","priority":"6","pid":"2830187","message":"checking if strerror_r is compilable... yes"}

data: {"time":"2026-09-19T16:08:15.039Z","priority":"6","pid":"2830187","message":"checking if strerror_r is glibc like... yes"}

data: {"time":"2026-09-19T16:08:15.294Z","priority":"6","pid":"2830187","message":"checking if strerror_r seems to work... yes"}

data: {"time":"2026-09-19T16:08:15.299Z","priority":"6","pid":"2830187","message":"checking if strerror_r usage allowed... yes"}

data: {"time":"2026-09-19T16:08:15.300Z","priority":"6","pid":"2830187","message":"checking if strerror_r might be used... yes"}

data: {"time":"2026-09-19T16:08:15.500Z","priority":"6","pid":"2830187","message":"checking for accept4... yes"}

data: {"time":"2026-09-19T16:08:15.711Z","priority":"6","pid":"2830187","message":"checking for eventfd... yes"}

data: {"time":"2026-09-19T16:08:15.904Z","priority":"6","pid":"2830187","message":"checking for fnmatch... yes"}

data: {"time":"2026-09-19T16:08:16.105Z","priority":"6","pid":"2830187","message":"checking for geteuid... yes"}

data: {"time":"2026-09-19T16:08:16.366Z","priority":"6","pid":"2830187","message":"checking for getpass_r... no"}

data: {"time":"2026-09-19T16:08:16.581Z","priority":"6","pid":"2830187","message":"checking for getppid... yes"}

data: {"time":"2026-09-19T16:08:16.800Z","priority":"6","pid":"2830187","message":"checking for getpwuid... yes"}

data: {"time":"2026-09-19T16:08:17.001Z","priority":"6","pid":"2830187","message":"checking for getpwuid_r... yes"}

data: {"time":"2026-09-19T16:08:17.193Z","priority":"6","pid":"2830187","message":"checking for getrlimit... yes"}

data: {"time":"2026-09-19T16:08:17.413Z","priority":"6","pid":"2830187","message":"checking for mach_absolute_time... no"}

data: {"time":"2026-09-19T16:08:17.610Z","priority":"6","pid":"2830187","message":"checking for pipe... yes"}

data: {"time":"2026-09-19T16:08:17.830Z","priority":"6","pid":"2830187","message":"checking for poll... yes"}

data: {"time":"2026-09-19T16:08:18.054Z","priority":"6","pid":"2830187","message":"checking for sendmmsg... yes"}

data: {"time":"2026-09-19T16:08:18.249Z","priority":"6","pid":"2830187","message":"checking for sendmsg... yes"}

data: {"time":"2026-09-19T16:08:18.430Z","priority":"6","pid":"2830187","message":"checking for setlocale... yes"}

data: {"time":"2026-09-19T16:08:18.623Z","priority":"6","pid":"2830187","message":"checking for setrlimit... yes"}

data: {"time":"2026-09-19T16:08:18.829Z","priority":"6","pid":"2830187","message":"checking for utime... yes"}

data: {"time":"2026-09-19T16:08:19.072Z","priority":"6","pid":"2830187","message":"checking for utimes... yes"}

data: {"time":"2026-09-19T16:08:19.303Z","priority":"6","pid":"2830187","message":"checking for pipe2... yes"}

data: {"time":"2026-09-19T16:08:19.503Z","priority":"6","pid":"2830187","message":"checking for gettimeofday... yes"}

data: {"time":"2026-09-19T16:08:19.694Z","priority":"6","pid":"2830187","message":"checking for if_nametoindex... yes"}

data: {"time":"2026-09-19T16:08:19.911Z","priority":"6","pid":"2830187","message":"checking for realpath... yes"}

data: {"time":"2026-09-19T16:08:20.148Z","priority":"6","pid":"2830187","message":"checking for sched_yield... yes"}

data: {"time":"2026-09-19T16:08:20.362Z","priority":"6","pid":"2830187","message":"checking if strcasecmp can be linked... yes"}

data: {"time":"2026-09-19T16:08:20.390Z","priority":"6","pid":"2830187","message":"checking if strcasecmp is prototyped... yes"}

data: {"time":"2026-09-19T16:08:20.435Z","priority":"6","pid":"2830187","message":"checking if strcasecmp is compilable... yes"}

data: {"time":"2026-09-19T16:08:20.441Z","priority":"6","pid":"2830187","message":"checking if strcasecmp usage allowed... yes"}

data: {"time":"2026-09-19T16:08:20.442Z","priority":"6","pid":"2830187","message":"checking if strcasecmp might be used... yes"}

data: {"time":"2026-09-19T16:08:20.642Z","priority":"6","pid":"2830187","message":"checking if strcmpi can be linked... no"}

data: {"time":"2026-09-19T16:08:20.646Z","priority":"6","pid":"2830187","message":"checking if strcmpi might be used... no"}

data: {"time":"2026-09-19T16:08:20.884Z","priority":"6","pid":"2830187","message":"checking if stricmp can be linked... no"}

data: {"time":"2026-09-19T16:08:20.888Z","priority":"6","pid":"2830187","message":"checking if stricmp might be used... no"}

data: {"time":"2026-09-19T16:08:21.101Z","priority":"6","pid":"2830187","message":"checking if memset_s can be linked... no"}

data: {"time":"2026-09-19T16:08:21.104Z","priority":"6","pid":"2830187","message":"checking if memset_s might be used... no"}

data: {"time":"2026-09-19T16:08:21.322Z","priority":"6","pid":"2830187","message":"checking for memset_explicit... yes"}

data: {"time":"2026-09-19T16:08:21.562Z","priority":"6","pid":"2830187","message":"checking for fseeko... yes"}

data: {"time":"2026-09-19T16:08:21.655Z","priority":"6","pid":"2830187","message":"checking for gcc options to detect undeclared functions... none needed"}

data: {"time":"2026-09-19T16:08:21.723Z","priority":"6","pid":"2830187","message":"checking for gcc options to ignore future-version functions... none needed"}

data: {"time":"2026-09-19T16:08:21.786Z","priority":"6","pid":"2830187","message":"checking whether fseeko is declared... yes"}

data: {"time":"2026-09-19T16:08:21.787Z","priority":"6","pid":"2830187","message":"checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK"}

data: {"time":"2026-09-19T16:08:21.798Z","priority":"6","pid":"2830187","message":"checking whether to enable the threaded resolver... yes"}

data: {"time":"2026-09-19T16:08:21.892Z","priority":"6","pid":"2830187","message":"checking for pthread.h... yes"}

data: {"time":"2026-09-19T16:08:22.057Z","priority":"6","pid":"2830187","message":"checking for pthread_create... yes"}

data: {"time":"2026-09-19T16:08:22.144Z","priority":"6","pid":"2830187","message":"checking for dirent.h... yes"}

data: {"time":"2026-09-19T16:08:22.343Z","priority":"6","pid":"2830187","message":"checking for opendir... yes"}

data: {"time":"2026-09-19T16:08:22.345Z","priority":"6","pid":"2830187","message":"checking convert -I options to -isystem... yes"}

data: {"time":"2026-09-19T16:08:22.357Z","priority":"6","pid":"2830187","message":"checking whether to enable curl_easy_setopt()/curl_easy_getinfo() type checking... yes"}

data: {"time":"2026-09-19T16:08:22.357Z","priority":"6","pid":"2830187","message":"checking whether to enable verbose strings... yes"}

data: {"time":"2026-09-19T16:08:22.358Z","priority":"6","pid":"2830187","message":"checking whether to enable SSPI support (Windows native builds only)... no"}

data: {"time":"2026-09-19T16:08:22.359Z","priority":"6","pid":"2830187","message":"checking whether to enable basic authentication method... yes"}

data: {"time":"2026-09-19T16:08:22.359Z","priority":"6","pid":"2830187","message":"checking whether to enable bearer authentication method... yes"}

data: {"time":"2026-09-19T16:08:22.360Z","priority":"6","pid":"2830187","message":"checking whether to enable digest authentication method... yes"}

data: {"time":"2026-09-19T16:08:22.361Z","priority":"6","pid":"2830187","message":"checking whether to enable kerberos authentication method... yes"}

data: {"time":"2026-09-19T16:08:22.362Z","priority":"6","pid":"2830187","message":"checking whether to enable negotiate authentication method... yes"}

data: {"time":"2026-09-19T16:08:22.362Z","priority":"6","pid":"2830187","message":"checking whether to enable aws-sigv4 methods... yes"}

data: {"time":"2026-09-19T16:08:22.363Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTP Message Signatures (RFC 9421)... no"}

data: {"time":"2026-09-19T16:08:22.364Z","priority":"6","pid":"2830187","message":"checking whether to support NTLM... no"}

data: {"time":"2026-09-19T16:08:22.364Z","priority":"6","pid":"2830187","message":"checking whether to enable Unix domain sockets... auto"}

data: {"time":"2026-09-19T16:08:22.413Z","priority":"6","pid":"2830187","message":"checking for struct sockaddr_un.sun_path... yes"}

data: {"time":"2026-09-19T16:08:22.415Z","priority":"6","pid":"2830187","message":"checking whether to support cookies... yes"}

data: {"time":"2026-09-19T16:08:22.416Z","priority":"6","pid":"2830187","message":"checking whether to support socketpair... yes"}

data: {"time":"2026-09-19T16:08:22.417Z","priority":"6","pid":"2830187","message":"checking whether to support HTTP authentication... yes"}

data: {"time":"2026-09-19T16:08:22.417Z","priority":"6","pid":"2830187","message":"checking whether to support DoH... yes"}

data: {"time":"2026-09-19T16:08:22.418Z","priority":"6","pid":"2830187","message":"checking whether to support the MIME API... yes"}

data: {"time":"2026-09-19T16:08:22.419Z","priority":"6","pid":"2830187","message":"checking whether to support binding connections locally... yes"}

data: {"time":"2026-09-19T16:08:22.420Z","priority":"6","pid":"2830187","message":"checking whether to support the form API... yes"}

data: {"time":"2026-09-19T16:08:22.420Z","priority":"6","pid":"2830187","message":"checking whether to support date parsing... yes"}

data: {"time":"2026-09-19T16:08:22.421Z","priority":"6","pid":"2830187","message":"checking whether to support netrc parsing... yes"}

data: {"time":"2026-09-19T16:08:22.421Z","priority":"6","pid":"2830187","message":"checking whether to support progress-meter... yes"}

data: {"time":"2026-09-19T16:08:22.422Z","priority":"6","pid":"2830187","message":"checking whether to support the SHA-512/256 hash algorithm... yes"}

data: {"time":"2026-09-19T16:08:22.423Z","priority":"6","pid":"2830187","message":"checking whether to support DNS shuffling... yes"}

data: {"time":"2026-09-19T16:08:22.424Z","priority":"6","pid":"2830187","message":"checking whether to support curl_easy_option*... yes"}

data: {"time":"2026-09-19T16:08:22.424Z","priority":"6","pid":"2830187","message":"checking whether to support alt-svc... yes"}

data: {"time":"2026-09-19T16:08:22.425Z","priority":"6","pid":"2830187","message":"checking whether to support headers-api... yes"}

data: {"time":"2026-09-19T16:08:22.425Z","priority":"6","pid":"2830187","message":"checking whether to support HSTS... yes"}

data: {"time":"2026-09-19T16:08:22.426Z","priority":"6","pid":"2830187","message":"checking whether to enable HTTPS-RR support... no"}

data: {"time":"2026-09-19T16:08:22.427Z","priority":"6","pid":"2830187","message":"checking whether to support WebSockets... yes"}

data: {"time":"2026-09-19T16:08:22.428Z","priority":"6","pid":"2830187","message":"checking whether hiding of library internal symbols does actually happen... yes"}

data: {"time":"2026-09-19T16:08:22.438Z","priority":"6","pid":"2830187","message":"checking if this build supports HTTPS-proxy... yes"}

data: {"time":"2026-09-19T16:08:22.570Z","priority":"6","pid":"2830187","message":"checking that generated files are newer than configure... done"}

data: {"time":"2026-09-19T16:08:22.572Z","priority":"6","pid":"2830187","message":"configure: creating ./config.status"}

data: {"time":"2026-09-19T16:08:23.904Z","priority":"6","pid":"2830187","message":"config.status: creating Makefile"}

data: {"time":"2026-09-19T16:08:23.937Z","priority":"6","pid":"2830187","message":"config.status: creating docs/Makefile"}

data: {"time":"2026-09-19T16:08:23.984Z","priority":"6","pid":"2830187","message":"config.status: creating docs/examples/Makefile"}

data: {"time":"2026-09-19T16:08:24.031Z","priority":"6","pid":"2830187","message":"config.status: creating docs/libcurl/Makefile"}

data: {"time":"2026-09-19T16:08:24.088Z","priority":"6","pid":"2830187","message":"config.status: creating docs/libcurl/opts/Makefile"}

data: {"time":"2026-09-19T16:08:24.137Z","priority":"6","pid":"2830187","message":"config.status: creating docs/cmdline-opts/Makefile"}

data: {"time":"2026-09-19T16:08:24.184Z","priority":"6","pid":"2830187","message":"config.status: creating include/Makefile"}

data: {"time":"2026-09-19T16:08:24.228Z","priority":"6","pid":"2830187","message":"config.status: creating include/curl/Makefile"}

data: {"time":"2026-09-19T16:08:24.270Z","priority":"6","pid":"2830187","message":"config.status: creating src/Makefile"}

data: {"time":"2026-09-19T16:08:24.330Z","priority":"6","pid":"2830187","message":"config.status: creating lib/Makefile"}

data: {"time":"2026-09-19T16:08:24.408Z","priority":"6","pid":"2830187","message":"config.status: creating scripts/Makefile"}

data: {"time":"2026-09-19T16:08:24.453Z","priority":"6","pid":"2830187","message":"config.status: creating lib/libcurl.vers"}

data: {"time":"2026-09-19T16:08:24.494Z","priority":"6","pid":"2830187","message":"config.status: creating tests/Makefile"}

data: {"time":"2026-09-19T16:08:24.536Z","priority":"6","pid":"2830187","message":"config.status: creating tests/config"}

data: {"time":"2026-09-19T16:08:24.582Z","priority":"6","pid":"2830187","message":"config.status: creating tests/configurehelp.pm"}

data: {"time":"2026-09-19T16:08:24.624Z","priority":"6","pid":"2830187","message":"config.status: creating tests/certs/Makefile"}

data: {"time":"2026-09-19T16:08:24.671Z","priority":"6","pid":"2830187","message":"config.status: creating tests/data/Makefile"}

data: {"time":"2026-09-19T16:08:24.719Z","priority":"6","pid":"2830187","message":"config.status: creating tests/http/config.ini"}

data: {"time":"2026-09-19T16:08:24.759Z","priority":"6","pid":"2830187","message":"config.status: creating tests/http/Makefile"}

data: {"time":"2026-09-19T16:08:24.796Z","priority":"6","pid":"2830187","message":"config.status: creating tests/libtest/Makefile"}

data: {"time":"2026-09-19T16:08:24.847Z","priority":"6","pid":"2830187","message":"config.status: creating tests/perf/Makefile"}

data: {"time":"2026-09-19T16:08:24.889Z","priority":"6","pid":"2830187","message":"config.status: creating tests/server/Makefile"}

data: {"time":"2026-09-19T16:08:24.927Z","priority":"6","pid":"2830187","message":"config.status: creating tests/tunit/Makefile"}

data: {"time":"2026-09-19T16:08:24.968Z","priority":"6","pid":"2830187","message":"config.status: creating tests/unit/Makefile"}

data: {"time":"2026-09-19T16:08:25.027Z","priority":"6","pid":"2830187","message":"config.status: creating projects/Makefile"}

data: {"time":"2026-09-19T16:08:25.068Z","priority":"6","pid":"2830187","message":"config.status: creating projects/vms/Makefile"}

data: {"time":"2026-09-19T16:08:25.108Z","priority":"6","pid":"2830187","message":"config.status: creating curl-config"}

data: {"time":"2026-09-19T16:08:25.141Z","priority":"6","pid":"2830187","message":"config.status: creating libcurl.pc"}

data: {"time":"2026-09-19T16:08:25.173Z","priority":"6","pid":"2830187","message":"config.status: creating lib/curl_config.h"}

data: {"time":"2026-09-19T16:08:25.206Z","priority":"6","pid":"2830187","message":"config.status: executing depfiles commands"}

data: {"time":"2026-09-19T16:08:28.239Z","priority":"6","pid":"2830187","message":"config.status: executing libtool commands"}

data: {"time":"2026-09-19T16:08:28.272Z","priority":"6","pid":"2830187","message":"configure: Configured to build curl/libcurl:"}

data: {"time":"2026-09-19T16:08:28.272Z","priority":"6","pid":"2830187","message":"  Host setup:       x86_64-pc-linux-gnu"}

data: {"time":"2026-09-19T16:08:28.272Z","priority":"6","pid":"2830187","message":"  Install prefix:   /usr"}

data: {"time":"2026-09-19T16:08:28.273Z","priority":"6","pid":"2830187","message":"  Compiler:         gcc"}

data: {"time":"2026-09-19T16:08:28.275Z","priority":"6","pid":"2830187","message":"   CFLAGS:          -march=x86-64 -mtune=generic -O2 -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 -g -ffile-prefix-map=/build/curl/src=/usr/src/debug/curl -flto=auto -Werror-implicit-function-declaration -Wno-system-headers"}

data: {"time":"2026-09-19T16:08:28.275Z","priority":"6","pid":"2830187","message":"   CFLAGS extras:"}

data: {"time":"2026-09-19T16:08:28.276Z","priority":"6","pid":"2830187","message":"   CPPFLAGS:        -D_GNU_SOURCE -isystem /usr/include/p11-kit-1 -isystem /usr/include/p11-kit-1"}

data: {"time":"2026-09-19T16:08:28.276Z","priority":"6","pid":"2830187","message":"   LDFLAGS:         -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto"}

data: {"time":"2026-09-19T16:08:28.277Z","priority":"6","pid":"2830187","message":"     curl-config:"}

data: {"time":"2026-09-19T16:08:28.278Z","priority":"6","pid":"2830187","message":"   LIBS:            -lnghttp3 -lngtcp2_crypto_gnutls -lngtcp2 -lnghttp2 -lidn2 -lssh2 -lssh2 -lpsl -lhogweed -lnettle -lgnutls -lgssapi_krb5 -lzstd -lbrotlidec -lz"}

data: {"time":"2026-09-19T16:08:28.278Z","priority":"6","pid":"2830187","message":"  curl version:     8.22.0"}

data: {"time":"2026-09-19T16:08:28.278Z","priority":"6","pid":"2830187","message":"  SSL:              enabled (GnuTLS)"}

data: {"time":"2026-09-19T16:08:28.279Z","priority":"6","pid":"2830187","message":"  SSH:              enabled (libssh2)"}

data: {"time":"2026-09-19T16:08:28.279Z","priority":"6","pid":"2830187","message":"  zlib:             enabled"}

data: {"time":"2026-09-19T16:08:28.279Z","priority":"6","pid":"2830187","message":"  brotli:           enabled (libbrotlidec)"}

data: {"time":"2026-09-19T16:08:28.279Z","priority":"6","pid":"2830187","message":"  zstd:             enabled (libzstd)"}

data: {"time":"2026-09-19T16:08:28.280Z","priority":"6","pid":"2830187","message":"  GSS-API:          enabled (MIT Kerberos)"}

data: {"time":"2026-09-19T16:08:28.280Z","priority":"6","pid":"2830187","message":"  GSASL:            no       (--with-gsasl)"}

data: {"time":"2026-09-19T16:08:28.281Z","priority":"6","pid":"2830187","message":"  resolver:         POSIX threaded"}

data: {"time":"2026-09-19T16:08:28.281Z","priority":"6","pid":"2830187","message":"  IPv6:             enabled"}

data: {"time":"2026-09-19T16:08:28.281Z","priority":"6","pid":"2830187","message":"  Unix sockets:     enabled"}

data: {"time":"2026-09-19T16:08:28.282Z","priority":"6","pid":"2830187","message":"  IDN:              enabled (libidn2)"}

data: {"time":"2026-09-19T16:08:28.282Z","priority":"6","pid":"2830187","message":"  Build docs:       enabled  (--disable-docs)"}

data: {"time":"2026-09-19T16:08:28.283Z","priority":"6","pid":"2830187","message":"  Build libcurl:    Shared=yes, Static=yes"}

data: {"time":"2026-09-19T16:08:28.283Z","priority":"6","pid":"2830187","message":"  Built-in manual:  no       (--enable-manual)"}

data: {"time":"2026-09-19T16:08:28.283Z","priority":"6","pid":"2830187","message":"  --libcurl option: enabled  (--disable-libcurl-option)"}

data: {"time":"2026-09-19T16:08:28.285Z","priority":"6","pid":"2830187","message":"  Type checking:    enabled  (--disable-typecheck)"}

data: {"time":"2026-09-19T16:08:28.285Z","priority":"6","pid":"2830187","message":"  Verbose errors:   enabled  (--disable-verbose)"}

data: {"time":"2026-09-19T16:08:28.286Z","priority":"6","pid":"2830187","message":"  Code coverage:    disabled"}

data: {"time":"2026-09-19T16:08:28.286Z","priority":"6","pid":"2830187","message":"  SSPI:             no       (--enable-sspi)"}

data: {"time":"2026-09-19T16:08:28.286Z","priority":"6","pid":"2830187","message":"  CA native:        no"}

data: {"time":"2026-09-19T16:08:28.286Z","priority":"6","pid":"2830187","message":"  CA cert bundle:   /etc/ssl/certs/ca-certificates.crt"}

data: {"time":"2026-09-19T16:08:28.287Z","priority":"6","pid":"2830187","message":"  CA cert path:     no"}

data: {"time":"2026-09-19T16:08:28.287Z","priority":"6","pid":"2830187","message":"  CA cert embed:    no"}

data: {"time":"2026-09-19T16:08:28.287Z","priority":"6","pid":"2830187","message":"  CA fallback:      no"}

data: {"time":"2026-09-19T16:08:28.288Z","priority":"6","pid":"2830187","message":"  LDAP:             no       (--enable-ldap / --with-ldap-lib / --with-lber-lib)"}

data: {"time":"2026-09-19T16:08:28.289Z","priority":"6","pid":"2830187","message":"  LDAPS:            no       (--enable-ldaps)"}

data: {"time":"2026-09-19T16:08:28.289Z","priority":"6","pid":"2830187","message":"  IPFS/IPNS:        enabled"}

data: {"time":"2026-09-19T16:08:28.289Z","priority":"6","pid":"2830187","message":"  RTSP:             enabled"}

data: {"time":"2026-09-19T16:08:28.290Z","priority":"6","pid":"2830187","message":"  PSL:              enabled"}

data: {"time":"2026-09-19T16:08:28.290Z","priority":"6","pid":"2830187","message":"  Alt-svc:          enabled  (--disable-alt-svc)"}

data: {"time":"2026-09-19T16:08:28.290Z","priority":"6","pid":"2830187","message":"  Headers API:      enabled  (--disable-headers-api)"}

data: {"time":"2026-09-19T16:08:28.290Z","priority":"6","pid":"2830187","message":"  HSTS:             enabled  (--disable-hsts)"}

data: {"time":"2026-09-19T16:08:28.291Z","priority":"6","pid":"2830187","message":"  HTTP1:            enabled  (internal)"}

data: {"time":"2026-09-19T16:08:28.291Z","priority":"6","pid":"2830187","message":"  HTTP2:            enabled (nghttp2)"}

data: {"time":"2026-09-19T16:08:28.292Z","priority":"6","pid":"2830187","message":"  HTTP3:            enabled (ngtcp2 + nghttp3)"}

data: {"time":"2026-09-19T16:08:28.292Z","priority":"6","pid":"2830187","message":"  proxy-HTTP3:      no      (--enable-proxy-http3)"}

data: {"time":"2026-09-19T16:08:28.293Z","priority":"6","pid":"2830187","message":"  ECH:              no      (--enable-ech)"}

data: {"time":"2026-09-19T16:08:28.293Z","priority":"6","pid":"2830187","message":"  HTTPS RR:         no      (--enable-httpsrr)"}

data: {"time":"2026-09-19T16:08:28.294Z","priority":"6","pid":"2830187","message":"  SSLS-EXPORT:      no      (--enable-ssls-export)"}

data: {"time":"2026-09-19T16:08:28.295Z","priority":"6","pid":"2830187","message":"  Protocols:        dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp ws wss"}

data: {"time":"2026-09-19T16:08:28.296Z","priority":"6","pid":"2830187","message":"  Features:         alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe UnixSockets zstd"}

data: {"time":"2026-09-19T16:08:28.468Z","priority":"6","pid":"2830187","message":"make: Entering directory '/build/curl/src/build-curl-gnutls/lib'"}

data: {"time":"2026-09-19T16:08:28.475Z","priority":"6","pid":"2830187","message":"make  all-am"}

data: {"time":"2026-09-19T16:08:28.494Z","priority":"6","pid":"2830187","message":"make[1]: Entering directory '/build/curl/src/build-curl-gnutls/lib'"}

data: {"time":"2026-09-19T16:08:28.502Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-altsvc.lo"}

data: {"time":"2026-09-19T16:08:29.140Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-amigaos.lo"}

data: {"time":"2026-09-19T16:08:29.489Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-api.lo"}

data: {"time":"2026-09-19T16:08:30.079Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-bufq.lo"}

data: {"time":"2026-09-19T16:08:30.567Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-bufref.lo"}

data: {"time":"2026-09-19T16:08:31.090Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-h1-proxy.lo"}

data: {"time":"2026-09-19T16:08:31.836Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-h2-proxy.lo"}

data: {"time":"2026-09-19T16:08:32.699Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-haproxy.lo"}

data: {"time":"2026-09-19T16:08:33.299Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-https-connect.lo"}

data: {"time":"2026-09-19T16:08:34.014Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-ip-happy.lo"}

data: {"time":"2026-09-19T16:08:34.789Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-recvbuf.lo"}

data: {"time":"2026-09-19T16:08:35.317Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-setup.lo"}

data: {"time":"2026-09-19T16:08:35.929Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cf-socket.lo"}

data: {"time":"2026-09-19T16:08:36.902Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cfilters.lo"}

data: {"time":"2026-09-19T16:08:37.751Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-conncache.lo"}

data: {"time":"2026-09-19T16:08:38.523Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-connect.lo"}

data: {"time":"2026-09-19T16:08:39.243Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-content_encoding.lo"}

data: {"time":"2026-09-19T16:08:39.980Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cookie.lo"}

data: {"time":"2026-09-19T16:08:40.854Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-creds.lo"}

data: {"time":"2026-09-19T16:08:41.423Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cshutdn.lo"}

data: {"time":"2026-09-19T16:08:42.119Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_addrinfo.lo"}

data: {"time":"2026-09-19T16:08:42.549Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_endian.lo"}

data: {"time":"2026-09-19T16:08:42.906Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_fnmatch.lo"}

data: {"time":"2026-09-19T16:08:43.238Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_fopen.lo"}

data: {"time":"2026-09-19T16:08:43.858Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_get_line.lo"}

data: {"time":"2026-09-19T16:08:44.249Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_gethostname.lo"}

data: {"time":"2026-09-19T16:08:44.619Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_gssapi.lo"}

data: {"time":"2026-09-19T16:08:45.207Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_memrchr.lo"}

data: {"time":"2026-09-19T16:08:45.554Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_ntlm_core.lo"}

data: {"time":"2026-09-19T16:08:45.915Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_range.lo"}

data: {"time":"2026-09-19T16:08:46.416Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_sasl.lo"}

data: {"time":"2026-09-19T16:08:47.092Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_sha512_256.lo"}

data: {"time":"2026-09-19T16:08:47.451Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_share.lo"}

data: {"time":"2026-09-19T16:08:48.056Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_sspi.lo"}

data: {"time":"2026-09-19T16:08:48.427Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_threads.lo"}

data: {"time":"2026-09-19T16:08:48.865Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_trc.lo"}

data: {"time":"2026-09-19T16:08:49.555Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cw-out.lo"}

data: {"time":"2026-09-19T16:08:50.172Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-cw-pause.lo"}

data: {"time":"2026-09-19T16:08:50.792Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-dict.lo"}

data: {"time":"2026-09-19T16:08:51.436Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-dynhds.lo"}

data: {"time":"2026-09-19T16:08:51.851Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-easy.lo"}

data: {"time":"2026-09-19T16:08:52.586Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-easygetopt.lo"}

data: {"time":"2026-09-19T16:08:52.963Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-easyoptions.lo"}

data: {"time":"2026-09-19T16:08:53.309Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-escape.lo"}

data: {"time":"2026-09-19T16:08:53.797Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-fake_addrinfo.lo"}

data: {"time":"2026-09-19T16:08:54.157Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-file.lo"}

data: {"time":"2026-09-19T16:08:54.817Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-fileinfo.lo"}

data: {"time":"2026-09-19T16:08:55.185Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-formdata.lo"}

data: {"time":"2026-09-19T16:08:55.864Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ftp.lo"}

data: {"time":"2026-09-19T16:08:57.229Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ftplistparser.lo"}

data: {"time":"2026-09-19T16:08:57.898Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-getenv.lo"}

data: {"time":"2026-09-19T16:08:58.256Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-getinfo.lo"}

data: {"time":"2026-09-19T16:08:58.863Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-gopher.lo"}

data: {"time":"2026-09-19T16:08:59.397Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-hash.lo"}

data: {"time":"2026-09-19T16:08:59.822Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-headers.lo"}

data: {"time":"2026-09-19T16:09:00.651Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-hmac.lo"}

data: {"time":"2026-09-19T16:09:01.085Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-hsts.lo"}

data: {"time":"2026-09-19T16:09:01.795Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http.lo"}

data: {"time":"2026-09-19T16:09:03.460Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http1.lo"}

data: {"time":"2026-09-19T16:09:04.074Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http2.lo"}

data: {"time":"2026-09-19T16:09:05.408Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_aws_sigv4.lo"}

data: {"time":"2026-09-19T16:09:06.202Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_httpsig.lo"}

data: {"time":"2026-09-19T16:09:06.572Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-curl_ed25519.lo"}

data: {"time":"2026-09-19T16:09:06.966Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_chunks.lo"}

data: {"time":"2026-09-19T16:09:07.737Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_digest.lo"}

data: {"time":"2026-09-19T16:09:08.321Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_negotiate.lo"}

data: {"time":"2026-09-19T16:09:08.924Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_ntlm.lo"}

data: {"time":"2026-09-19T16:09:09.291Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-http_proxy.lo"}

data: {"time":"2026-09-19T16:09:10.035Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-idn.lo"}

data: {"time":"2026-09-19T16:09:10.583Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-if2ip.lo"}

data: {"time":"2026-09-19T16:09:11.019Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-imap.lo"}

data: {"time":"2026-09-19T16:09:11.973Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ldap.lo"}

data: {"time":"2026-09-19T16:09:12.439Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-llist.lo"}

data: {"time":"2026-09-19T16:09:12.989Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-macos.lo"}

data: {"time":"2026-09-19T16:09:13.321Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-md4.lo"}

data: {"time":"2026-09-19T16:09:13.661Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-md5.lo"}

data: {"time":"2026-09-19T16:09:14.062Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-memdebug.lo"}

data: {"time":"2026-09-19T16:09:14.408Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-mime.lo"}

data: {"time":"2026-09-19T16:09:15.269Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-mprintf.lo"}

data: {"time":"2026-09-19T16:09:15.818Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-mqtt.lo"}

data: {"time":"2026-09-19T16:09:16.620Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-multi.lo"}

data: {"time":"2026-09-19T16:09:17.988Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-multi_ev.lo"}

data: {"time":"2026-09-19T16:09:18.731Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-multi_ntfy.lo"}

data: {"time":"2026-09-19T16:09:19.275Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-netrc.lo"}

data: {"time":"2026-09-19T16:09:19.923Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-openldap.lo"}

data: {"time":"2026-09-19T16:09:20.280Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-parsedate.lo"}

data: {"time":"2026-09-19T16:09:20.722Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-peer.lo"}

data: {"time":"2026-09-19T16:09:21.425Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-pingpong.lo"}

data: {"time":"2026-09-19T16:09:22.072Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-pop3.lo"}

data: {"time":"2026-09-19T16:09:22.868Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-progress.lo"}

data: {"time":"2026-09-19T16:09:23.530Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-protocol.lo"}

data: {"time":"2026-09-19T16:09:24.207Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-proxy.lo"}

data: {"time":"2026-09-19T16:09:24.861Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-psl.lo"}

data: {"time":"2026-09-19T16:09:25.406Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-rand.lo"}

data: {"time":"2026-09-19T16:09:25.969Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ratelimit.lo"}

data: {"time":"2026-09-19T16:09:26.506Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-request.lo"}

data: {"time":"2026-09-19T16:09:27.299Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-rtsp.lo"}

data: {"time":"2026-09-19T16:09:28.049Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-select.lo"}

data: {"time":"2026-09-19T16:09:28.732Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-sendf.lo"}

data: {"time":"2026-09-19T16:09:29.581Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-setopt.lo"}

data: {"time":"2026-09-19T16:09:30.474Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-sha256.lo"}

data: {"time":"2026-09-19T16:09:30.860Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-slist.lo"}

data: {"time":"2026-09-19T16:09:31.230Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-smb.lo"}

data: {"time":"2026-09-19T16:09:31.695Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-smtp.lo"}

data: {"time":"2026-09-19T16:09:32.515Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socketpair.lo"}

data: {"time":"2026-09-19T16:09:32.999Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socks.lo"}

data: {"time":"2026-09-19T16:09:33.785Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socks_gssapi.lo"}

data: {"time":"2026-09-19T16:09:34.417Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-socks_sspi.lo"}

data: {"time":"2026-09-19T16:09:34.785Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-splay.lo"}

data: {"time":"2026-09-19T16:09:35.343Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-strcase.lo"}

data: {"time":"2026-09-19T16:09:35.755Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-strequal.lo"}

data: {"time":"2026-09-19T16:09:36.200Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-strerror.lo"}

data: {"time":"2026-09-19T16:09:36.586Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-system_win32.lo"}

data: {"time":"2026-09-19T16:09:36.948Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-telnet.lo"}

data: {"time":"2026-09-19T16:09:37.799Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-tftp.lo"}

data: {"time":"2026-09-19T16:09:38.611Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-thrdpool.lo"}

data: {"time":"2026-09-19T16:09:39.248Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-thrdqueue.lo"}

data: {"time":"2026-09-19T16:09:39.845Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-transfer.lo"}

data: {"time":"2026-09-19T16:09:40.561Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-bset.lo"}

data: {"time":"2026-09-19T16:09:40.939Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-hash.lo"}

data: {"time":"2026-09-19T16:09:41.327Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-hashset.lo"}

data: {"time":"2026-09-19T16:09:41.738Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-spbset.lo"}

data: {"time":"2026-09-19T16:09:42.158Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-uint-table.lo"}

data: {"time":"2026-09-19T16:09:42.592Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-url.lo"}

data: {"time":"2026-09-19T16:09:43.738Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-urlapi.lo"}

data: {"time":"2026-09-19T16:09:44.642Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-version.lo"}

data: {"time":"2026-09-19T16:09:45.234Z","priority":"6","pid":"2830187","message":"  CC       libcurl_la-ws.lo"}

data: {"time":"2026-09-19T16:09:46.198Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-cleartext.lo"}

data: {"time":"2026-09-19T16:09:46.730Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-cram.lo"}

data: {"time":"2026-09-19T16:09:47.318Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-digest.lo"}

data: {"time":"2026-09-19T16:09:48.136Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-digest_sspi.lo"}

data: {"time":"2026-09-19T16:09:48.544Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-gsasl.lo"}

data: {"time":"2026-09-19T16:09:48.909Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-krb5_gssapi.lo"}

data: {"time":"2026-09-19T16:09:49.469Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-krb5_sspi.lo"}

data: {"time":"2026-09-19T16:09:49.829Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-ntlm.lo"}

data: {"time":"2026-09-19T16:09:50.193Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-ntlm_sspi.lo"}

data: {"time":"2026-09-19T16:09:50.568Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-oauth2.lo"}

data: {"time":"2026-09-19T16:09:51.034Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-spnego_gssapi.lo"}

data: {"time":"2026-09-19T16:09:51.584Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-spnego_sspi.lo"}

data: {"time":"2026-09-19T16:09:51.928Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurl_la-vauth.lo"}

data: {"time":"2026-09-19T16:09:52.496Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-asyn-ares.lo"}

data: {"time":"2026-09-19T16:09:52.860Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-asyn-base.lo"}

data: {"time":"2026-09-19T16:09:53.388Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-asyn-thrdd.lo"}

data: {"time":"2026-09-19T16:09:54.063Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-cf-dns.lo"}

data: {"time":"2026-09-19T16:09:54.770Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-dnscache.lo"}

data: {"time":"2026-09-19T16:09:55.530Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-doh.lo"}

data: {"time":"2026-09-19T16:09:56.601Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-hostip.lo"}

data: {"time":"2026-09-19T16:09:57.352Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-hostip4.lo"}

data: {"time":"2026-09-19T16:09:57.698Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-hostip6.lo"}

data: {"time":"2026-09-19T16:09:58.169Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurl_la-httpsrr.lo"}

data: {"time":"2026-09-19T16:09:58.527Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-apple.lo"}

data: {"time":"2026-09-19T16:09:58.898Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-cipher_suite.lo"}

data: {"time":"2026-09-19T16:09:59.233Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-gtls.lo"}

data: {"time":"2026-09-19T16:10:00.278Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-hostcheck.lo"}

data: {"time":"2026-09-19T16:10:00.689Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-keylog.lo"}

data: {"time":"2026-09-19T16:10:01.122Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-mbedtls.lo"}

data: {"time":"2026-09-19T16:10:01.558Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-openssl.lo"}

data: {"time":"2026-09-19T16:10:02.079Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-rustls.lo"}

data: {"time":"2026-09-19T16:10:02.544Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-schannel.lo"}

data: {"time":"2026-09-19T16:10:02.943Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-schannel_verify.lo"}

data: {"time":"2026-09-19T16:10:03.420Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls.lo"}

data: {"time":"2026-09-19T16:10:04.681Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls_config.lo"}

data: {"time":"2026-09-19T16:10:05.380Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls_scache.lo"}

data: {"time":"2026-09-19T16:10:06.317Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-vtls_spack.lo"}

data: {"time":"2026-09-19T16:10:06.696Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-wolfssl.lo"}

data: {"time":"2026-09-19T16:10:07.100Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurl_la-x509asn1.lo"}

data: {"time":"2026-09-19T16:10:07.891Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-capsule.lo"}

data: {"time":"2026-09-19T16:10:08.537Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-capsule.lo"}

data: {"time":"2026-09-19T16:10:09.158Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-ngtcp2.lo"}

data: {"time":"2026-09-19T16:10:10.145Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-ngtcp2-cmn.lo"}

data: {"time":"2026-09-19T16:10:11.163Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-ngtcp2-proxy.lo"}

data: {"time":"2026-09-19T16:10:11.504Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-cf-quiche.lo"}

data: {"time":"2026-09-19T16:10:11.856Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-vquic.lo"}

data: {"time":"2026-09-19T16:10:12.596Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurl_la-vquic-tls.lo"}

data: {"time":"2026-09-19T16:10:13.224Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurl_la-libssh.lo"}

data: {"time":"2026-09-19T16:10:13.730Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurl_la-libssh2.lo"}

data: {"time":"2026-09-19T16:10:14.963Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurl_la-vssh.lo"}

data: {"time":"2026-09-19T16:10:15.531Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-base64.lo"}

data: {"time":"2026-09-19T16:10:15.895Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-basename.lo"}

data: {"time":"2026-09-19T16:10:16.207Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-dynbuf.lo"}

data: {"time":"2026-09-19T16:10:16.577Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-fopen.lo"}

data: {"time":"2026-09-19T16:10:16.927Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-inet_ntop.lo"}

data: {"time":"2026-09-19T16:10:17.322Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-inet_pton.lo"}

data: {"time":"2026-09-19T16:10:17.735Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-multibyte.lo"}

data: {"time":"2026-09-19T16:10:18.077Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-nonblock.lo"}

data: {"time":"2026-09-19T16:10:18.422Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-snprintf.lo"}

data: {"time":"2026-09-19T16:10:18.757Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strcopy.lo"}

data: {"time":"2026-09-19T16:10:19.075Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strdup.lo"}

data: {"time":"2026-09-19T16:10:19.420Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strerr.lo"}

data: {"time":"2026-09-19T16:10:19.760Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-strparse.lo"}

data: {"time":"2026-09-19T16:10:20.157Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-timediff.lo"}

data: {"time":"2026-09-19T16:10:20.483Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-timeval.lo"}

data: {"time":"2026-09-19T16:10:20.840Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-version_win32.lo"}

data: {"time":"2026-09-19T16:10:21.170Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-wait.lo"}

data: {"time":"2026-09-19T16:10:21.500Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-warnless.lo"}

data: {"time":"2026-09-19T16:10:21.838Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurl_la-winapi.lo"}

data: {"time":"2026-09-19T16:10:22.173Z","priority":"6","pid":"2830187","message":"  CCLD     libcurl.la"}

data: {"time":"2026-09-19T16:10:22.681Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-amigaos.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.696Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-curl_memrchr.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.697Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-curl_ntlm_core.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.700Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-curl_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.706Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-fake_addrinfo.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.716Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-http_httpsig.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.717Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-curl_ed25519.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.719Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-http_ntlm.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.722Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-ldap.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.724Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-macos.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.724Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-md4.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.726Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-memdebug.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.731Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-openldap.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.742Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-smb.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.744Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-socks_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.747Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: .libs/libcurl_la-system_win32.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.757Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-digest_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.758Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-gsasl.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.759Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-krb5_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.760Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-ntlm.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.761Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-ntlm_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.763Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vauth/.libs/libcurl_la-spnego_sspi.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.765Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vdns/.libs/libcurl_la-asyn-ares.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.770Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vdns/.libs/libcurl_la-hostip4.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.771Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vdns/.libs/libcurl_la-hostip6.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.772Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vdns/.libs/libcurl_la-httpsrr.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.772Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-apple.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.773Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-cipher_suite.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.775Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-hostcheck.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.776Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-mbedtls.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.777Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-openssl.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.779Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-rustls.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.780Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-schannel.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.780Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-schannel_verify.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.784Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-vtls_spack.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.785Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vtls/.libs/libcurl_la-wolfssl.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.789Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vquic/.libs/libcurl_la-cf-ngtcp2-proxy.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.790Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vquic/.libs/libcurl_la-cf-quiche.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.792Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: vssh/.libs/libcurl_la-libssh.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.795Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-basename.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.797Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-multibyte.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.799Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-snprintf.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.802Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-version_win32.o: no symbols"}

data: {"time":"2026-09-19T16:10:22.805Z","priority":"6","pid":"2830187","message":"/usr/bin/nm: curlx/.libs/libcurl_la-winapi.o: no symbols"}

data: {"time":"2026-09-19T16:11:22.203Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-altsvc.lo"}

data: {"time":"2026-09-19T16:11:23.092Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-amigaos.lo"}

data: {"time":"2026-09-19T16:11:23.405Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-api.lo"}

data: {"time":"2026-09-19T16:11:23.941Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-bufq.lo"}

data: {"time":"2026-09-19T16:11:24.380Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-bufref.lo"}

data: {"time":"2026-09-19T16:11:24.840Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-h1-proxy.lo"}

data: {"time":"2026-09-19T16:11:25.525Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-h2-proxy.lo"}

data: {"time":"2026-09-19T16:11:26.351Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-haproxy.lo"}

data: {"time":"2026-09-19T16:11:26.892Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-https-connect.lo"}

data: {"time":"2026-09-19T16:11:27.583Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-ip-happy.lo"}

data: {"time":"2026-09-19T16:11:28.265Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-recvbuf.lo"}

data: {"time":"2026-09-19T16:11:28.750Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-setup.lo"}

data: {"time":"2026-09-19T16:11:29.287Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cf-socket.lo"}

data: {"time":"2026-09-19T16:11:30.095Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cfilters.lo"}

data: {"time":"2026-09-19T16:11:30.813Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-conncache.lo"}

data: {"time":"2026-09-19T16:11:31.549Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-connect.lo"}

data: {"time":"2026-09-19T16:11:32.067Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-content_encoding.lo"}

data: {"time":"2026-09-19T16:11:32.682Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cookie.lo"}

data: {"time":"2026-09-19T16:11:33.367Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-creds.lo"}

data: {"time":"2026-09-19T16:11:33.898Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cshutdn.lo"}

data: {"time":"2026-09-19T16:11:34.515Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_addrinfo.lo"}

data: {"time":"2026-09-19T16:11:34.897Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_endian.lo"}

data: {"time":"2026-09-19T16:11:35.226Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_fnmatch.lo"}

data: {"time":"2026-09-19T16:11:35.518Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_fopen.lo"}

data: {"time":"2026-09-19T16:11:35.962Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_get_line.lo"}

data: {"time":"2026-09-19T16:11:36.293Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_gethostname.lo"}

data: {"time":"2026-09-19T16:11:36.611Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_gssapi.lo"}

data: {"time":"2026-09-19T16:11:37.063Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_memrchr.lo"}

data: {"time":"2026-09-19T16:11:37.330Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_ntlm_core.lo"}

data: {"time":"2026-09-19T16:11:37.612Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_range.lo"}

data: {"time":"2026-09-19T16:11:38.067Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_sasl.lo"}

data: {"time":"2026-09-19T16:11:38.643Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_sha512_256.lo"}

data: {"time":"2026-09-19T16:11:38.937Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_share.lo"}

data: {"time":"2026-09-19T16:11:39.428Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_sspi.lo"}

data: {"time":"2026-09-19T16:11:39.739Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_threads.lo"}

data: {"time":"2026-09-19T16:11:40.070Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_trc.lo"}

data: {"time":"2026-09-19T16:11:40.645Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cw-out.lo"}

data: {"time":"2026-09-19T16:11:41.151Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-cw-pause.lo"}

data: {"time":"2026-09-19T16:11:41.639Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-dict.lo"}

data: {"time":"2026-09-19T16:11:42.130Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-dynhds.lo"}

data: {"time":"2026-09-19T16:11:42.473Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-easy.lo"}

data: {"time":"2026-09-19T16:11:43.126Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-easygetopt.lo"}

data: {"time":"2026-09-19T16:11:43.433Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-easyoptions.lo"}

data: {"time":"2026-09-19T16:11:43.760Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-escape.lo"}

data: {"time":"2026-09-19T16:11:44.243Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-fake_addrinfo.lo"}

data: {"time":"2026-09-19T16:11:44.517Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-file.lo"}

data: {"time":"2026-09-19T16:11:45.094Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-fileinfo.lo"}

data: {"time":"2026-09-19T16:11:45.398Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-formdata.lo"}

data: {"time":"2026-09-19T16:11:45.923Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ftp.lo"}

data: {"time":"2026-09-19T16:11:47.125Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ftplistparser.lo"}

data: {"time":"2026-09-19T16:11:47.633Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-getenv.lo"}

data: {"time":"2026-09-19T16:11:47.915Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-getinfo.lo"}

data: {"time":"2026-09-19T16:11:48.406Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-gopher.lo"}

data: {"time":"2026-09-19T16:11:48.874Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-hash.lo"}

data: {"time":"2026-09-19T16:11:49.191Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-headers.lo"}

data: {"time":"2026-09-19T16:11:49.688Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-hmac.lo"}

data: {"time":"2026-09-19T16:11:50.038Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-hsts.lo"}

data: {"time":"2026-09-19T16:11:50.600Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http.lo"}

data: {"time":"2026-09-19T16:11:51.861Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http1.lo"}

data: {"time":"2026-09-19T16:11:52.295Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http2.lo"}

data: {"time":"2026-09-19T16:11:53.399Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_aws_sigv4.lo"}

data: {"time":"2026-09-19T16:11:53.946Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_httpsig.lo"}

data: {"time":"2026-09-19T16:11:54.241Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-curl_ed25519.lo"}

data: {"time":"2026-09-19T16:11:54.537Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_chunks.lo"}

data: {"time":"2026-09-19T16:11:55.071Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_digest.lo"}

data: {"time":"2026-09-19T16:11:55.572Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_negotiate.lo"}

data: {"time":"2026-09-19T16:11:56.051Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_ntlm.lo"}

data: {"time":"2026-09-19T16:11:56.373Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-http_proxy.lo"}

data: {"time":"2026-09-19T16:11:57.027Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-idn.lo"}

data: {"time":"2026-09-19T16:11:57.514Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-if2ip.lo"}

data: {"time":"2026-09-19T16:11:57.907Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-imap.lo"}

data: {"time":"2026-09-19T16:11:58.707Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ldap.lo"}

data: {"time":"2026-09-19T16:11:59.154Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-llist.lo"}

data: {"time":"2026-09-19T16:11:59.510Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-macos.lo"}

data: {"time":"2026-09-19T16:11:59.834Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-md4.lo"}

data: {"time":"2026-09-19T16:12:00.215Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-md5.lo"}

data: {"time":"2026-09-19T16:12:00.566Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-memdebug.lo"}

data: {"time":"2026-09-19T16:12:00.914Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-mime.lo"}

data: {"time":"2026-09-19T16:12:01.804Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-mprintf.lo"}

data: {"time":"2026-09-19T16:12:02.397Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-mqtt.lo"}

data: {"time":"2026-09-19T16:12:03.103Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-multi.lo"}

data: {"time":"2026-09-19T16:12:04.302Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-multi_ev.lo"}

data: {"time":"2026-09-19T16:12:04.922Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-multi_ntfy.lo"}

data: {"time":"2026-09-19T16:12:05.417Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-netrc.lo"}

data: {"time":"2026-09-19T16:12:06.001Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-openldap.lo"}

data: {"time":"2026-09-19T16:12:06.328Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-parsedate.lo"}

data: {"time":"2026-09-19T16:12:06.746Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-peer.lo"}

data: {"time":"2026-09-19T16:12:07.347Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-pingpong.lo"}

data: {"time":"2026-09-19T16:12:07.909Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-pop3.lo"}

data: {"time":"2026-09-19T16:12:08.627Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-progress.lo"}

data: {"time":"2026-09-19T16:12:09.256Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-protocol.lo"}

data: {"time":"2026-09-19T16:12:09.780Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-proxy.lo"}

data: {"time":"2026-09-19T16:12:10.341Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-psl.lo"}

data: {"time":"2026-09-19T16:12:10.795Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-rand.lo"}

data: {"time":"2026-09-19T16:12:11.227Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ratelimit.lo"}

data: {"time":"2026-09-19T16:12:11.608Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-request.lo"}

data: {"time":"2026-09-19T16:12:12.110Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-rtsp.lo"}

data: {"time":"2026-09-19T16:12:12.680Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-select.lo"}

data: {"time":"2026-09-19T16:12:13.205Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-sendf.lo"}

data: {"time":"2026-09-19T16:12:13.886Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-setopt.lo"}

data: {"time":"2026-09-19T16:12:14.657Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-sha256.lo"}

data: {"time":"2026-09-19T16:12:14.959Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-slist.lo"}

data: {"time":"2026-09-19T16:12:15.242Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-smb.lo"}

data: {"time":"2026-09-19T16:12:15.666Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-smtp.lo"}

data: {"time":"2026-09-19T16:12:16.355Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socketpair.lo"}

data: {"time":"2026-09-19T16:12:16.776Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socks.lo"}

data: {"time":"2026-09-19T16:12:17.408Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socks_gssapi.lo"}

data: {"time":"2026-09-19T16:12:17.894Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-socks_sspi.lo"}

data: {"time":"2026-09-19T16:12:18.182Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-splay.lo"}

data: {"time":"2026-09-19T16:12:18.679Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-strcase.lo"}

data: {"time":"2026-09-19T16:12:18.987Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-strequal.lo"}

data: {"time":"2026-09-19T16:12:19.269Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-strerror.lo"}

data: {"time":"2026-09-19T16:12:19.592Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-system_win32.lo"}

data: {"time":"2026-09-19T16:12:19.866Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-telnet.lo"}

data: {"time":"2026-09-19T16:12:20.536Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-tftp.lo"}

data: {"time":"2026-09-19T16:12:21.223Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-thrdpool.lo"}

data: {"time":"2026-09-19T16:12:21.756Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-thrdqueue.lo"}

data: {"time":"2026-09-19T16:12:22.304Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-transfer.lo"}

data: {"time":"2026-09-19T16:12:22.975Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-bset.lo"}

data: {"time":"2026-09-19T16:12:23.326Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-hash.lo"}

data: {"time":"2026-09-19T16:12:23.681Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-hashset.lo"}

data: {"time":"2026-09-19T16:12:24.016Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-spbset.lo"}

data: {"time":"2026-09-19T16:12:24.397Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-uint-table.lo"}

data: {"time":"2026-09-19T16:12:24.740Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-url.lo"}

data: {"time":"2026-09-19T16:12:25.568Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-urlapi.lo"}

data: {"time":"2026-09-19T16:12:26.298Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-version.lo"}

data: {"time":"2026-09-19T16:12:26.794Z","priority":"6","pid":"2830187","message":"  CC       libcurlu_la-ws.lo"}

data: {"time":"2026-09-19T16:12:27.546Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-cleartext.lo"}

data: {"time":"2026-09-19T16:12:27.975Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-cram.lo"}

data: {"time":"2026-09-19T16:12:28.407Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-digest.lo"}

data: {"time":"2026-09-19T16:12:28.963Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-digest_sspi.lo"}

data: {"time":"2026-09-19T16:12:29.252Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-gsasl.lo"}

data: {"time":"2026-09-19T16:12:29.542Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-krb5_gssapi.lo"}

data: {"time":"2026-09-19T16:12:30.004Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-krb5_sspi.lo"}

data: {"time":"2026-09-19T16:12:30.351Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-ntlm.lo"}

data: {"time":"2026-09-19T16:12:30.650Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-ntlm_sspi.lo"}

data: {"time":"2026-09-19T16:12:30.944Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-oauth2.lo"}

data: {"time":"2026-09-19T16:12:31.379Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-spnego_gssapi.lo"}

data: {"time":"2026-09-19T16:12:31.829Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-spnego_sspi.lo"}

data: {"time":"2026-09-19T16:12:32.149Z","priority":"6","pid":"2830187","message":"  CC       vauth/libcurlu_la-vauth.lo"}

data: {"time":"2026-09-19T16:12:32.651Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-asyn-ares.lo"}

data: {"time":"2026-09-19T16:12:32.977Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-asyn-base.lo"}

data: {"time":"2026-09-19T16:12:33.405Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-asyn-thrdd.lo"}

data: {"time":"2026-09-19T16:12:33.909Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-cf-dns.lo"}

data: {"time":"2026-09-19T16:12:34.443Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-dnscache.lo"}

data: {"time":"2026-09-19T16:12:35.014Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-doh.lo"}

data: {"time":"2026-09-19T16:12:35.944Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-hostip.lo"}

data: {"time":"2026-09-19T16:12:36.562Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-hostip4.lo"}

data: {"time":"2026-09-19T16:12:36.884Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-hostip6.lo"}

data: {"time":"2026-09-19T16:12:37.306Z","priority":"6","pid":"2830187","message":"  CC       vdns/libcurlu_la-httpsrr.lo"}

data: {"time":"2026-09-19T16:12:37.607Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-apple.lo"}

data: {"time":"2026-09-19T16:12:37.896Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-cipher_suite.lo"}

data: {"time":"2026-09-19T16:12:38.162Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-gtls.lo"}

data: {"time":"2026-09-19T16:12:39.013Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-hostcheck.lo"}

data: {"time":"2026-09-19T16:12:39.307Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-keylog.lo"}

data: {"time":"2026-09-19T16:12:39.662Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-mbedtls.lo"}

data: {"time":"2026-09-19T16:12:39.940Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-openssl.lo"}

data: {"time":"2026-09-19T16:12:40.224Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-rustls.lo"}

data: {"time":"2026-09-19T16:12:40.509Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-schannel.lo"}

data: {"time":"2026-09-19T16:12:40.821Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-schannel_verify.lo"}

data: {"time":"2026-09-19T16:12:41.182Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls.lo"}

data: {"time":"2026-09-19T16:12:42.174Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls_config.lo"}

data: {"time":"2026-09-19T16:12:42.829Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls_scache.lo"}

data: {"time":"2026-09-19T16:12:43.726Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-vtls_spack.lo"}

data: {"time":"2026-09-19T16:12:44.085Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-wolfssl.lo"}

data: {"time":"2026-09-19T16:12:44.448Z","priority":"6","pid":"2830187","message":"  CC       vtls/libcurlu_la-x509asn1.lo"}

data: {"time":"2026-09-19T16:12:45.235Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-capsule.lo"}

data: {"time":"2026-09-19T16:12:45.856Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-capsule.lo"}

data: {"time":"2026-09-19T16:12:46.460Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-ngtcp2.lo"}

data: {"time":"2026-09-19T16:12:47.414Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-ngtcp2-cmn.lo"}

data: {"time":"2026-09-19T16:12:48.434Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-ngtcp2-proxy.lo"}

data: {"time":"2026-09-19T16:12:48.782Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-cf-quiche.lo"}

data: {"time":"2026-09-19T16:12:49.139Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-vquic.lo"}

data: {"time":"2026-09-19T16:12:50.008Z","priority":"6","pid":"2830187","message":"  CC       vquic/libcurlu_la-vquic-tls.lo"}

data: {"time":"2026-09-19T16:12:50.658Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurlu_la-libssh.lo"}

data: {"time":"2026-09-19T16:12:51.019Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurlu_la-libssh2.lo"}

data: {"time":"2026-09-19T16:12:52.186Z","priority":"6","pid":"2830187","message":"  CC       vssh/libcurlu_la-vssh.lo"}

data: {"time":"2026-09-19T16:12:52.706Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-base64.lo"}

data: {"time":"2026-09-19T16:12:53.066Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-basename.lo"}

data: {"time":"2026-09-19T16:12:53.393Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-dynbuf.lo"}

data: {"time":"2026-09-19T16:12:53.772Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-fopen.lo"}

data: {"time":"2026-09-19T16:12:54.098Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-inet_ntop.lo"}

data: {"time":"2026-09-19T16:12:54.451Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-inet_pton.lo"}

data: {"time":"2026-09-19T16:12:54.812Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-multibyte.lo"}

data: {"time":"2026-09-19T16:12:55.141Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-nonblock.lo"}

data: {"time":"2026-09-19T16:12:55.458Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-snprintf.lo"}

data: {"time":"2026-09-19T16:12:55.778Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strcopy.lo"}

data: {"time":"2026-09-19T16:12:56.100Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strdup.lo"}

data: {"time":"2026-09-19T16:12:56.445Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strerr.lo"}

data: {"time":"2026-09-19T16:12:56.786Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-strparse.lo"}

data: {"time":"2026-09-19T16:12:57.155Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-timediff.lo"}

data: {"time":"2026-09-19T16:12:57.465Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-timeval.lo"}

data: {"time":"2026-09-19T16:12:57.783Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-version_win32.lo"}

data: {"time":"2026-09-19T16:12:58.075Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-wait.lo"}

data: {"time":"2026-09-19T16:12:58.380Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-warnless.lo"}

data: {"time":"2026-09-19T16:12:58.700Z","priority":"6","pid":"2830187","message":"  CC       curlx/libcurlu_la-winapi.lo"}

data: {"time":"2026-09-19T16:12:59.015Z","priority":"6","pid":"2830187","message":"  CCLD     libcurlu.la"}

data: {"time":"2026-09-19T16:12:59.692Z","priority":"6","pid":"2830187","message":"make[1]: Leaving directory '/build/curl/src/build-curl-gnutls/lib'"}

data: {"time":"2026-09-19T16:12:59.694Z","priority":"6","pid":"2830187","message":"make: Leaving directory '/build/curl/src/build-curl-gnutls/lib'"}

data: {"time":"2026-09-19T16:12:59.808Z","priority":"6","pid":"2830187","message":"==> Starting check()...","phase":"check"}

data: {"time":"2026-09-19T16:12:59.832Z","priority":"6","pid":"2830187","message":"make[1]: Entering directory '/build/curl/src/build-curl/tests'"}

data: {"time":"2026-09-19T16:12:59.839Z","priority":"6","pid":"2830187","message":"Making all in certs"}

data: {"time":"2026-09-19T16:12:59.844Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/tests/certs'"}

data: {"time":"2026-09-19T16:12:59.845Z","priority":"6","pid":"2830187","message":"/usr/bin/perl /build/curl/src/curl/tests/certs/genserv.pl test test-client-cert.prm test-client-eku-only.prm test-localhost.prm test-localhost.nn.prm test-localhost0h.prm test-localhost-san-first.prm test-localhost-san-last.prm"}

data: {"time":"2026-09-19T16:12:59.874Z","priority":"6","pid":"2830187","message":"/usr/bin/openssl"}

data: {"time":"2026-09-19T16:12:59.885Z","priority":"6","pid":"2830187","message":"OpenSSL 3.6.4 25 Aug 2026 (Library: OpenSSL 3.6.4 25 Aug 2026)"}

data: {"time":"2026-09-19T16:12:59.935Z","priority":"6","pid":"2830187","message":"Certificate request self-signature ok"}

data: {"time":"2026-09-19T16:12:59.936Z","priority":"6","pid":"2830187","message":"subject=C=NN, O=Edel curl Arctic Illudium Research Cloud, CN=Northern Nowhere Trust Anchor"}

data: {"time":"2026-09-19T16:13:00.018Z","priority":"6","pid":"2830187","message":"CA root generated: test 6000 days prime256v1"}

data: {"time":"2026-09-19T16:13:00.168Z","priority":"6","pid":"2830187","message":"Certificate generated: CA=test 300days prime256v1 test-client-cert"}

data: {"time":"2026-09-19T16:13:00.387Z","priority":"6","pid":"2830187","message":"Certificate generated: CA=test 300days prime256v1 test-client-eku-only"}

data: {"time":"2026-09-19T16:13:00.539Z","priority":"6","pid":"2830187","message":"Certificate generated: CA=test 300days prime256v1 test-localhost"}

data: {"time":"2026-09-19T16:13:00.684Z","priority":"6","pid":"2830187","message":"Certificate generated: CA=test 300days prime256v1 test-localhost.nn"}

data: {"time":"2026-09-19T16:13:00.829Z","priority":"6","pid":"2830187","message":"Certificate generated: CA=test 300days prime256v1 test-localhost0h"}

data: {"time":"2026-09-19T16:13:00.967Z","priority":"6","pid":"2830187","message":"Certificate generated: CA=test 300days prime256v1 test-localhost-san-first"}

data: {"time":"2026-09-19T16:13:01.105Z","priority":"6","pid":"2830187","message":"Certificate generated: CA=test 300days prime256v1 test-localhost-san-last"}

data: {"time":"2026-09-19T16:13:01.107Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/tests/certs'"}

data: {"time":"2026-09-19T16:13:01.109Z","priority":"6","pid":"2830187","message":"Making all in data"}

data: {"time":"2026-09-19T16:13:01.118Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/tests/data'"}

data: {"time":"2026-09-19T16:13:01.118Z","priority":"6","pid":"2830187","message":"make[2]: Nothing to be done for 'all'."}

data: {"time":"2026-09-19T16:13:01.119Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/tests/data'"}

data: {"time":"2026-09-19T16:13:01.120Z","priority":"6","pid":"2830187","message":"Making all in perf"}

data: {"time":"2026-09-19T16:13:01.126Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/tests/perf'"}

data: {"time":"2026-09-19T16:13:01.128Z","priority":"6","pid":"2830187","message":"/usr/bin/perl /build/curl/src/curl/scripts/mk-unity.pl --include  ../../lib/curlx/base64.c ../../lib/curlx/fopen.c ../../lib/curlx/multibyte.c ../../lib/curlx/strparse.c ../../lib/curlx/timeval.c ../../lib/curlx/warnless.c  --test base64.c percent.c snprintf.c urlparser.c > perf.c"}

data: {"time":"2026-09-19T16:13:01.144Z","priority":"6","pid":"2830187","message":"  CC       perf.o"}

data: {"time":"2026-09-19T16:13:01.393Z","priority":"6","pid":"2830187","message":"  CCLD     perf"}

data: {"time":"2026-09-19T16:13:02.291Z","priority":"6","pid":"2830187","message":"  RUN      checksrc"}

data: {"time":"2026-09-19T16:13:02.351Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/tests/perf'"}

data: {"time":"2026-09-19T16:13:02.352Z","priority":"6","pid":"2830187","message":"Making all in server"}

data: {"time":"2026-09-19T16:13:02.358Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/tests/server'"}

data: {"time":"2026-09-19T16:13:02.361Z","priority":"6","pid":"2830187","message":"/usr/bin/perl /build/curl/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/snprintf.c ../../lib/curlx/strcopy.c ../../lib/curlx/strerr.c ../../lib/curlx/strparse.c ../../lib/curlx/timediff.c ../../lib/curlx/timeval.c ../../lib/curlx/wait.c ../../lib/curlx/warnless.c ../../lib/curlx/winapi.c ../../src/toolx/tool_time.c --test dnsd.c mqttd.c resolve.c rtspd.c sockfilt.c socksd.c sws.c tftpd.c > servers.c"}

data: {"time":"2026-09-19T16:13:02.379Z","priority":"6","pid":"2830187","message":"  CC       servers.o"}

data: {"time":"2026-09-19T16:13:03.635Z","priority":"6","pid":"2830187","message":"  CCLD     servers"}

data: {"time":"2026-09-19T16:13:10.453Z","priority":"6","pid":"2830187","message":"  RUN      checksrc"}

data: {"time":"2026-09-19T16:13:10.789Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/tests/server'"}

data: {"time":"2026-09-19T16:13:10.792Z","priority":"6","pid":"2830187","message":"Making all in libtest"}

data: {"time":"2026-09-19T16:13:10.803Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/tests/libtest'"}

data: {"time":"2026-09-19T16:13:10.804Z","priority":"6","pid":"2830187","message":"/usr/bin/perl /build/curl/src/curl/tests/libtest/mk-lib1521.pl < /build/curl/src/curl/include/curl/curl.h lib1521.c"}

data: {"time":"2026-09-19T16:13:10.926Z","priority":"6","pid":"2830187","message":"/usr/bin/perl /build/curl/src/curl/scripts/mk-unity.pl --include memptr.c testutil.c testtrace.c ../../lib/curl_threads.c ../../lib/curlx/fopen.c ../../lib/curlx/inet_ntop.c ../../lib/curlx/inet_pton.c ../../lib/curlx/multibyte.c ../../lib/curlx/strcopy.c ../../lib/curlx/strerr.c ../../lib/curlx/strparse.c ../../lib/curlx/timediff.c ../../lib/curlx/timeval.c ../../lib/curlx/version_win32.c ../../lib/curlx/wait.c ../../lib/curlx/warnless.c ../../lib/curlx/winapi.c ../../src/toolx/tool_time.c --test cli_ev_download.c cli_ftp_upload.c cli_h2_pausing.c cli_h2_serverpush.c cli_h2_upgrade_extreme.c cli_hx_download.c cli_hx_upload.c cli_tls_session_reuse.c cli_upload_pausing.c cli_ws_data.c cli_ws_pause.c cli_ws_pingpong.c cli_ws_write_err.c lib500.c lib501.c lib502.c lib503.c lib504.c lib505.c lib506.c lib507.c lib508.c lib509.c lib510.c lib511.c lib512.c lib513.c lib514.c lib515.c lib516.c lib517.c lib518.c lib519.c lib520.c lib521.c lib523.c lib524.c lib525.c lib526.c lib530.c lib533.c lib536.c lib537.c lib539.c lib540.c lib541.c lib542.c lib543.c lib544.c lib547.c lib549.c lib552.c lib553.c lib554.c lib555.c lib556.c lib557.c lib558.c lib559.c lib560.c lib562.c lib564.c lib566.c lib567.c lib568.c lib569.c lib570.c lib571.c lib572.c lib573.c lib574.c lib575.c lib576.c lib578.c lib579.c lib582.c lib583.c lib586.c lib589.c lib590.c lib591.c lib597.c lib598.c lib599.c lib643.c lib650.c lib651.c lib652.c lib653.c lib654.c lib655.c lib658.c lib659.c lib661.c lib666.c lib667.c lib668.c lib670.c lib674.c lib676.c lib677.c lib678.c lib694.c lib695.c lib751.c lib753.c lib757.c lib758.c lib766.c lib1156.c lib1301.c lib1308.c lib1396.c lib1398.c lib1485.c lib1500.c lib1501.c lib1502.c lib1506.c lib1507.c lib1508.c lib1509.c lib1510.c lib1511.c lib1512.c lib1513.c lib1514.c lib1515.c lib1517.c lib1518.c lib1520.c lib1522.c lib1523.c lib1525.c lib1526.c lib1527.c lib1528.c lib1529.c lib1530.c lib1531.c lib1532.c lib1533.c lib1534.c lib1535.c lib1536.c lib1537.c lib1538.c lib1540.c lib1541.c lib1542.c lib1545.c lib1549.c lib1550.c lib1551.c lib1552.c lib1553.c lib1554.c lib1555.c lib1556.c lib1557.c lib1558.c lib1559.c lib1560.c lib1564.c lib1565.c lib1567.c lib1568.c lib1569.c lib1571.c lib1576.c lib1582.c lib1587.c lib1588.c lib1589.c lib1591.c lib1592.c lib1593.c lib1594.c lib1597.c lib1598.c lib1599.c lib1647.c lib1648.c lib1649.c lib1662.c lib1678.c lib1686.c lib1900.c lib1901.c lib1902.c lib1903.c lib1905.c lib1906.c lib1907.c lib1908.c lib1910.c lib1911.c lib1912.c lib1913.c lib1915.c lib1916.c lib1918.c lib1919.c lib1920.c lib1921.c lib1922.c lib1933.c lib1934.c lib1935.c lib1936.c lib1937.c lib1938.c lib1939.c lib1940.c lib1945.c lib1947.c lib1948.c lib1955.c lib1956.c lib1957.c lib1958.c lib1959.c lib1960.c lib1964.c lib1965.c lib1967.c lib1970.c lib1971.c lib1972.c lib1973.c lib1974.c lib1975.c lib1977.c lib1978.c lib1985.c lib2023.c lib2032.c lib2082.c lib2118.c lib2301.c lib2302.c lib2304.c lib2306.c lib2308.c lib2309.c lib2397.c lib2402.c lib2404.c lib2405.c lib2412.c lib2414.c lib2502.c lib2504.c lib2505.c lib2506.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 lib5000.c lib5004.c lib1521.c > libtests.c"}

data: {"time":"2026-09-19T16:13:10.941Z","priority":"6","pid":"2830187","message":"  CC       libtests.o"}

data: {"time":"2026-09-19T16:13:34.306Z","priority":"6","pid":"2830187","message":"  CCLD     libtests"}

data: {"time":"2026-09-19T16:14:05.613Z","priority":"6","pid":"2830187","message":"  RUN      checksrc"}

data: {"time":"2026-09-19T16:14:07.001Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/tests/libtest'"}

data: {"time":"2026-09-19T16:14:07.006Z","priority":"6","pid":"2830187","message":"Making all in http"}

data: {"time":"2026-09-19T16:14:07.013Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/tests/http'"}

data: {"time":"2026-09-19T16:14:07.014Z","priority":"6","pid":"2830187","message":"make[2]: Nothing to be done for 'all'."}

data: {"time":"2026-09-19T16:14:07.018Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/tests/http'"}

data: {"time":"2026-09-19T16:14:07.019Z","priority":"6","pid":"2830187","message":"Making all in unit"}

data: {"time":"2026-09-19T16:14:07.029Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/tests/unit'"}

data: {"time":"2026-09-19T16:14:07.030Z","priority":"6","pid":"2830187","message":"(cd ../../lib && make unitprotos.h)"}

data: {"time":"2026-09-19T16:14:07.686Z","priority":"6","pid":"2830187","message":"make[3]: Entering directory '/build/curl/src/build-curl/lib'"}

data: {"time":"2026-09-19T16:14:07.691Z","priority":"6","pid":"2830187","message":"  UNITPR   unitprotos.h"}

data: {"time":"2026-09-19T16:14:07.996Z","priority":"6","pid":"2830187","message":"make[3]: Leaving directory '/build/curl/src/build-curl/lib'"}

data: {"time":"2026-09-19T16:14:08.008Z","priority":"6","pid":"2830187","message":"/usr/bin/perl /build/curl/src/curl/scripts/mk-unity.pl --test unit1300.c unit1302.c unit1303.c unit1304.c unit1305.c unit1307.c unit1309.c unit1323.c unit1330.c unit1395.c unit1397.c unit1399.c unit1600.c unit1601.c unit1602.c unit1603.c unit1605.c unit1606.c unit1607.c unit1608.c unit1609.c unit1610.c unit1611.c unit1612.c unit1614.c unit1615.c unit1616.c unit1620.c unit1625.c unit1626.c unit1627.c unit1636.c unit1650.c unit1651.c unit1652.c unit1653.c unit1654.c unit1655.c unit1656.c unit1657.c unit1658.c unit1660.c unit1661.c unit1663.c unit1664.c unit1666.c unit1667.c unit1668.c unit1669.c unit1674.c unit1675.c unit1676.c unit1961.c unit1979.c unit1980.c unit2413.c unit2600.c unit2601.c unit2602.c unit2603.c unit2604.c unit2605.c unit2606.c unit3200.c unit3205.c unit3211.c unit3212.c unit3213.c unit3214.c unit3216.c unit3219.c unit3227.c unit3300.c unit3301.c unit3302.c unit3303.c unit3304.c unit3306.c unit3400.c > units.c"}

data: {"time":"2026-09-19T16:14:08.027Z","priority":"6","pid":"2830187","message":"  CC       units.o"}

data: {"time":"2026-09-19T16:14:09.756Z","priority":"6","pid":"2830187","message":"  CCLD     units"}

data: {"time":"2026-09-19T16:15:17.690Z","priority":"6","pid":"2830187","message":"  RUN      checksrc"}

data: {"time":"2026-09-19T16:15:18.037Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/tests/unit'"}

data: {"time":"2026-09-19T16:15:18.039Z","priority":"6","pid":"2830187","message":"Making all in tunit"}

data: {"time":"2026-09-19T16:15:18.048Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/tests/tunit'"}

data: {"time":"2026-09-19T16:15:18.049Z","priority":"6","pid":"2830187","message":"/usr/bin/perl /build/curl/src/curl/scripts/mk-unity.pl --test tool1394.c tool1604.c tool1621.c tool1622.c tool1623.c tool1720.c > tunits.c"}

data: {"time":"2026-09-19T16:15:18.065Z","priority":"6","pid":"2830187","message":"  CC       tunits.o"}

data: {"time":"2026-09-19T16:15:18.343Z","priority":"6","pid":"2830187","message":"  CCLD     tunits"}

data: {"time":"2026-09-19T16:15:19.692Z","priority":"6","pid":"2830187","message":"  RUN      checksrc"}

data: {"time":"2026-09-19T16:15:19.736Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/tests/tunit'"}

data: {"time":"2026-09-19T16:15:19.743Z","priority":"6","pid":"2830187","message":"make[2]: Entering directory '/build/curl/src/build-curl/tests'"}

data: {"time":"2026-09-19T16:15:19.747Z","priority":"6","pid":"2830187","message":"(cd certs && make)"}

data: {"time":"2026-09-19T16:15:19.756Z","priority":"6","pid":"2830187","message":"make[3]: Entering directory '/build/curl/src/build-curl/tests/certs'"}

data: {"time":"2026-09-19T16:15:19.757Z","priority":"6","pid":"2830187","message":"make[3]: Nothing to be done for 'all'."}

data: {"time":"2026-09-19T16:15:19.757Z","priority":"6","pid":"2830187","message":"make[3]: Leaving directory '/build/curl/src/build-curl/tests/certs'"}

data: {"time":"2026-09-19T16:15:19.759Z","priority":"6","pid":"2830187","message":"make[2]: Leaving directory '/build/curl/src/build-curl/tests'"}

data: {"time":"2026-09-19T16:15:19.768Z","priority":"6","pid":"2830187","message":"srcdir=/build/curl/src/curl/tests /usr/bin/perl -I/build/curl/src/curl/tests /build/curl/src/curl/tests/runtests.pl  -a -p ~flaky ~timing-dependent -v -a -p -j1 !433 !1399"}

data: {"time":"2026-09-19T16:15:20.052Z","priority":"6","pid":"2830187","message":"Using curl: ../src/curl"}

data: {"time":"2026-09-19T16:15:20.164Z","priority":"6","pid":"2830187","message":"CMD (256): valgrind >/dev/null 2>&1"}

data: {"time":"2026-09-19T16:15:20.194Z","priority":"6","pid":"2830187","message":"CMD (0): valgrind --help 2>&1 | grep -- --tool >/dev/null 2>&1"}

data: {"time":"2026-09-19T16:15:20.241Z","priority":"6","pid":"2830187","message":"CMD (0): ../src/curl --version 1>log/curlverout.log 2>log/curlvererr.log"}

data: {"time":"2026-09-19T16:15:20.310Z","priority":"6","pid":"2830187","message":"********* System characteristics ********"}

data: {"time":"2026-09-19T16:15:20.310Z","priority":"6","pid":"2830187","message":"* curl 8.22.0 (x86_64-pc-linux-gnu)"}

data: {"time":"2026-09-19T16:15:20.311Z","priority":"6","pid":"2830187","message":"* libcurl/8.22.0 OpenSSL/3.6.4 zlib/1.3.2 brotli/1.2.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.70.0 ngtcp2/1.25.0 nghttp3/1.18.0 mit-krb5/1.22.2"}

data: {"time":"2026-09-19T16:15:20.314Z","priority":"6","pid":"2830187","message":"* Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smtp smtps telnet tftp ws wss"}

data: {"time":"2026-09-19T16:15:20.315Z","priority":"6","pid":"2830187","message":"* Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos Largefile libz PSL SPNEGO SSL threadsafe UnixSockets zstd"}

data: {"time":"2026-09-19T16:15:20.317Z","priority":"6","pid":"2830187","message":"* Disabled: httpsig, win32-ca-searchpath, win32-ca-search-safe, override-dns, ssl-sessions"}

data: {"time":"2026-09-19T16:15:20.317Z","priority":"6","pid":"2830187","message":"* Host:"}

data: {"time":"2026-09-19T16:15:20.318Z","priority":"6","pid":"2830187","message":"* System: Linux worker3 7.2.4-arch1-2 #1 SMP PREEMPT_DYNAMIC Tue, 08 Sep 2026 10:22:31 +0000 x86_64 GNU/Linux"}

data: {"time":"2026-09-19T16:15:20.318Z","priority":"6","pid":"2830187","message":"* OS: linux"}

data: {"time":"2026-09-19T16:15:20.318Z","priority":"6","pid":"2830187","message":"* Perl: v5.42.2 (/usr/bin/perl)"}

data: {"time":"2026-09-19T16:15:20.319Z","priority":"6","pid":"2830187","message":"* Args: -a -p ~flaky ~timing-dependent -v -a -p -j1 !433 !1399"}

data: {"time":"2026-09-19T16:15:20.319Z","priority":"6","pid":"2830187","message":"* Jobs: 1"}

data: {"time":"2026-09-19T16:15:20.319Z","priority":"6","pid":"2830187","message":"* Env: Valgrind"}

data: {"time":"2026-09-19T16:15:20.319Z","priority":"6","pid":"2830187","message":"* Seed: 260223"}

data: {"time":"2026-09-19T16:15:21.400Z","priority":"6","pid":"2830187","message":"* Servers: HTTP-IPv6 HTTP-unix FTP-IPv6"}

data: {"time":"2026-09-19T16:15:21.402Z","priority":"6","pid":"2830187","message":"*****************************************"}

data: {"time":"2026-09-19T16:15:21.402Z","priority":"6","pid":"2830187","message":"DISABLED: test 594"}

data: {"time":"2026-09-19T16:15:21.402Z","priority":"6","pid":"2830187","message":"DISABLED: test 836"}

data: {"time":"2026-09-19T16:15:21.402Z","priority":"6","pid":"2830187","message":"DISABLED: test 882"}

data: {"time":"2026-09-19T16:15:21.402Z","priority":"6","pid":"2830187","message":"DISABLED: test 938"}

data: {"time":"2026-09-19T16:15:21.402Z","priority":"6","pid":"2830187","message":"DISABLED: test 1182"}

data: {"time":"2026-09-19T16:15:21.403Z","priority":"6","pid":"2830187","message":"DISABLED: test 1184"}

data: {"time":"2026-09-19T16:15:21.403Z","priority":"6","pid":"2830187","message":"DISABLED: test 1209"}

data: {"time":"2026-09-19T16:15:21.403Z","priority":"6","pid":"2830187","message":"DISABLED: test 1211"}

data: {"time":"2026-09-19T16:15:21.403Z","priority":"6","pid":"2830187","message":"DISABLED: test 1307"}

data: {"time":"2026-09-19T16:15:21.403Z","priority":"6","pid":"2830187","message":"DISABLED: test 1316"}

data: {"time":"2026-09-19T16:15:21.404Z","priority":"6","pid":"2830187","message":"DISABLED: test 1512"}

data: {"time":"2026-09-19T16:15:21.404Z","priority":"6","pid":"2830187","message":"DISABLED: test 1801"}

data: {"time":"2026-09-19T16:15:21.404Z","priority":"6","pid":"2830187","message":"DISABLED: test 2043"}

data: {"time":"2026-09-19T16:15:21.405Z","priority":"6","pid":"2830187","message":"test 0067 SKIPPED: curl lacks NTLM support"}

data: {"time":"2026-09-19T16:15:21.405Z","priority":"6","pid":"2830187","message":"test 0068 SKIPPED: curl lacks NTLM support"}

data: {"time":"2026-09-19T16:15:21.406Z","priority":"6","pid":"2830187","message":"test 0069 SKIPPED: curl lacks NTLM support"}

data: {"time":"2026-09-19T16:15:21.406Z","priority":"6","pid":"2830187","message":"test 0096 SKIPPED: curl lacks TrackMemory support"}

data: {"time":"2026-09-19T16:15:21.406Z","priority":"6","pid":"2830187","message":"test 0355 SKIPPED: curl lacks Debug support"}

data: {"time":"2026-09-19T16:15:21.407Z","priority":"6","pid":"2830187","message":"test 0356 SKIPPED: curl lacks Debug support"}

data: {"time":"2026-09-19T16:15:21.407Z","priority":"6","pid":"2830187","message":"test 0358 SKIPPED: curl lacks Debug support"}

data: {"time":"2026-09-19T16:15:21.407Z","priority":"6","pid":"2830187","message":"test 0375 SKIPPED: curl has proxy support"}

data: {"time":"2026-09-19T16:15:21.408Z","priority":"6","pid":"2830187","message":"test 0445 SKIPPED: curl lacks ldap support"}

data: {"time":"2026-09-19T16:15:21.408Z","priority":"6","pid":"2830187","message":"test 0506 SKIPPED: curl has threaded-resolver support"}

data: {"time":"2026-09-19T16:15:21.409Z","priority":"6","pid":"2830187","message":"test 0558 SKIPPED: curl lacks TrackMemory support"}

data: {"time":"2026-09-19T16:15:21.409Z","priority":"6","pid":"2830187","message":"Warning: test573 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.410Z","priority":"6","pid":"2830187","message":"Warning: test587 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.410Z","priority":"6","pid":"2830187","message":"Warning: test766 result is ignored due to timing-dependent"}

data: {"time":"2026-09-19T16:15:21.410Z","priority":"6","pid":"2830187","message":"test 0777 SKIPPED: curl lacks ssl-sessions support"}

data: {"time":"2026-09-19T16:15:21.411Z","priority":"6","pid":"2830187","message":"test 0959 SKIPPED: curl has IDN support"}

data: {"time":"2026-09-19T16:15:21.412Z","priority":"6","pid":"2830187","message":"test 0960 SKIPPED: curl has IDN support"}

data: {"time":"2026-09-19T16:15:21.412Z","priority":"6","pid":"2830187","message":"test 0961 SKIPPED: curl has IDN support"}

data: {"time":"2026-09-19T16:15:21.412Z","priority":"6","pid":"2830187","message":"test 1026 SKIPPED: curl lacks manual support"}

data: {"time":"2026-09-19T16:15:21.412Z","priority":"6","pid":"2830187","message":"Warning: test1086 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.412Z","priority":"6","pid":"2830187","message":"Warning: test1086 result is ignored due to timing-dependent"}

data: {"time":"2026-09-19T16:15:21.413Z","priority":"6","pid":"2830187","message":"Warning: test1112 result is ignored due to timing-dependent"}

data: {"time":"2026-09-19T16:15:21.413Z","priority":"6","pid":"2830187","message":"Warning: test1113 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.414Z","priority":"6","pid":"2830187","message":"Warning: test1162 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.414Z","priority":"6","pid":"2830187","message":"Warning: test1163 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.415Z","priority":"6","pid":"2830187","message":"test 1179 SKIPPED: curl lacks manual support"}

data: {"time":"2026-09-19T16:15:21.416Z","priority":"6","pid":"2830187","message":"Warning: test1208 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.416Z","priority":"6","pid":"2830187","message":"Warning: test1208 result is ignored due to timing-dependent"}

data: {"time":"2026-09-19T16:15:21.416Z","priority":"6","pid":"2830187","message":"test 1330 SKIPPED: curl lacks TrackMemory support"}

data: {"time":"2026-09-19T16:15:21.416Z","priority":"6","pid":"2830187","message":"test 1451 SKIPPED: curl lacks smb support"}

data: {"time":"2026-09-19T16:15:21.417Z","priority":"6","pid":"2830187","message":"test 1454 SKIPPED: curl has IPv6 support"}

data: {"time":"2026-09-19T16:15:21.417Z","priority":"6","pid":"2830187","message":"test 1461 SKIPPED: curl lacks manual support"}

data: {"time":"2026-09-19T16:15:21.417Z","priority":"6","pid":"2830187","message":"Warning: test1510 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.418Z","priority":"6","pid":"2830187","message":"Warning: test1592 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.418Z","priority":"6","pid":"2830187","message":"Warning: test1592 result is ignored due to timing-dependent"}

data: {"time":"2026-09-19T16:15:21.419Z","priority":"6","pid":"2830187","message":"Warning: test1631 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.419Z","priority":"6","pid":"2830187","message":"Warning: test1632 result is ignored due to flaky"}

data: {"time":"2026-09-19T16:15:21.419Z","priority":"6","pid":"2830187","message":"test 1678 SKIPPED: curl lacks SSLS-EXPORT support"}

data: {"time":"2026-09-19T16:15:21.420Z","priority":"6","pid":"2830187","message":"test 1703 SKIPPED: curl lacks Unicode support"}

data: {"time":"2026-09-19T16:15:21.420Z","priority":"6","pid":"2830187","message":"test 1850 SKIPPED: curl lacks smb support"}

data: {"time":"2026-09-19T16:15:21.421Z","priority":"6","pid":"2830187","message":"test 2033 SKIPPED: curl lacks Schannel support"}

data: {"time":"2026-09-19T16:15:21.421Z","priority":"6","pid":"2830187","message":"test 2070 SKIPPED: curl lacks Schannel support"}

data: {"time":"2026-09-19T16:15:21.421Z","priority":"6","pid":"2830187","message":"test 2079 SKIPPED: curl lacks Schannel support"}

data: {"time":"2026-09-19T16:15:21.422Z","priority":"6","pid":"2830187","message":"test 2102 SKIPPED: curl lacks override-dns support"}

data: {"time":"2026-09-19T16:15:21.423Z","priority":"6","pid":"2830187","message":"test 2103 SKIPPED: curl lacks override-dns support"}

data: {"time":"2026-09-19T16:15:21.423Z","priority":"6","pid":"2830187","message":"test 2104 SKIPPED: curl lacks override-dns support"}

data: {"time":"2026-09-19T16:15:21.423Z","priority":"6","pid":"2830187","message":"test 2500 SKIPPED: curl lacks nghttpx-h3 support"}

data: {"time":"2026-09-19T16:15:21.423Z","priority":"6","pid":"2830187","message":"test 2503 SKIPPED: curl lacks nghttpx-h3 support"}

data: {"time":"2026-09-19T16:15:21.424Z","priority":"6","pid":"2830187","message":"test 4000 SKIPPED: curl lacks ECH support"}

data: {"time":"2026-09-19T16:15:21.424Z","priority":"6","pid":"2830187","message":"test 4001 SKIPPED: curl lacks ECH support"}

data: {"time":"2026-09-19T16:15:21.434Z","priority":"6","pid":"2830187","message":"Runner 78759 starting"}

data: {"time":"2026-09-19T16:15:22.763Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind1 ../src/curl -q --output log/curl1.out  --include --trace-ascii log/trace1 --trace-time http://127.0.0.1:34447/1 > log/stdout1 2> log/stderr1"}

data: {"time":"2026-09-19T16:15:23.019Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2 ../src/curl -q --output log/curl2.out  --include --trace-ascii log/trace2 --trace-time -u fake:user http://127.0.0.1:34447/2 > log/stdout2 2> log/stderr2"}

data: {"time":"2026-09-19T16:15:23.283Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3 ../src/curl -q --output log/curl3.out  --include --trace-ascii log/trace3 --trace-time -d \"fooo=mooo&pooo=clue&doo=%20%20%20++++\" -u \"fake:-user\" http://127.0.0.1:34447/3 > log/stdout3 2> log/stderr3"}

data: {"time":"2026-09-19T16:15:23.291Z","priority":"6","pid":"2830187","message":"startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile \"log/server/http_server.pid\" --logfile \"log/http_server.log\" --logdir \"log\" --portfile log/server/http_server.port --config log/server.cmd --ipv4 --port 0 --srcdir \"/build/curl/src/curl/tests\""}

data: {"time":"2026-09-19T16:15:23.291Z","priority":"6","pid":"2830187","message":"RUN: HTTP server is on PID 78760 port 34447"}

data: {"time":"2026-09-19T16:15:23.292Z","priority":"6","pid":"2830187","message":"* pid http => 78760 78760"}

data: {"time":"2026-09-19T16:15:23.292Z","priority":"6","pid":"2830187","message":"test 0001 [HTTP GET]"}

data: {"time":"2026-09-19T16:15:23.293Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind1 ../src/curl -q --output log/curl1.out  --include --trace-ascii log/trace1 --trace-time http://127.0.0.1:34447/1 > log/stdout1 2> log/stderr1"}

data: {"time":"2026-09-19T16:15:23.299Z","priority":"6","pid":"2830187","message":" 1: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:23.299Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:23.299Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:23.299Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 1"}

data: {"time":"2026-09-19T16:15:23.299Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:23.300Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind1 ../src/curl -q --output log/curl1.out  --include --trace-ascii log/trace1 --trace-time http://127.0.0.1:34447/1 > log/stdout1 2> log/stderr1"}

data: {"time":"2026-09-19T16:15:23.300Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:23.301Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:23.301Z","priority":"6","pid":"2830187","message":" 16:15:21.558835 Running HTTP IPv4 version on port 34447"}

data: {"time":"2026-09-19T16:15:23.302Z","priority":"6","pid":"2830187","message":" 16:15:21.559043 Wrote pid 78760 to log/server/http_server.pid"}

data: {"time":"2026-09-19T16:15:23.302Z","priority":"6","pid":"2830187","message":" 16:15:21.559118 Wrote port 34447 to log/server/http_server.port"}

data: {"time":"2026-09-19T16:15:23.303Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:23.303Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:23.303Z","priority":"6","pid":"2830187","message":" Testnum 1"}

data: {"time":"2026-09-19T16:15:23.304Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:23.305Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind1"}

data: {"time":"2026-09-19T16:15:23.305Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:23.305Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:23.305Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:23.306Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.306Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:23.306Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:23.307Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:23.307Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:23.307Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:23.307Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.308Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:23.308Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:23.309Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:23.309Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:23.310Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:23.310Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:23.311Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:23.311Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.311Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:23.312Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:23.312Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.312Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:23.313Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:23.313Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:23.313Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.314Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:23.314Z","priority":"6","pid":"2830187","message":"=== End of file valgrind1"}

data: {"time":"2026-09-19T16:15:23.315Z","priority":"6","pid":"2830187","message":"test 0002 [HTTP GET with user and password]"}

data: {"time":"2026-09-19T16:15:23.316Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2 ../src/curl -q --output log/curl2.out  --include --trace-ascii log/trace2 --trace-time -u fake:user http://127.0.0.1:34447/2 > log/stdout2 2> log/stderr2"}

data: {"time":"2026-09-19T16:15:23.317Z","priority":"6","pid":"2830187","message":" 2: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:23.317Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:23.317Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:23.317Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2"}

data: {"time":"2026-09-19T16:15:23.318Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:23.319Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2 ../src/curl -q --output log/curl2.out  --include --trace-ascii log/trace2 --trace-time -u fake:user http://127.0.0.1:34447/2 > log/stdout2 2> log/stderr2"}

data: {"time":"2026-09-19T16:15:23.319Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:23.320Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:23.320Z","priority":"6","pid":"2830187","message":" 16:15:22.884345 ====> Client connect"}

data: {"time":"2026-09-19T16:15:23.320Z","priority":"6","pid":"2830187","message":" 16:15:22.884405 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:23.321Z","priority":"6","pid":"2830187","message":" 16:15:22.884773 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:23.321Z","priority":"6","pid":"2830187","message":" 16:15:22.884806 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" 16:15:22.884846 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" 16:15:22.884861 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" 16:15:22.884921 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" 16:15:22.884954 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" 16:15:22.885120 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" 16:15:22.885140 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" 16:15:22.885153 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57040"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:23.328Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" Testnum 2"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.344Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:23.348Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2"}

data: {"time":"2026-09-19T16:15:23.348Z","priority":"6","pid":"2830187","message":"test 0003 [HTTP POST with auth and contents but with content-length set to 0]"}

data: {"time":"2026-09-19T16:15:23.348Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3 ../src/curl -q --output log/curl3.out  --include --trace-ascii log/trace3 --trace-time -d \"fooo=mooo&pooo=clue&doo=%20%20%20++++\" -u \"fake:-user\" http://127.0.0.1:34447/3 > log/stdout3 2> log/stderr3"}

data: {"time":"2026-09-19T16:15:23.349Z","priority":"6","pid":"2830187","message":" 3: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:23.349Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:23.349Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:23.349Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3"}

data: {"time":"2026-09-19T16:15:23.350Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:23.352Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3 ../src/curl -q --output log/curl3.out  --include --trace-ascii log/trace3 --trace-time -d \"fooo=mooo&pooo=clue&doo=%20%20%20++++\" -u \"fake:-user\" http://127.0.0.1:34447/3 > log/stdout3 2> log/stderr3"}

data: {"time":"2026-09-19T16:15:23.352Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:23.352Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:23.353Z","priority":"6","pid":"2830187","message":" 16:15:23.159807 ====> Client connect"}

data: {"time":"2026-09-19T16:15:23.354Z","priority":"6","pid":"2830187","message":" 16:15:23.159860 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:23.354Z","priority":"6","pid":"2830187","message":" 16:15:23.160082 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:23.354Z","priority":"6","pid":"2830187","message":" 16:15:23.160101 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:23.354Z","priority":"6","pid":"2830187","message":" 16:15:23.160118 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:23.354Z","priority":"6","pid":"2830187","message":" 16:15:23.160130 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:23.638Z","priority":"6","pid":"2830187","message":" 16:15:23CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind4 ../src/curl -q --output log/curl4.out  --include --trace-ascii log/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:34447/4 http://127.0.0.1:34447/4 > log/stdout4 2> log/stderr4"}

data: {"time":"2026-09-19T16:15:23.884Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind5 ../src/curl -q --output log/curl5.out  --include --trace-ascii log/trace5 --trace-time http://127.0.0.1:34447/we/want/that/page/5#5 -x 127.0.0.1:34447 > log/stdout5 2> log/stderr5"}

data: {"time":"2026-09-19T16:15:23.889Z","priority":"6","pid":"2830187","message":".160169 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:23.889Z","priority":"6","pid":"2830187","message":" 16:15:23.160193 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" 16:15:23.160284 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" 16:15:23.160296 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" 16:15:23.160305 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57042"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" Testnum 3"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:23.901Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:23.904Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:23.904Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:23.904Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:23.904Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3"}

data: {"time":"2026-09-19T16:15:23.904Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:23.905Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:23.905Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:23.905Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.905Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:23.905Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:23.905Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:23.906Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:23.906Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:23.907Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.907Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:23.908Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:23.908Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:23.909Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:23.909Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:23.910Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:23.910Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:23.910Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.912Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:23.912Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:23.912Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.912Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:23.912Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:23.913Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:23.913Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.914Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:23.914Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3"}

data: {"time":"2026-09-19T16:15:23.914Z","priority":"6","pid":"2830187","message":"test 0004 [Replaced internal and added custom HTTP headers]"}

data: {"time":"2026-09-19T16:15:23.917Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind4 ../src/curl -q --output log/curl4.out  --include --trace-ascii log/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:34447/4 http://127.0.0.1:34447/4 > log/stdout4 2> log/stderr4"}

data: {"time":"2026-09-19T16:15:23.918Z","priority":"6","pid":"2830187","message":" 4: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:23.918Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:23.919Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:23.920Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 4"}

data: {"time":"2026-09-19T16:15:23.920Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:23.922Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind4 ../src/curl -q --output log/curl4.out  --include --trace-ascii log/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:34447/4 http://127.0.0.1:34447/4 > log/stdout4 2> log/stderr4"}

data: {"time":"2026-09-19T16:15:23.922Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:23.922Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:23.923Z","priority":"6","pid":"2830187","message":" 16:15:23.468854 ====> Client connect"}

data: {"time":"2026-09-19T16:15:23.925Z","priority":"6","pid":"2830187","message":" 16:15:23.468910 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:23.925Z","priority":"6","pid":"2830187","message":" 16:15:23.469068 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:23.925Z","priority":"6","pid":"2830187","message":" 16:15:23.469086 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:23.926Z","priority":"6","pid":"2830187","message":" 16:15:23.469102 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:23.926Z","priority":"6","pid":"2830187","message":" 16:15:23.469112 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:23.927Z","priority":"6","pid":"2830187","message":" 16:15:23.469150 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" 16:15:23.469174 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" 16:15:23.469260 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" 16:15:23.469275 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" 16:15:23.469292 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57058"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:23.933Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:23.935Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:23.935Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:23.935Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:23.935Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:23.935Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:23.935Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:23.935Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:23.935Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:23.936Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:23.936Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:23.937Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:23.937Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:23.937Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:23.937Z","priority":"6","pid":"2830187","message":" Testnum 4"}

data: {"time":"2026-09-19T16:15:23.937Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:23.938Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:23.938Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:23.938Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:23.939Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:23.939Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:23.939Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind4"}

data: {"time":"2026-09-19T16:15:23.939Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:23.940Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:23.940Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:23.941Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.941Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:23.941Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:23.942Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:23.943Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:23.943Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:23.944Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.944Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:23.944Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:23.945Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:23.945Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:23.946Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:23.946Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:23.947Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:23.947Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.948Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:23.948Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:23.948Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.949Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:23.949Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:23.950Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:23.950Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:23.950Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:23.951Z","priority":"6","pid":"2830187","message":"=== End of file valgrind4"}

data: {"time":"2026-09-19T16:15:23.951Z","priority":"6","pid":"2830187","message":"test 0005 [HTTP over proxy]"}

data: {"time":"2026-09-19T16:15:23.954Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind5 ../src/curl -q --output log/curl5.out  --include --trace-ascii log/trace5 --trace-time http://127.0.0.1:34447/we/want/that/page/5#5 -x 127.0.0.1:34447 > log/stdout5 2> log/stderr5"}

data: {"time":"2026-09-19T16:15:23.954Z","priority":"6","pid":"2830187","message":" 5: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:23.954Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:23.954Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:23.954Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 5"}

data: {"time":"2026-09-19T16:15:23.955Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:23.956Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind5 ../src/curl -q --output log/curl5.out  --include --trace-ascii log/trace5 --trace-time http://127.0.0.1:34447/we/want/that/page/5#5 -x 127.0.0.1:34447 > log/stdout5 2> log/stderr5"}

data: {"time":"2026-09-19T16:15:23.957Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:23.957Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:23.958Z","priority":"6","pid":"2830187","message":" 16:15:23.758328 ====> Client connect"}

data: {"time":"2026-09-19T16:15:23.958Z","priority":"6","pid":"2830187","message":" 16:15:23.758385 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:23.963Z","priority":"6","pid":"2830187","message":" 16:15:23.758706 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:23.963Z","priority":"6","pid":"2830187","message":" 16:15:23.758725 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:23.963Z","priority":"6","pid":"2830187","message":" 16:15:23.758741 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:23.963Z","priority":"6","pid":"2830187","message":" 16:15:23.758751 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:23.963Z","priority":"6","pid":"2830187","message":" 16:15:23.758815 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:23.964Z","priority":"6","pid":"2830187","message":" 16:15:23.758845 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:23.964Z","priority":"6","pid":"2830187","message":" 16:15:23.758926 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:23.964Z","priority":"6","pid":"2830187","message":" 16:15:23.758936 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:24.212Z","priority":"6","pid":"2830187","message":" 16:15:23.758942 ====> Client disconneCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind6 ../src/curl -q --output log/curl6.out  --include --trace-ascii log/trace6 --trace-time http://127.0.0.1:34447/we/want/that/page/6 -b \"name=contents;name2=content2\" -b name3=content3 > log/stdout6 2> log/stderr6"}

data: {"time":"2026-09-19T16:15:24.457Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind7 ../src/curl -q --output log/curl7.out  --include --trace-ascii log/trace7 --trace-time http://127.0.0.1:34447/we/want/7 -b none -D log/heads7.txt > log/stdout7 2> log/stderr7"}

data: {"time":"2026-09-19T16:15:24.461Z","priority":"6","pid":"2830187","message":"ct 0"}

data: {"time":"2026-09-19T16:15:24.462Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:24.462Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:24.462Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:24.464Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57074"}

data: {"time":"2026-09-19T16:15:24.464Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:24.466Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:24.466Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:24.466Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:24.467Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:24.467Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:24.467Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:24.467Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:24.469Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:24.469Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:24.469Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:24.470Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:24.470Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:24.470Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:24.471Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:24.472Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:24.472Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:24.472Z","priority":"6","pid":"2830187","message":" Testnum 5"}

data: {"time":"2026-09-19T16:15:24.472Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:24.472Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:24.473Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:24.473Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:24.473Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:24.473Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:24.474Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind5"}

data: {"time":"2026-09-19T16:15:24.474Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:24.475Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:24.475Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:24.475Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.476Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:24.476Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:24.477Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:24.477Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:24.478Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:24.478Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.478Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:24.479Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:24.479Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:24.480Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:24.481Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:24.481Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:24.481Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:24.482Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.482Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:24.483Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:24.483Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.483Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:24.484Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:24.484Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:24.485Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.485Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:24.485Z","priority":"6","pid":"2830187","message":"=== End of file valgrind5"}

data: {"time":"2026-09-19T16:15:24.486Z","priority":"6","pid":"2830187","message":"test 0006 [HTTP with simple cookie send]"}

data: {"time":"2026-09-19T16:15:24.488Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind6 ../src/curl -q --output log/curl6.out  --include --trace-ascii log/trace6 --trace-time http://127.0.0.1:34447/we/want/that/page/6 -b \"name=contents;name2=content2\" -b name3=content3 > log/stdout6 2> log/stderr6"}

data: {"time":"2026-09-19T16:15:24.488Z","priority":"6","pid":"2830187","message":" 6: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:24.489Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:24.489Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:24.490Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 6"}

data: {"time":"2026-09-19T16:15:24.490Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:24.492Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind6 ../src/curl -q --output log/curl6.out  --include --trace-ascii log/trace6 --trace-time http://127.0.0.1:34447/we/want/that/page/6 -b \"name=contents;name2=content2\" -b name3=content3 > log/stdout6 2> log/stderr6"}

data: {"time":"2026-09-19T16:15:24.492Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:24.492Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:24.493Z","priority":"6","pid":"2830187","message":" 16:15:24.087869 ====> Client connect"}

data: {"time":"2026-09-19T16:15:24.493Z","priority":"6","pid":"2830187","message":" 16:15:24.087935 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:24.494Z","priority":"6","pid":"2830187","message":" 16:15:24.088193 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:24.494Z","priority":"6","pid":"2830187","message":" 16:15:24.088214 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:24.494Z","priority":"6","pid":"2830187","message":" 16:15:24.088233 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:24.495Z","priority":"6","pid":"2830187","message":" 16:15:24.088246 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:24.495Z","priority":"6","pid":"2830187","message":" 16:15:24.088292 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:24.496Z","priority":"6","pid":"2830187","message":" 16:15:24.088317 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:24.496Z","priority":"6","pid":"2830187","message":" 16:15:24.088504 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:24.497Z","priority":"6","pid":"2830187","message":" 16:15:24.088522 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:24.497Z","priority":"6","pid":"2830187","message":" 16:15:24.088534 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:24.497Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:24.497Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:24.498Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:24.498Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57090"}

data: {"time":"2026-09-19T16:15:24.498Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:24.499Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:24.499Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:24.499Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:24.500Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:24.500Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:24.500Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:24.500Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:24.500Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:24.500Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:24.501Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:24.501Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:24.502Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:24.502Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:24.502Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:24.502Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:24.502Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:24.503Z","priority":"6","pid":"2830187","message":" Testnum 6"}

data: {"time":"2026-09-19T16:15:24.503Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:24.503Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:24.503Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:24.504Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:24.504Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:24.504Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:24.504Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind6"}

data: {"time":"2026-09-19T16:15:24.505Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:24.506Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:24.506Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:24.506Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.506Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:24.507Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:24.507Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:24.507Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:24.508Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:24.509Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.509Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:24.509Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:24.510Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:24.510Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:24.511Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:24.511Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:24.511Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:24.512Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.512Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:24.513Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:24.513Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.513Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:24.513Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:24.514Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:24.514Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:24.514Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:24.515Z","priority":"6","pid":"2830187","message":"=== End of file valgrind6"}

data: {"time":"2026-09-19T16:15:24.515Z","priority":"6","pid":"2830187","message":"test 0007 [HTTP with cookie parser and header recording]"}

data: {"time":"2026-09-19T16:15:24.517Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind7 ../src/curl -q --output log/curl7.out  --include --trace-ascii log/trace7 --trace-time http://127.0.0.1:34447/we/want/7 -b none -D log/heads7.txt > log/stdout7 2> log/stderr7"}

data: {"time":"2026-09-19T16:15:24.517Z","priority":"6","pid":"2830187","message":" 7: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:24.517Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:24.518Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:24.518Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 7"}

data: {"time":"2026-09-19T16:15:24.519Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:24.520Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind7 ../src/curl -q --output log/curl7.out  --include --trace-ascii log/trace7 --trace-time http://127.0.0.1:34447/we/want/7 -b none -D log/heads7.txt > log/stdout7 2> log/stderr7"}

data: {"time":"2026-09-19T16:15:24.521Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:24.521Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:24.521Z","priority":"6","pid":"2830187","message":" 16:15:24.345181 ====> Client connect"}

data: {"time":"2026-09-19T16:15:24.521Z","priority":"6","pid":"2830187","message":" 16:15:24.345233 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:24.522Z","priority":"6","pid":"2830187","message":" 16:15:24.345444 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:24.522Z","priority":"6","pid":"2830187","message":" 16:15:24.345468 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:24.522Z","priority":"6","pid":"2830187","message":" 16:15:24.345484 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:24.523Z","priority":"6","pid":"2830187","message":" 16:15:24.345495 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:24.523Z","priority":"6","pid":"2830187","message":" 16:15:24.345534 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:24.524Z","priority":"6","pid":"2830187","message":" 16:15:24.345555 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:24.524Z","priority":"6","pid":"2830187","message":" 16:15:24.345608 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:24.525Z","priority":"6","pid":"2830187","message":" 16:15:24.345619 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:24.525Z","priority":"6","pid":"2830187","message":" 16:15:24.345628 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:24.525Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:24.526Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:24.526Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:24.526Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57092"}

data: {"time":"2026-09-19T16:15:24.527Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:24.527Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:24.528Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:24.528Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:24.529Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:24.529Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:24.529Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:24.529Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:24.529Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:24.529Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:24.529Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:24.529Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:24.530Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:24.530Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:24.781Z","priority":"6","pid":"2830187","message":" WE ROOLZ:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind8 ../src/curl -q --output log/curl8.out  --include --trace-ascii log/trace8 --trace-time http://127.0.0.1:34447/we/want/8 -b log/heads8.txt > log/stdout8 2> log/stderr8"}

data: {"time":"2026-09-19T16:15:25.022Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind9 ../src/curl -q --output log/curl9.out  --include --trace-ascii log/trace9 --trace-time http://127.0.0.1:34447/we/want/9 -F name=daniel -F tool=curl -F file=@log/test9.txt > log/stdout9 2> log/stderr9"}

data: {"time":"2026-09-19T16:15:25.025Z","priority":"6","pid":"2830187","message":" 78760"}

data: {"time":"2026-09-19T16:15:25.026Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:25.026Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:25.026Z","priority":"6","pid":"2830187","message":" Testnum 7"}

data: {"time":"2026-09-19T16:15:25.026Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:25.026Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:25.027Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:25.027Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:25.027Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:25.027Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:25.027Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind7"}

data: {"time":"2026-09-19T16:15:25.028Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:25.029Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:25.030Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:25.030Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.030Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:25.031Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:25.032Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:25.032Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:25.035Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:25.035Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.035Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:25.036Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:25.037Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:25.038Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:25.038Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:25.040Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:25.041Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:25.041Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.041Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:25.041Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:25.041Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.042Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:25.042Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:25.043Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:25.043Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.044Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:25.044Z","priority":"6","pid":"2830187","message":"=== End of file valgrind7"}

data: {"time":"2026-09-19T16:15:25.045Z","priority":"6","pid":"2830187","message":"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)}'"}

data: {"time":"2026-09-19T16:15:25.045Z","priority":"6","pid":"2830187","message":"test 0008 [HTTP with cookie parsing from header file]"}

data: {"time":"2026-09-19T16:15:25.047Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind8 ../src/curl -q --output log/curl8.out  --include --trace-ascii log/trace8 --trace-time http://127.0.0.1:34447/we/want/8 -b log/heads8.txt > log/stdout8 2> log/stderr8"}

data: {"time":"2026-09-19T16:15:25.047Z","priority":"6","pid":"2830187","message":" 8: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:25.048Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:25.048Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:25.048Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 8"}

data: {"time":"2026-09-19T16:15:25.049Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:25.050Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind8 ../src/curl -q --output log/curl8.out  --include --trace-ascii log/trace8 --trace-time http://127.0.0.1:34447/we/want/8 -b log/heads8.txt > log/stdout8 2> log/stderr8"}

data: {"time":"2026-09-19T16:15:25.051Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:25.051Z","priority":"6","pid":"2830187","message":"=== Start of file heads8.txt"}

data: {"time":"2026-09-19T16:15:25.051Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:25.052Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT"}

data: {"time":"2026-09-19T16:15:25.052Z","priority":"6","pid":"2830187","message":" Server: test-server/fake"}

data: {"time":"2026-09-19T16:15:25.052Z","priority":"6","pid":"2830187","message":" Content-Type: text/html"}

data: {"time":"2026-09-19T16:15:25.053Z","priority":"6","pid":"2830187","message":" Funny-head: yesyes"}

data: {"time":"2026-09-19T16:15:25.053Z","priority":"6","pid":"2830187","message":" Set-Cookie: foobar=name; domain=127.0.0.1; path=/;"}

data: {"time":"2026-09-19T16:15:25.053Z","priority":"6","pid":"2830187","message":" Set-Cookie: mismatch=this; domain=127.0.0.1; path=\"/silly/\";"}

data: {"time":"2026-09-19T16:15:25.054Z","priority":"6","pid":"2830187","message":" Set-Cookie: partmatch=present; domain=.0.0.1; path=/w;"}

data: {"time":"2026-09-19T16:15:25.054Z","priority":"6","pid":"2830187","message":" Set-Cookie: duplicate=test; domain=.0.0.1; domain=.0.0.1; path=/donkey;"}

data: {"time":"2026-09-19T16:15:25.054Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie=yes; path=/we;"}

data: {"time":"2026-09-19T16:15:25.055Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie=perhaps; path=/we/want;"}

data: {"time":"2026-09-19T16:15:25.055Z","priority":"6","pid":"2830187","message":" Set-Cookie: name with space=is weird but; path=/we/want;"}

data: {"time":"2026-09-19T16:15:25.056Z","priority":"6","pid":"2830187","message":" Set-Cookie: trailingspace    = removed; path=/we/want;"}

data: {"time":"2026-09-19T16:15:25.056Z","priority":"6","pid":"2830187","message":" Set-Cookie: nocookie=yes; path=/WE;"}

data: {"time":"2026-09-19T16:15:25.056Z","priority":"6","pid":"2830187","message":" Set-Cookie: blexp=yesyes; domain=127.0.0.1; domain=127.0.0.1; expiry=totally bad;"}

data: {"time":"2026-09-19T16:15:25.057Z","priority":"6","pid":"2830187","message":" Set-Cookie: partialip=nono; domain=.0.0.1;"}

data: {"time":"2026-09-19T16:15:25.057Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie1=\u0001-junk"}

data: {"time":"2026-09-19T16:15:25.057Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie2=\u0002-junk"}

data: {"time":"2026-09-19T16:15:25.058Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie3=\u0003-junk"}

data: {"time":"2026-09-19T16:15:25.058Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie4=\u0004-junk"}

data: {"time":"2026-09-19T16:15:25.059Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie5=\u0005-junk"}

data: {"time":"2026-09-19T16:15:25.059Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie6=\u0006-junk"}

data: {"time":"2026-09-19T16:15:25.059Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie7=\u0007-junk"}

data: {"time":"2026-09-19T16:15:25.059Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie8=\b-junk"}

data: {"time":"2026-09-19T16:15:25.059Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie9=junk--"}

data: {"time":"2026-09-19T16:15:25.060Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie11=\u000b-junk"}

data: {"time":"2026-09-19T16:15:25.060Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie12="}

data: {"time":"2026-09-19T16:15:25.060Z","priority":"6","pid":"2830187","message":" -junk"}

data: {"time":"2026-09-19T16:15:25.060Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie14=\u000e-junk"}

data: {"time":"2026-09-19T16:15:25.061Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie15=\u000f-junk"}

data: {"time":"2026-09-19T16:15:25.061Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie16=\u0010-junk"}

data: {"time":"2026-09-19T16:15:25.061Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie17=\u0011-junk"}

data: {"time":"2026-09-19T16:15:25.062Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie18=\u0012-junk"}

data: {"time":"2026-09-19T16:15:25.062Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie19=\u0013-junk"}

data: {"time":"2026-09-19T16:15:25.062Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie20=\u0014-junk"}

data: {"time":"2026-09-19T16:15:25.062Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie21=\u0015-junk"}

data: {"time":"2026-09-19T16:15:25.063Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie22=\u0016-junk"}

data: {"time":"2026-09-19T16:15:25.063Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie23=\u0017-junk"}

data: {"time":"2026-09-19T16:15:25.063Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie24=\u0018-junk"}

data: {"time":"2026-09-19T16:15:25.063Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie25=\u0019-junk"}

data: {"time":"2026-09-19T16:15:25.064Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie26="}

data: {"time":"2026-09-19T16:15:25.064Z","priority":"6","pid":"2830187","message":" -junk"}

data: {"time":"2026-09-19T16:15:25.064Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie27=\u001b-junk"}

data: {"time":"2026-09-19T16:15:25.064Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie28=\u001c-junk"}

data: {"time":"2026-09-19T16:15:25.065Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie29=\u001d-junk"}

data: {"time":"2026-09-19T16:15:25.065Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie30=\u001e-junk"}

data: {"time":"2026-09-19T16:15:25.065Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie31=\u001f-junk"}

data: {"time":"2026-09-19T16:15:25.066Z","priority":"6","pid":"2830187","message":" Set-Cookie: cookie31=-junk"}

data: {"time":"2026-09-19T16:15:25.066Z","priority":"6","pid":"2830187","message":"=== End of file heads8.txt"}

data: {"time":"2026-09-19T16:15:25.066Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:25.067Z","priority":"6","pid":"2830187","message":" 16:15:24.647894 ====> Client connect"}

data: {"time":"2026-09-19T16:15:25.067Z","priority":"6","pid":"2830187","message":" 16:15:24.647943 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:25.067Z","priority":"6","pid":"2830187","message":" 16:15:24.648094 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:25.067Z","priority":"6","pid":"2830187","message":" 16:15:24.648108 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:25.068Z","priority":"6","pid":"2830187","message":" 16:15:24.648132 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:25.068Z","priority":"6","pid":"2830187","message":" 16:15:24.648142 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:25.068Z","priority":"6","pid":"2830187","message":" 16:15:24.648175 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:25.069Z","priority":"6","pid":"2830187","message":" 16:15:24.648196 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:25.070Z","priority":"6","pid":"2830187","message":" 16:15:24.648247 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:25.070Z","priority":"6","pid":"2830187","message":" 16:15:24.648258 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:25.070Z","priority":"6","pid":"2830187","message":" 16:15:24.648267 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:25.070Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:25.071Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:25.071Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:25.072Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57094"}

data: {"time":"2026-09-19T16:15:25.072Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:25.073Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:25.074Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:25.074Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:25.074Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:25.075Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:25.075Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:25.075Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:25.075Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:25.075Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:25.075Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:25.076Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:25.076Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:25.076Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:25.077Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:25.077Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:25.078Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:25.078Z","priority":"6","pid":"2830187","message":" Testnum 8"}

data: {"time":"2026-09-19T16:15:25.078Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:25.079Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:25.079Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:25.079Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:25.079Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:25.080Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:25.080Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind8"}

data: {"time":"2026-09-19T16:15:25.081Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:25.081Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:25.081Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:25.081Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.082Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:25.082Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:25.082Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:25.083Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:25.083Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:25.084Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.084Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:25.084Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:25.085Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:25.085Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:25.086Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:25.086Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:25.087Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:25.087Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.087Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:25.087Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:25.088Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.089Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:25.089Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:25.089Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:25.089Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.089Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:25.090Z","priority":"6","pid":"2830187","message":"=== End of file valgrind8"}

data: {"time":"2026-09-19T16:15:25.090Z","priority":"6","pid":"2830187","message":"test 0009 [HTTP RFC1867-type formposting]"}

data: {"time":"2026-09-19T16:15:25.092Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind9 ../src/curl -q --output log/curl9.out  --include --trace-ascii log/trace9 --trace-time http://127.0.0.1:34447/we/want/9 -F name=daniel -F tool=curl -F file=@log/test9.txt > log/stdout9 2> log/stderr9"}

data: {"time":"2026-09-19T16:15:25.092Z","priority":"6","pid":"2830187","message":" 9: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:25.092Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:25.093Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:25.093Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 9"}

data: {"time":"2026-09-19T16:15:25.093Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:25.309Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind9 ../src/curl -q --output log/curl9.out  --include --trace-ascii log/trace9 --trace-time http://127.0.0.1:34447/we/want/9 -F name=daniel -F tool=curl -F file=@log/tCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind10 ../src/curl -q --output log/curl10.out  --include --trace-ascii log/trace10 --trace-time http://127.0.0.1:34447/we/want/10 -T log/test10.txt > log/stdout10 2> log/stderr10"}

data: {"time":"2026-09-19T16:15:25.541Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind11 ../src/curl -q --output log/curl11.out  --include --trace-ascii log/trace11 --trace-time http://127.0.0.1:34447/want/11 -L > log/stdout11 2> log/stderr11"}

data: {"time":"2026-09-19T16:15:25.545Z","priority":"6","pid":"2830187","message":"est9.txt > log/stdout9 2> log/stderr9"}

data: {"time":"2026-09-19T16:15:25.545Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:25.545Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:25.546Z","priority":"6","pid":"2830187","message":" 16:15:24.910964 ====> Client connect"}

data: {"time":"2026-09-19T16:15:25.546Z","priority":"6","pid":"2830187","message":" 16:15:24.911011 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:25.546Z","priority":"6","pid":"2830187","message":" 16:15:24.911175 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:25.547Z","priority":"6","pid":"2830187","message":" 16:15:24.911200 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:25.547Z","priority":"6","pid":"2830187","message":" 16:15:24.911219 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:25.548Z","priority":"6","pid":"2830187","message":" 16:15:24.911231 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:25.548Z","priority":"6","pid":"2830187","message":" 16:15:24.911276 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:25.549Z","priority":"6","pid":"2830187","message":" 16:15:24.911305 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:25.549Z","priority":"6","pid":"2830187","message":" 16:15:24.911645 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:25.549Z","priority":"6","pid":"2830187","message":" 16:15:24.911664 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:25.550Z","priority":"6","pid":"2830187","message":" 16:15:24.911673 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:25.550Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:25.550Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:25.550Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:25.551Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57098"}

data: {"time":"2026-09-19T16:15:25.551Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:25.551Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:25.552Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:25.552Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:25.552Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:25.553Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:25.553Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:25.553Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:25.553Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:25.553Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:25.553Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:25.554Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:25.554Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:25.554Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:25.555Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:25.556Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:25.556Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:25.556Z","priority":"6","pid":"2830187","message":" Testnum 9"}

data: {"time":"2026-09-19T16:15:25.556Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:25.556Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:25.557Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:25.557Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:25.557Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:25.557Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:25.557Z","priority":"6","pid":"2830187","message":"=== Start of file test9.txt"}

data: {"time":"2026-09-19T16:15:25.557Z","priority":"6","pid":"2830187","message":" foo-"}

data: {"time":"2026-09-19T16:15:25.558Z","priority":"6","pid":"2830187","message":" This is a moo-"}

data: {"time":"2026-09-19T16:15:25.558Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:15:25.558Z","priority":"6","pid":"2830187","message":"=== End of file test9.txt"}

data: {"time":"2026-09-19T16:15:25.558Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind9"}

data: {"time":"2026-09-19T16:15:25.559Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:25.560Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:25.561Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:25.561Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.562Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:25.562Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:25.564Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:25.564Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:25.565Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:25.567Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.567Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:25.567Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:25.568Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:25.569Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:25.570Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:25.572Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:25.572Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:25.572Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.572Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:25.573Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:25.573Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.574Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:25.575Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:25.575Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:25.575Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.576Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:25.576Z","priority":"6","pid":"2830187","message":"=== End of file valgrind9"}

data: {"time":"2026-09-19T16:15:25.576Z","priority":"6","pid":"2830187","message":"test 0010 [simple HTTP PUT from file]"}

data: {"time":"2026-09-19T16:15:25.577Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind10 ../src/curl -q --output log/curl10.out  --include --trace-ascii log/trace10 --trace-time http://127.0.0.1:34447/we/want/10 -T log/test10.txt > log/stdout10 2> log/stderr10"}

data: {"time":"2026-09-19T16:15:25.578Z","priority":"6","pid":"2830187","message":" 10: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:25.578Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:25.579Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:25.579Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 10"}

data: {"time":"2026-09-19T16:15:25.580Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:25.581Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind10 ../src/curl -q --output log/curl10.out  --include --trace-ascii log/trace10 --trace-time http://127.0.0.1:34447/we/want/10 -T log/test10.txt > log/stdout10 2> log/stderr10"}

data: {"time":"2026-09-19T16:15:25.581Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:25.581Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:25.582Z","priority":"6","pid":"2830187","message":" 16:15:25.206635 ====> Client connect"}

data: {"time":"2026-09-19T16:15:25.582Z","priority":"6","pid":"2830187","message":" 16:15:25.206694 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:25.582Z","priority":"6","pid":"2830187","message":" 16:15:25.206732 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:25.583Z","priority":"6","pid":"2830187","message":" 16:15:25.206747 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:25.583Z","priority":"6","pid":"2830187","message":" 16:15:25.206766 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:25.584Z","priority":"6","pid":"2830187","message":" 16:15:25.206776 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:25.584Z","priority":"6","pid":"2830187","message":" 16:15:25.206808 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:25.585Z","priority":"6","pid":"2830187","message":" 16:15:25.206828 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:25.585Z","priority":"6","pid":"2830187","message":" 16:15:25.206915 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:25.585Z","priority":"6","pid":"2830187","message":" 16:15:25.206926 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:25.586Z","priority":"6","pid":"2830187","message":" 16:15:25.206936 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:25.586Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:25.586Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:25.587Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:25.587Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57102"}

data: {"time":"2026-09-19T16:15:25.588Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:25.588Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:25.588Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:25.588Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:25.589Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:25.590Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:25.590Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:25.590Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:25.590Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:25.590Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:25.590Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:25.590Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:25.590Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:25.591Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:25.591Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:25.592Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:25.592Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:25.592Z","priority":"6","pid":"2830187","message":" Testnum 10"}

data: {"time":"2026-09-19T16:15:25.592Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:25.592Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:25.593Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:25.593Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:25.593Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:25.593Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:25.594Z","priority":"6","pid":"2830187","message":"=== Start of file test10.txt"}

data: {"time":"2026-09-19T16:15:25.594Z","priority":"6","pid":"2830187","message":" Weird"}

data: {"time":"2026-09-19T16:15:25.595Z","priority":"6","pid":"2830187","message":"      file"}

data: {"time":"2026-09-19T16:15:25.595Z","priority":"6","pid":"2830187","message":"          to"}

data: {"time":"2026-09-19T16:15:25.595Z","priority":"6","pid":"2830187","message":"    upload"}

data: {"time":"2026-09-19T16:15:25.595Z","priority":"6","pid":"2830187","message":" for"}

data: {"time":"2026-09-19T16:15:25.595Z","priority":"6","pid":"2830187","message":"    testing"}

data: {"time":"2026-09-19T16:15:25.595Z","priority":"6","pid":"2830187","message":" the"}

data: {"time":"2026-09-19T16:15:25.595Z","priority":"6","pid":"2830187","message":"    PUT"}

data: {"time":"2026-09-19T16:15:25.596Z","priority":"6","pid":"2830187","message":"       feature"}

data: {"time":"2026-09-19T16:15:25.596Z","priority":"6","pid":"2830187","message":"=== End of file test10.txt"}

data: {"time":"2026-09-19T16:15:25.596Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind10"}

data: {"time":"2026-09-19T16:15:25.596Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:25.597Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:25.597Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:25.598Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.598Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:25.598Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:25.598Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:25.599Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:25.599Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:25.599Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.600Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:25.600Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:25.601Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:25.601Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:25.602Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:25.602Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:25.603Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:25.603Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.603Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:25.604Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:25.605Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.605Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:25.605Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:25.605Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:25.606Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:25.607Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:25.607Z","priority":"6","pid":"2830187","message":"=== End of file valgrind10"}

data: {"time":"2026-09-19T16:15:25.607Z","priority":"6","pid":"2830187","message":"test 0011 [simple HTTP Location: following]"}

data: {"time":"2026-09-19T16:15:25.608Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind11 ../src/curl -q --output log/curl11.out  --include --trace-ascii log/trace11 --trace-time http://127.0.0.1:34447/want/11 -L > log/stdout11 2> log/stderr11"}

data: {"time":"2026-09-19T16:15:25.608Z","priority":"6","pid":"2830187","message":" 11: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:25.609Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:25.609Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:25.610Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 11"}

data: {"time":"2026-09-19T16:15:25.611Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:25.612Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind11 ../src/curl -q --output log/curl11.out  --include --trace-ascii log/trace11 --trace-time http://127.0.0.1:34447/want/11 -L > log/stdout11 2> log/stderr11"}

data: {"time":"2026-09-19T16:15:25.612Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:25.613Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:25.613Z","priority":"6","pid":"2830187","message":" 16:15:25.438885 ====> Client connect"}

data: {"time":"2026-09-19T16:15:25.614Z","priority":"6","pid":"2830187","message":" 16:15:25.438931 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:25.615Z","priority":"6","pid":"2830187","message":" 16:15:25.438959 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:25.615Z","priority":"6","pid":"2830187","message":" 16:15:25.438971 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:25.615Z","priority":"6","pid":"2830187","message":" 16:15:25.438990 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:25.615Z","priority":"6","pid":"2830187","message":" 16:15:25.439002 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:25.831Z","priority":"6","pid":"2830187","message":" 16:15:25.439039 Wrote request (93 bytes) input to log/server.inputCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind12 ../src/curl -q --output log/curl12.out  --include --trace-ascii log/trace12 --trace-time http://127.0.0.1:34447/want/12 -r 100-200 > log/stdout12 2> log/stderr12"}

data: {"time":"2026-09-19T16:15:26.064Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind13 ../src/curl -q --output log/curl13.out  --include --trace-ascii log/trace13 --trace-time http://127.0.0.1:34447/want/13 -X DELETE > log/stdout13 2> log/stderr13"}

data: {"time":"2026-09-19T16:15:26.068Z","priority":"6","pid":"2830187","message":" 16:15:25.439071 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:26.069Z","priority":"6","pid":"2830187","message":" 16:15:25.439159 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:26.069Z","priority":"6","pid":"2830187","message":" 16:15:25.439171 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:26.070Z","priority":"6","pid":"2830187","message":" 16:15:25.439180 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:26.071Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.071Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.071Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:26.071Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57108"}

data: {"time":"2026-09-19T16:15:26.071Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:26.071Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.072Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:26.072Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:26.072Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:26.072Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:26.073Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:26.073Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.073Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.073Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:26.073Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:26.074Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:26.074Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.075Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.075Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.075Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.075Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.075Z","priority":"6","pid":"2830187","message":" Testnum 11"}

data: {"time":"2026-09-19T16:15:26.076Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.076Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:26.076Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.077Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.077Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.077Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:26.078Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind11"}

data: {"time":"2026-09-19T16:15:26.078Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:26.079Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:26.079Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:26.079Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.080Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:26.080Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:26.081Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.081Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:26.081Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.082Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.083Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:26.083Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:26.084Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:26.085Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:26.087Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:26.087Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:26.088Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:26.088Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.090Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:26.090Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:26.091Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.092Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:26.092Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:26.093Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:26.094Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.094Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:26.094Z","priority":"6","pid":"2830187","message":"=== End of file valgrind11"}

data: {"time":"2026-09-19T16:15:26.095Z","priority":"6","pid":"2830187","message":"test 0012 [HTTP range support]"}

data: {"time":"2026-09-19T16:15:26.096Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind12 ../src/curl -q --output log/curl12.out  --include --trace-ascii log/trace12 --trace-time http://127.0.0.1:34447/want/12 -r 100-200 > log/stdout12 2> log/stderr12"}

data: {"time":"2026-09-19T16:15:26.096Z","priority":"6","pid":"2830187","message":" 12: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:26.097Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:26.097Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:26.097Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 12"}

data: {"time":"2026-09-19T16:15:26.098Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:26.099Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind12 ../src/curl -q --output log/curl12.out  --include --trace-ascii log/trace12 --trace-time http://127.0.0.1:34447/want/12 -r 100-200 > log/stdout12 2> log/stderr12"}

data: {"time":"2026-09-19T16:15:26.100Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:26.100Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.100Z","priority":"6","pid":"2830187","message":" 16:15:25.727969 ====> Client connect"}

data: {"time":"2026-09-19T16:15:26.101Z","priority":"6","pid":"2830187","message":" 16:15:25.728013 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:26.101Z","priority":"6","pid":"2830187","message":" 16:15:25.728153 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:26.101Z","priority":"6","pid":"2830187","message":" 16:15:25.728169 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:26.102Z","priority":"6","pid":"2830187","message":" 16:15:25.728184 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.102Z","priority":"6","pid":"2830187","message":" 16:15:25.728194 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:26.103Z","priority":"6","pid":"2830187","message":" 16:15:25.728227 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:26.103Z","priority":"6","pid":"2830187","message":" 16:15:25.728247 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:26.104Z","priority":"6","pid":"2830187","message":" 16:15:25.728323 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:26.104Z","priority":"6","pid":"2830187","message":" 16:15:25.728335 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:26.104Z","priority":"6","pid":"2830187","message":" 16:15:25.728344 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:26.105Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.105Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.106Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:26.106Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57110"}

data: {"time":"2026-09-19T16:15:26.106Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:26.107Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.107Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:26.107Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:26.107Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:26.108Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:26.108Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:26.108Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.108Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.109Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:26.109Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:26.110Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:26.110Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.110Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.110Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.111Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.111Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.111Z","priority":"6","pid":"2830187","message":" Testnum 12"}

data: {"time":"2026-09-19T16:15:26.111Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.112Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:26.112Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.112Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.113Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.113Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:26.113Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind12"}

data: {"time":"2026-09-19T16:15:26.113Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:26.114Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:26.114Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:26.115Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.115Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:26.116Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:26.116Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.116Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:26.117Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.118Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.118Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:26.118Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:26.119Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:26.119Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:26.120Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:26.120Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:26.120Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:26.121Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.121Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:26.121Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:26.122Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.122Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:26.122Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:26.123Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:26.123Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.123Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:26.124Z","priority":"6","pid":"2830187","message":"=== End of file valgrind12"}

data: {"time":"2026-09-19T16:15:26.124Z","priority":"6","pid":"2830187","message":"test 0013 [HTTP custom request 'DELETE']"}

data: {"time":"2026-09-19T16:15:26.126Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind13 ../src/curl -q --output log/curl13.out  --include --trace-ascii log/trace13 --trace-time http://127.0.0.1:34447/want/13 -X DELETE > log/stdout13 2> log/stderr13"}

data: {"time":"2026-09-19T16:15:26.127Z","priority":"6","pid":"2830187","message":" 13: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:26.127Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:26.127Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:26.127Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 13"}

data: {"time":"2026-09-19T16:15:26.128Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:26.129Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind13 ../src/curl -q --output log/curl13.out  --include --trace-ascii log/trace13 --trace-time http://127.0.0.1:34447/want/13 -X DELETE > log/stdout13 2> log/stderr13"}

data: {"time":"2026-09-19T16:15:26.130Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:26.130Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.130Z","priority":"6","pid":"2830187","message":" 16:15:25.956750 ====> Client connect"}

data: {"time":"2026-09-19T16:15:26.131Z","priority":"6","pid":"2830187","message":" 16:15:25.956793 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:26.131Z","priority":"6","pid":"2830187","message":" 16:15:25.957169 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:26.132Z","priority":"6","pid":"2830187","message":" 16:15:25.957196 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:26.132Z","priority":"6","pid":"2830187","message":" 16:15:25.957223 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.132Z","priority":"6","pid":"2830187","message":" 16:15:25.957237 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:26.133Z","priority":"6","pid":"2830187","message":" 16:15:25.957334 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:26.133Z","priority":"6","pid":"2830187","message":" 16:15:25.957365 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:26.134Z","priority":"6","pid":"2830187","message":" 16:15:25.957453 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:26.134Z","priority":"6","pid":"2830187","message":" 16:15:25.957465 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:26.135Z","priority":"6","pid":"2830187","message":" 16:15:25.957481 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:26.135Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.135Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.136Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:26.136Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57116"}

data: {"time":"2026-09-19T16:15:26.136Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:26.137Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.137Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:26.137Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:26.137Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:26.138Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:26.138Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:26.138Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.139Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.139Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:26.139Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:26.356Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 leCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind14 ../src/curl -q --output log/curl14.out  --include --trace-ascii log/trace14 --trace-time http://127.0.0.1:34447/want/14 -i --head > log/stdout14 2> log/stderr14"}

data: {"time":"2026-09-19T16:15:26.591Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind15 ../src/curl -q --include --trace-ascii log/trace15 --trace-time http://127.0.0.1:34447/want/15 --write-out \"%{url_effective} %{http_code} %{size_download}\\n\" > log/stdout15 2> log/stderr15"}

data: {"time":"2026-09-19T16:15:26.594Z","priority":"6","pid":"2830187","message":"ft intact"}

data: {"time":"2026-09-19T16:15:26.594Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.595Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.595Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.595Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.595Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.596Z","priority":"6","pid":"2830187","message":" Testnum 13"}

data: {"time":"2026-09-19T16:15:26.596Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.596Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:26.596Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.597Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.597Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.597Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:26.597Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind13"}

data: {"time":"2026-09-19T16:15:26.598Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:26.598Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:26.598Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:26.599Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.599Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:26.599Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:26.600Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.600Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:26.601Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.601Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.601Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:26.602Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:26.602Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:26.603Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:26.603Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:26.604Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:26.604Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:26.604Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.604Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:26.605Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:26.605Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.605Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:26.606Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:26.606Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:26.607Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.608Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:26.608Z","priority":"6","pid":"2830187","message":"=== End of file valgrind13"}

data: {"time":"2026-09-19T16:15:26.608Z","priority":"6","pid":"2830187","message":"test 0014 [HTTP HEAD with Connection: close]"}

data: {"time":"2026-09-19T16:15:26.613Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind14 ../src/curl -q --output log/curl14.out  --include --trace-ascii log/trace14 --trace-time http://127.0.0.1:34447/want/14 -i --head > log/stdout14 2> log/stderr14"}

data: {"time":"2026-09-19T16:15:26.614Z","priority":"6","pid":"2830187","message":" 14: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:26.614Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:26.614Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:26.615Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 14"}

data: {"time":"2026-09-19T16:15:26.616Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:26.619Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind14 ../src/curl -q --output log/curl14.out  --include --trace-ascii log/trace14 --trace-time http://127.0.0.1:34447/want/14 -i --head > log/stdout14 2> log/stderr14"}

data: {"time":"2026-09-19T16:15:26.620Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:26.620Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.620Z","priority":"6","pid":"2830187","message":" 16:15:26.255452 ====> Client connect"}

data: {"time":"2026-09-19T16:15:26.620Z","priority":"6","pid":"2830187","message":" 16:15:26.255512 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:26.621Z","priority":"6","pid":"2830187","message":" 16:15:26.255732 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:26.621Z","priority":"6","pid":"2830187","message":" 16:15:26.255753 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:26.622Z","priority":"6","pid":"2830187","message":" 16:15:26.255772 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.622Z","priority":"6","pid":"2830187","message":" 16:15:26.255783 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:26.622Z","priority":"6","pid":"2830187","message":" 16:15:26.255825 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:26.623Z","priority":"6","pid":"2830187","message":" 16:15:26.255850 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:26.623Z","priority":"6","pid":"2830187","message":" 16:15:26.255916 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:26.624Z","priority":"6","pid":"2830187","message":" 16:15:26.255928 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:26.625Z","priority":"6","pid":"2830187","message":" 16:15:26.255938 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:26.625Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.625Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.625Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:26.625Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57120"}

data: {"time":"2026-09-19T16:15:26.626Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:26.626Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.626Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:26.627Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:26.627Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:26.627Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:26.627Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:26.627Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.628Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.628Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:26.628Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:26.628Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:26.629Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.629Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.629Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.630Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.630Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.630Z","priority":"6","pid":"2830187","message":" Testnum 14"}

data: {"time":"2026-09-19T16:15:26.631Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.631Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:26.631Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.631Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.631Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.632Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:26.632Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind14"}

data: {"time":"2026-09-19T16:15:26.633Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:26.633Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:26.633Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:26.634Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.634Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:26.635Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:26.635Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.636Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:26.636Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.636Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.637Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:26.637Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:26.637Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:26.638Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:26.638Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:26.639Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:26.639Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:26.639Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.640Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:26.640Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:26.640Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.641Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:26.641Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:26.642Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:26.642Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.642Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:26.643Z","priority":"6","pid":"2830187","message":"=== End of file valgrind14"}

data: {"time":"2026-09-19T16:15:26.886Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind16 ../src/curl -q --output log/curl16.out  --include --trace-ascii log/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:34447 http://we.want.that.site.com/16 > log/stdout16 2> log/stderr16"}

data: {"time":"2026-09-19T16:15:26.891Z","priority":"6","pid":"2830187","message":"test 0015 [--write-out test]"}

data: {"time":"2026-09-19T16:15:26.892Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind15 ../src/curl -q --include --trace-ascii log/trace15 --trace-time http://127.0.0.1:34447/want/15 --write-out \"%{url_effective} %{http_code} %{size_download}\\n\" > log/stdout15 2> log/stderr15"}

data: {"time":"2026-09-19T16:15:26.892Z","priority":"6","pid":"2830187","message":" 15: stdout FAILED:"}

data: {"time":"2026-09-19T16:15:26.893Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:15:26.593997221 +0000"}

data: {"time":"2026-09-19T16:15:26.893Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:15:26.592712816 +0000"}

data: {"time":"2026-09-19T16:15:26.894Z","priority":"6","pid":"2830187","message":"@@ -1,8 +0,0 @@"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"-Fake: yes[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"-Fake: yes[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"-Fake: yes[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"-Content-Length: 26[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"-Repeated nonsense-headers[LF]"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"-http://127.0.0.1:34447/want/15 200 26[LF]"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 15"}

data: {"time":"2026-09-19T16:15:26.896Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:15:26.898Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.898Z","priority":"6","pid":"2830187","message":" Fake: yes[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.898Z","priority":"6","pid":"2830187","message":" Fake: yes[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.898Z","priority":"6","pid":"2830187","message":" Fake: yes[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.898Z","priority":"6","pid":"2830187","message":" Content-Length: 26[CR][LF]"}

data: {"time":"2026-09-19T16:15:26.898Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:15:26.899Z","priority":"6","pid":"2830187","message":" Repeated nonsense-headers[LF]"}

data: {"time":"2026-09-19T16:15:26.899Z","priority":"6","pid":"2830187","message":" http://127.0.0.1:34447/want/15 200 26[LF]"}

data: {"time":"2026-09-19T16:15:26.899Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:15:26.900Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:26.903Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind15 ../src/curl -q --include --trace-ascii log/trace15 --trace-time http://127.0.0.1:34447/want/15 --write-out \"%{url_effective} %{http_code} %{size_download}\\n\" > log/stdout15 2> log/stderr15"}

data: {"time":"2026-09-19T16:15:26.903Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:26.903Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.903Z","priority":"6","pid":"2830187","message":" 16:15:26.486196 ====> Client connect"}

data: {"time":"2026-09-19T16:15:26.903Z","priority":"6","pid":"2830187","message":" 16:15:26.486249 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:26.904Z","priority":"6","pid":"2830187","message":" 16:15:26.486572 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:26.904Z","priority":"6","pid":"2830187","message":" 16:15:26.486596 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:26.904Z","priority":"6","pid":"2830187","message":" 16:15:26.486613 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.905Z","priority":"6","pid":"2830187","message":" 16:15:26.486624 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:26.905Z","priority":"6","pid":"2830187","message":" 16:15:26.486668 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:26.906Z","priority":"6","pid":"2830187","message":" 16:15:26.486691 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:26.906Z","priority":"6","pid":"2830187","message":" 16:15:26.486800 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:26.907Z","priority":"6","pid":"2830187","message":" 16:15:26.486822 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:26.907Z","priority":"6","pid":"2830187","message":" 16:15:26.486832 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:26.907Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.908Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.908Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:26.908Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 57128"}

data: {"time":"2026-09-19T16:15:26.909Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:26.909Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.909Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:26.910Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:26.910Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:26.910Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:26.910Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:26.910Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.911Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.911Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:26.911Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:26.911Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:26.912Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.912Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.912Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.913Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.913Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.913Z","priority":"6","pid":"2830187","message":" Testnum 15"}

data: {"time":"2026-09-19T16:15:26.913Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.913Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:26.914Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.914Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.914Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.915Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:26.915Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind15"}

data: {"time":"2026-09-19T16:15:26.916Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:26.916Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:26.916Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:26.916Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.916Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:26.917Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:26.917Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.918Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:26.918Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.918Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.919Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:26.919Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:26.920Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:26.920Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:26.920Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:26.921Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:26.921Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:26.921Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.922Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:26.922Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:26.922Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.923Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:26.923Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:26.924Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:26.924Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.924Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:26.925Z","priority":"6","pid":"2830187","message":"=== End of file valgrind15"}

data: {"time":"2026-09-19T16:15:26.925Z","priority":"6","pid":"2830187","message":"test 0016 [HTTP with proxy authorization]"}

data: {"time":"2026-09-19T16:15:26.928Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind16 ../src/curl -q --output log/curl16.out  --include --trace-ascii log/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:34447 http://we.want.that.site.com/16 > log/stdout16 2> log/stderr16"}

data: {"time":"2026-09-19T16:15:26.928Z","priority":"6","pid":"2830187","message":" 16: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:26.928Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:26.929Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:26.929Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 16"}

data: {"time":"2026-09-19T16:15:26.929Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:26.931Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind16 ../src/curl -q --output log/curl16.out  --include --trace-ascii log/trace16 --trace-time -U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x 127.0.0.1:34447 http://we.want.that.site.com/16 > log/stdout16 2> log/stderr16"}

data: {"time":"2026-09-19T16:15:26.932Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:26.932Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.932Z","priority":"6","pid":"2830187","message":" 16:15:26.767029 ====> Client connect"}

data: {"time":"2026-09-19T16:15:26.933Z","priority":"6","pid":"2830187","message":" 16:15:26.767089 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:26.933Z","priority":"6","pid":"2830187","message":" 16:15:26.767324 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:26.934Z","priority":"6","pid":"2830187","message":" 16:15:26.767386 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:26.934Z","priority":"6","pid":"2830187","message":" 16:15:26.767405 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.934Z","priority":"6","pid":"2830187","message":" 16:15:26.767415 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:26.935Z","priority":"6","pid":"2830187","message":" 16:15:26.767458 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:26.935Z","priority":"6","pid":"2830187","message":" 16:15:26.767480 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:26.935Z","priority":"6","pid":"2830187","message":" 16:15:26.767537 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:26.936Z","priority":"6","pid":"2830187","message":" 16:15:26.767547 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:26.936Z","priority":"6","pid":"2830187","message":" 16:15:26.767556 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:26.936Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:26.937Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.937Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:26.938Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37538"}

data: {"time":"2026-09-19T16:15:26.938Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:26.938Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:26.938Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:26.939Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:26.940Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:26.940Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:26.940Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:26.940Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.940Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.940Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:26.940Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:26.940Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:26.940Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:26.941Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.941Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.941Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:26.941Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.942Z","priority":"6","pid":"2830187","message":" Testnum 16"}

data: {"time":"2026-09-19T16:15:26.942Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:26.942Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:26.942Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:26.943Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:26.943Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:26.943Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:26.943Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind16"}

data: {"time":"2026-09-19T16:15:26.944Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:26.944Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:26.944Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:26.945Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.945Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:26.945Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:26.946Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.946Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:26.946Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:26.947Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.947Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:26.948Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:26.948Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:26.949Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:26.949Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:26.949Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:26.950Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:26.950Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:26.950Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:26.951Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:26.951Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.145Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if yoCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind17 ../src/curl -q --output log/curl17.out  --include --trace-ascii log/trace17 --trace-time -K - 127.0.0.1:34447/that.site.com/17 <log/stdin-for-17 > log/stdout17 2> log/stderr17"}

data: {"time":"2026-09-19T16:15:27.380Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind18 ../src/curl -q --include --trace-ascii log/trace18 --trace-time \"127.0.0.1:34447/{18,180002,180003}\" > log/stdout18 2> log/stderr18"}

data: {"time":"2026-09-19T16:15:27.383Z","priority":"6","pid":"2830187","message":"u are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:27.384Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:27.384Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:27.384Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.385Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:27.385Z","priority":"6","pid":"2830187","message":"=== End of file valgrind16"}

data: {"time":"2026-09-19T16:15:27.386Z","priority":"6","pid":"2830187","message":"test 0017 [HTTP with config file on stdin]"}

data: {"time":"2026-09-19T16:15:27.387Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind17 ../src/curl -q --output log/curl17.out  --include --trace-ascii log/trace17 --trace-time -K - 127.0.0.1:34447/that.site.com/17 <log/stdin-for-17 > log/stdout17 2> log/stderr17"}

data: {"time":"2026-09-19T16:15:27.388Z","priority":"6","pid":"2830187","message":" 17: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:27.388Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:27.389Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:27.389Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 17"}

data: {"time":"2026-09-19T16:15:27.389Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:27.391Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind17 ../src/curl -q --output log/curl17.out  --include --trace-ascii log/trace17 --trace-time -K - 127.0.0.1:34447/that.site.com/17 <log/stdin-for-17 > log/stdout17 2> log/stderr17"}

data: {"time":"2026-09-19T16:15:27.391Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:27.391Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:27.392Z","priority":"6","pid":"2830187","message":" 16:15:27.064220 ====> Client connect"}

data: {"time":"2026-09-19T16:15:27.392Z","priority":"6","pid":"2830187","message":" 16:15:27.064318 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:27.392Z","priority":"6","pid":"2830187","message":" 16:15:27.064656 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:27.393Z","priority":"6","pid":"2830187","message":" 16:15:27.064688 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:27.398Z","priority":"6","pid":"2830187","message":" 16:15:27.064706 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:27.398Z","priority":"6","pid":"2830187","message":" 16:15:27.064717 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:27.398Z","priority":"6","pid":"2830187","message":" 16:15:27.064773 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:27.398Z","priority":"6","pid":"2830187","message":" 16:15:27.064811 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:27.398Z","priority":"6","pid":"2830187","message":" 16:15:27.064923 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:27.398Z","priority":"6","pid":"2830187","message":" 16:15:27.064936 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:27.398Z","priority":"6","pid":"2830187","message":" 16:15:27.064946 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:27.398Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:27.400Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:27.400Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:27.400Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37548"}

data: {"time":"2026-09-19T16:15:27.402Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:27.402Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:27.402Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:27.403Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:27.403Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:27.404Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:27.406Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:27.406Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:27.406Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:27.406Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:27.406Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:27.406Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:27.406Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:27.407Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:27.407Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:27.407Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:27.408Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:27.408Z","priority":"6","pid":"2830187","message":" Testnum 17"}

data: {"time":"2026-09-19T16:15:27.408Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:27.409Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:27.409Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:27.409Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:27.410Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:27.411Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:27.411Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-17"}

data: {"time":"2026-09-19T16:15:27.412Z","priority":"6","pid":"2830187","message":" # Use a silly request without '--':"}

data: {"time":"2026-09-19T16:15:27.412Z","priority":"6","pid":"2830187","message":" request MOOO"}

data: {"time":"2026-09-19T16:15:27.412Z","priority":"6","pid":"2830187","message":" # Set the user-agent using a short-option:"}

data: {"time":"2026-09-19T16:15:27.412Z","priority":"6","pid":"2830187","message":" -A \"agent007 license to drill\\t\""}

data: {"time":"2026-09-19T16:15:27.412Z","priority":"6","pid":"2830187","message":" # long option *with* '--':"}

data: {"time":"2026-09-19T16:15:27.413Z","priority":"6","pid":"2830187","message":" --max-time 180"}

data: {"time":"2026-09-19T16:15:27.413Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-17"}

data: {"time":"2026-09-19T16:15:27.413Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind17"}

data: {"time":"2026-09-19T16:15:27.414Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:27.414Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:27.415Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:27.415Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.415Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:27.416Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:27.416Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:27.416Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:27.417Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:27.417Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.418Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:27.418Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:27.419Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:27.419Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:27.420Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:27.420Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:27.421Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:27.421Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.421Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:27.421Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:27.422Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.422Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:27.423Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:27.423Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:27.423Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.424Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:27.424Z","priority":"6","pid":"2830187","message":"=== End of file valgrind17"}

data: {"time":"2026-09-19T16:15:27.592Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind19 ../src/curl -q --output log/curl19.out  --include --trace-ascii log/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/stdout19 2> log/stderr19"}

data: {"time":"2026-09-19T16:15:27.759Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind20 ../src/curl -q --output log/curl20.out  --include --trace-ascii log/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/stdout20 2> log/stderr20"}

data: {"time":"2026-09-19T16:15:27.769Z","priority":"6","pid":"2830187","message":"test 0018 [multiple requests using {} in URL]"}

data: {"time":"2026-09-19T16:15:27.771Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind18 ../src/curl -q --include --trace-ascii log/trace18 --trace-time \"127.0.0.1:34447/{18,180002,180003}\" > log/stdout18 2> log/stderr18"}

data: {"time":"2026-09-19T16:15:27.771Z","priority":"6","pid":"2830187","message":" 18: stdout FAILED:"}

data: {"time":"2026-09-19T16:15:27.772Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:15:27.383014190 +0000"}

data: {"time":"2026-09-19T16:15:27.772Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:15:27.381750291 +0000"}

data: {"time":"2026-09-19T16:15:27.772Z","priority":"6","pid":"2830187","message":"@@ -1,15 +0,0 @@"}

data: {"time":"2026-09-19T16:15:27.773Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.773Z","priority":"6","pid":"2830187","message":"-Funny-head: yesyes[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.773Z","priority":"6","pid":"2830187","message":"-Content-Length: 4[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.774Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.774Z","priority":"6","pid":"2830187","message":"-moo[LF]"}

data: {"time":"2026-09-19T16:15:27.774Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.774Z","priority":"6","pid":"2830187","message":"-Funny-head: yesyes[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.775Z","priority":"6","pid":"2830187","message":"-Content-Length: 4[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.775Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.775Z","priority":"6","pid":"2830187","message":"-foo[LF]"}

data: {"time":"2026-09-19T16:15:27.776Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.776Z","priority":"6","pid":"2830187","message":"-Funny-head: yesyes[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.776Z","priority":"6","pid":"2830187","message":"-Content-Length: 4[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.776Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.777Z","priority":"6","pid":"2830187","message":"-hoo[LF]"}

data: {"time":"2026-09-19T16:15:27.777Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 18"}

data: {"time":"2026-09-19T16:15:27.778Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:15:27.778Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.778Z","priority":"6","pid":"2830187","message":" Funny-head: yesyes[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.778Z","priority":"6","pid":"2830187","message":" Content-Length: 4[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.778Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:15:27.779Z","priority":"6","pid":"2830187","message":" moo[LF]"}

data: {"time":"2026-09-19T16:15:27.779Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.780Z","priority":"6","pid":"2830187","message":" Funny-head: yesyes[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.780Z","priority":"6","pid":"2830187","message":" Content-Length: 4[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.780Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:15:27.780Z","priority":"6","pid":"2830187","message":" foo[LF]"}

data: {"time":"2026-09-19T16:15:27.780Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.781Z","priority":"6","pid":"2830187","message":" Funny-head: yesyes[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.781Z","priority":"6","pid":"2830187","message":" Content-Length: 4[CR][LF]"}

data: {"time":"2026-09-19T16:15:27.781Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:15:27.781Z","priority":"6","pid":"2830187","message":" hoo[LF]"}

data: {"time":"2026-09-19T16:15:27.782Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:15:27.782Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:27.783Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind18 ../src/curl -q --include --trace-ascii log/trace18 --trace-time \"127.0.0.1:34447/{18,180002,180003}\" > log/stdout18 2> log/stderr18"}

data: {"time":"2026-09-19T16:15:27.784Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:27.784Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:27.784Z","priority":"6","pid":"2830187","message":" 16:15:27.273055 ====> Client connect"}

data: {"time":"2026-09-19T16:15:27.785Z","priority":"6","pid":"2830187","message":" 16:15:27.273116 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:27.785Z","priority":"6","pid":"2830187","message":" 16:15:27.273154 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:27.785Z","priority":"6","pid":"2830187","message":" 16:15:27.273167 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:27.786Z","priority":"6","pid":"2830187","message":" 16:15:27.273185 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:27.786Z","priority":"6","pid":"2830187","message":" 16:15:27.273196 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:27.786Z","priority":"6","pid":"2830187","message":" 16:15:27.273338 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:27.786Z","priority":"6","pid":"2830187","message":" 16:15:27.273372 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:27.787Z","priority":"6","pid":"2830187","message":" 16:15:27.273480 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" 16:15:27.273494 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" 16:15:27.273503 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37564"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" Testnum 18"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind18"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:27.794Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.797Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:27.797Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:27.797Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:27.798Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:27.798Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:27.798Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.798Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:27.799Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:27.799Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:27.800Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:27.800Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:27.801Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:27.801Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:27.802Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.802Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:27.802Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:27.802Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.802Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:27.803Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:27.803Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:27.804Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.804Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:27.804Z","priority":"6","pid":"2830187","message":"=== End of file valgrind18"}

data: {"time":"2026-09-19T16:15:27.805Z","priority":"6","pid":"2830187","message":"test 0019 [attempt connect to non-listening socket]"}

data: {"time":"2026-09-19T16:15:27.806Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind19 ../src/curl -q --output log/curl19.out  --include --trace-ascii log/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/stdout19 2> log/stderr19"}

data: {"time":"2026-09-19T16:15:27.807Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 7"}

data: {"time":"2026-09-19T16:15:27.807Z","priority":"6","pid":"2830187","message":" 19: exit FAILED"}

data: {"time":"2026-09-19T16:15:27.808Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 19"}

data: {"time":"2026-09-19T16:15:27.808Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:27.810Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind19 ../src/curl -q --output log/curl19.out  --include --trace-ascii log/trace19 --trace-time --trace-config all 127.0.0.1:47 > log/stdout19 2> log/stderr19"}

data: {"time":"2026-09-19T16:15:27.811Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:27.811Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:27.811Z","priority":"6","pid":"2830187","message":" Testnum 19"}

data: {"time":"2026-09-19T16:15:27.811Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:27.811Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind19"}

data: {"time":"2026-09-19T16:15:27.811Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:27.812Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:27.813Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:27.813Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.813Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:27.814Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:27.814Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:27.814Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:27.815Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:27.815Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.816Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:27.816Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:27.817Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:27.817Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:27.818Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:27.818Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:27.819Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:27.819Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.819Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:27.820Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:27.821Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.821Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:27.821Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:27.821Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:27.822Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.822Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:27.823Z","priority":"6","pid":"2830187","message":"=== End of file valgrind19"}

data: {"time":"2026-09-19T16:15:27.824Z","priority":"6","pid":"2830187","message":"test 0020 [attempt connect to non-existing hostname]"}

data: {"time":"2026-09-19T16:15:27.824Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind20 ../src/curl -q --output log/curl20.out  --include --trace-ascii log/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/stdout20 2> log/stderr20"}

data: {"time":"2026-09-19T16:15:27.825Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 6"}

data: {"time":"2026-09-19T16:15:27.825Z","priority":"6","pid":"2830187","message":" 20: exit FAILED"}

data: {"time":"2026-09-19T16:15:27.826Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 20"}

data: {"time":"2026-09-19T16:15:27.826Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:27.827Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind20 ../src/curl -q --output log/curl20.out  --include --trace-ascii log/trace20 --trace-time --ipv4 non-existing-host.haxx.se. > log/stdout20 2> log/stderr20"}

data: {"time":"2026-09-19T16:15:27.828Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:27.828Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:27.828Z","priority":"6","pid":"2830187","message":" Testnum 20"}

data: {"time":"2026-09-19T16:15:27.828Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:27.829Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind20"}

data: {"time":"2026-09-19T16:15:27.830Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:27.830Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:27.830Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:27.830Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:27.831Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:27.831Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:27.832Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:28.048Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processingCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind21 ../src/curl -q --output log/curl21.out  --include --trace-ascii log/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/stdout21 2> log/stderr21"}

data: {"time":"2026-09-19T16:15:28.317Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind22 ../src/curl -q --output log/curl22.out  --include --trace-ascii log/trace22 --trace-time 127.0.0.1:34447/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/stdout22 2> log/stderr22"}

data: {"time":"2026-09-19T16:15:28.323Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:28.323Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.324Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:28.324Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:28.325Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:28.325Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:28.326Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:28.326Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:28.326Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:28.326Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.327Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:28.327Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:28.328Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.328Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:28.328Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:28.329Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:28.329Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.329Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:28.330Z","priority":"6","pid":"2830187","message":"=== End of file valgrind20"}

data: {"time":"2026-09-19T16:15:28.331Z","priority":"6","pid":"2830187","message":"test 0021 [use curl with multiple request methods]"}

data: {"time":"2026-09-19T16:15:28.331Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind21 ../src/curl -q --output log/curl21.out  --include --trace-ascii log/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/stdout21 2> log/stderr21"}

data: {"time":"2026-09-19T16:15:28.332Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 2"}

data: {"time":"2026-09-19T16:15:28.332Z","priority":"6","pid":"2830187","message":" 21: exit FAILED"}

data: {"time":"2026-09-19T16:15:28.332Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 21"}

data: {"time":"2026-09-19T16:15:28.333Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:28.335Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind21 ../src/curl -q --output log/curl21.out  --include --trace-ascii log/trace21 --trace-time -I -d FOOO -F moo=moo localhost > log/stdout21 2> log/stderr21"}

data: {"time":"2026-09-19T16:15:28.335Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:28.335Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:28.335Z","priority":"6","pid":"2830187","message":" 16:15:27.945943 ====> Client connect"}

data: {"time":"2026-09-19T16:15:28.335Z","priority":"6","pid":"2830187","message":" 16:15:27.945998 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:28.335Z","priority":"6","pid":"2830187","message":" 16:15:27.946140 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:28.335Z","priority":"6","pid":"2830187","message":" 16:15:27.946155 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:28.336Z","priority":"6","pid":"2830187","message":" 16:15:27.946171 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:28.336Z","priority":"6","pid":"2830187","message":" 16:15:27.946181 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:28.337Z","priority":"6","pid":"2830187","message":" 16:15:27.946248 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:28.337Z","priority":"6","pid":"2830187","message":" 16:15:27.946269 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:28.338Z","priority":"6","pid":"2830187","message":" 16:15:27.946323 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:28.338Z","priority":"6","pid":"2830187","message":" 16:15:27.946333 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:28.338Z","priority":"6","pid":"2830187","message":" 16:15:27.946343 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:28.339Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:28.339Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:28.339Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:28.340Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37566"}

data: {"time":"2026-09-19T16:15:28.340Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:28.340Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:28.340Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:28.340Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:28.341Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:28.341Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:28.341Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:28.342Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:28.342Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:28.342Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:28.342Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:28.342Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:28.342Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:28.343Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:28.343Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:28.343Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:28.344Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:28.344Z","priority":"6","pid":"2830187","message":" Testnum 21"}

data: {"time":"2026-09-19T16:15:28.344Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:28.344Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:28.344Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:28.345Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:28.345Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:28.345Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:28.345Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind21"}

data: {"time":"2026-09-19T16:15:28.346Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:28.346Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:28.346Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:28.347Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.347Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:28.347Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:28.348Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:28.348Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:28.348Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:28.349Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.349Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:28.350Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:28.350Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:28.351Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:28.351Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:28.351Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:28.352Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:28.352Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.352Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:28.353Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:28.353Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.354Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:28.354Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:28.354Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:28.354Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.354Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:28.355Z","priority":"6","pid":"2830187","message":"=== End of file valgrind21"}

data: {"time":"2026-09-19T16:15:28.356Z","priority":"6","pid":"2830187","message":"test 0022 [get HTTP with URL > 10000 bytes]"}

data: {"time":"2026-09-19T16:15:28.396Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind22 ../src/curl -q --output log/curl22.out  --include --trace-ascii log/trace22 --trace-time 127.0.0.1:34447/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/stdout22 2> log/stderr22"}

data: {"time":"2026-09-19T16:15:28.397Z","priority":"6","pid":"2830187","message":" 22: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:28.398Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:28.398Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:28.398Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 22"}

data: {"time":"2026-09-19T16:15:28.399Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:28.636Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind22 ../src/curl -q --output log/curl22.out  --include --trace-ascii log/trace22 --trace-time 127.0.0.1:34447/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind23 ../src/curl -q --output log/curl23.out  --include --trace-ascii log/trace23 --trace-time htfp://127.0.0.1:34447/none.htfml > log/stdout23 2> log/stderr23"}

data: {"time":"2026-09-19T16:15:28.652Z","priority":"6","pid":"2830187","message":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/stdout22 2> log/stderr22"}

data: {"time":"2026-09-19T16:15:28.653Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:28.653Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:28.653Z","priority":"6","pid":"2830187","message":" 16:15:28.176295 ====> Client connect"}

data: {"time":"2026-09-19T16:15:28.654Z","priority":"6","pid":"2830187","message":" 16:15:28.176338 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:28.654Z","priority":"6","pid":"2830187","message":" 16:15:28.176596 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:28.654Z","priority":"6","pid":"2830187","message":" 16:15:28.176616 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:28.655Z","priority":"6","pid":"2830187","message":" 16:15:28.176631 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:28.655Z","priority":"6","pid":"2830187","message":" 16:15:28.176641 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:28.656Z","priority":"6","pid":"2830187","message":" 16:15:28.176676 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:28.656Z","priority":"6","pid":"2830187","message":" 16:15:28.176697 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:28.657Z","priority":"6","pid":"2830187","message":" 16:15:28.176766 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:28.657Z","priority":"6","pid":"2830187","message":" 16:15:28.176777 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:28.658Z","priority":"6","pid":"2830187","message":" 16:15:28.176786 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:28.658Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:28.658Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:28.659Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:28.659Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37574"}

data: {"time":"2026-09-19T16:15:28.660Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:28.660Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:28.661Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:28.661Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:28.661Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:28.661Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:28.661Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:28.661Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:28.662Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:28.662Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:28.662Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:28.663Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:28.663Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:28.663Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:28.664Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:28.664Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:28.665Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:28.665Z","priority":"6","pid":"2830187","message":" Testnum 22"}

data: {"time":"2026-09-19T16:15:28.665Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:28.665Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:28.665Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:28.665Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:28.666Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:28.666Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:28.666Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind22"}

data: {"time":"2026-09-19T16:15:28.667Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:28.667Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:28.668Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:28.668Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.668Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:28.669Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:28.669Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:28.670Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:28.670Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:28.670Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.671Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:28.672Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:28.672Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:28.673Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:28.673Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:28.674Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:28.674Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:28.674Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.675Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:28.675Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:28.676Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.676Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:28.676Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:28.677Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:28.677Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:28.677Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:28.678Z","priority":"6","pid":"2830187","message":"=== End of file valgrind22"}

data: {"time":"2026-09-19T16:15:28.679Z","priority":"6","pid":"2830187","message":"test 0023 [unsupported protocol:// URL]"}

data: {"time":"2026-09-19T16:15:28.680Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind23 ../src/curl -q --output log/curl23.out  --include --trace-ascii log/trace23 --trace-time htfp://127.0.0.1:34447/none.htfml > log/stdout23 2> log/stderr23"}

data: {"time":"2026-09-19T16:15:28.680Z","priority":"6","pid":"2830187","message":" valgrind ERROR"}

data: {"time":"2026-09-19T16:15:28.681Z","priority":"6","pid":"2830187","message":"valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:28.681Z","priority":"6","pid":"2830187","message":"valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:28.682Z","priority":"6","pid":"2830187","message":"valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:28.682Z","priority":"6","pid":"2830187","message":"valgrind:"}

data: {"time":"2026-09-19T16:15:28.682Z","priority":"6","pid":"2830187","message":"valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:28.683Z","priority":"6","pid":"2830187","message":"valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:28.683Z","priority":"6","pid":"2830187","message":"valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:28.683Z","priority":"6","pid":"2830187","message":"valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:28.684Z","priority":"6","pid":"2830187","message":"valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:28.684Z","priority":"6","pid":"2830187","message":"valgrind:"}

data: {"time":"2026-09-19T16:15:28.685Z","priority":"6","pid":"2830187","message":"valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:28.685Z","priority":"6","pid":"2830187","message":"valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:28.686Z","priority":"6","pid":"2830187","message":"valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:28.686Z","priority":"6","pid":"2830187","message":"valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:28.687Z","priority":"6","pid":"2830187","message":"valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:28.687Z","priority":"6","pid":"2830187","message":"valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:28.688Z","priority":"6","pid":"2830187","message":"valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:28.688Z","priority":"6","pid":"2830187","message":"valgrind:"}

data: {"time":"2026-09-19T16:15:28.688Z","priority":"6","pid":"2830187","message":"valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:28.689Z","priority":"6","pid":"2830187","message":"valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:28.689Z","priority":"6","pid":"2830187","message":"valgrind:"}

data: {"time":"2026-09-19T16:15:28.689Z","priority":"6","pid":"2830187","message":"valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:28.690Z","priority":"6","pid":"2830187","message":"valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:28.690Z","priority":"6","pid":"2830187","message":"valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:28.690Z","priority":"6","pid":"2830187","message":"valgrind:"}

data: {"time":"2026-09-19T16:15:28.691Z","priority":"6","pid":"2830187","message":"valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:28.691Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 23"}

data: {"time":"2026-09-19T16:15:28.691Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:28.693Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind23 ../src/curl -q --output log/curl23.out  --include --trace-ascii log/trace23 --trace-time htfp://127.0.0.1:34447/none.htfml > log/stdout23 2> log/stderr23"}

data: {"time":"2026-09-19T16:15:28.693Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:28.694Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:28.694Z","priority":"6","pid":"2830187","message":" 16:15:28.539211 ====> Client connect"}

data: {"time":"2026-09-19T16:15:28.694Z","priority":"6","pid":"2830187","message":" 16:15:28.539256 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:28.694Z","priority":"6","pid":"2830187","message":" 16:15:28.539420 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:28.946Z","priority":"6","pid":"2830187","message":" 16:15:28.539449 Process 93 bytesCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind24 ../src/curl -q --output log/curl24.out  --include --trace-ascii log/trace24 --trace-time http://127.0.0.1:34447/24 --fail --silent --show-error > log/stdout24 2> log/stderr24"}

data: {"time":"2026-09-19T16:15:29.200Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind25 ../src/curl -q --output log/curl25.out  --include --trace-ascii log/trace25 --trace-time http://127.0.0.1:34447/want/25 -L --max-redirs 5 > log/stdout25 2> log/stderr25"}

data: {"time":"2026-09-19T16:15:29.207Z","priority":"6","pid":"2830187","message":" request"}

data: {"time":"2026-09-19T16:15:29.207Z","priority":"6","pid":"2830187","message":" 16:15:28.539468 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.207Z","priority":"6","pid":"2830187","message":" 16:15:28.539478 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:29.207Z","priority":"6","pid":"2830187","message":" 16:15:28.539517 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:29.208Z","priority":"6","pid":"2830187","message":" 16:15:28.539539 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:29.209Z","priority":"6","pid":"2830187","message":" 16:15:28.539593 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:29.209Z","priority":"6","pid":"2830187","message":" 16:15:28.539604 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:29.209Z","priority":"6","pid":"2830187","message":" 16:15:28.539613 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:29.209Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:29.210Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.210Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:29.210Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37578"}

data: {"time":"2026-09-19T16:15:29.211Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:29.211Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.212Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:29.212Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:29.212Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:29.212Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:29.212Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:29.212Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.212Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.212Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:29.213Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:29.213Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:29.213Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.213Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.213Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.214Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.214Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.214Z","priority":"6","pid":"2830187","message":" Testnum 23"}

data: {"time":"2026-09-19T16:15:29.214Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.214Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:29.215Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.215Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.215Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.215Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:29.216Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind23"}

data: {"time":"2026-09-19T16:15:29.217Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:29.217Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:29.217Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:29.217Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.218Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:29.218Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:29.218Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:29.219Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:29.219Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:29.219Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.220Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:29.220Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:29.221Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:29.221Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:29.221Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:29.222Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:29.222Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:29.222Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.223Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:29.223Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:29.224Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.224Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:29.224Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:29.225Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:29.225Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.226Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:29.226Z","priority":"6","pid":"2830187","message":"=== End of file valgrind23"}

data: {"time":"2026-09-19T16:15:29.226Z","priority":"6","pid":"2830187","message":"test 0024 [HTTP GET fail silently on HTTP error return]"}

data: {"time":"2026-09-19T16:15:29.228Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind24 ../src/curl -q --output log/curl24.out  --include --trace-ascii log/trace24 --trace-time http://127.0.0.1:34447/24 --fail --silent --show-error > log/stdout24 2> log/stderr24"}

data: {"time":"2026-09-19T16:15:29.229Z","priority":"6","pid":"2830187","message":" 24: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:29.229Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:29.229Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:29.229Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 24"}

data: {"time":"2026-09-19T16:15:29.229Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:29.231Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind24 ../src/curl -q --output log/curl24.out  --include --trace-ascii log/trace24 --trace-time http://127.0.0.1:34447/24 --fail --silent --show-error > log/stdout24 2> log/stderr24"}

data: {"time":"2026-09-19T16:15:29.232Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:29.232Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:29.232Z","priority":"6","pid":"2830187","message":" 16:15:28.808064 ====> Client connect"}

data: {"time":"2026-09-19T16:15:29.232Z","priority":"6","pid":"2830187","message":" 16:15:28.808119 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:29.232Z","priority":"6","pid":"2830187","message":" 16:15:28.808336 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:29.233Z","priority":"6","pid":"2830187","message":" 16:15:28.808360 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:29.233Z","priority":"6","pid":"2830187","message":" 16:15:28.808377 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.234Z","priority":"6","pid":"2830187","message":" 16:15:28.808388 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:29.234Z","priority":"6","pid":"2830187","message":" 16:15:28.808456 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:29.234Z","priority":"6","pid":"2830187","message":" 16:15:28.808486 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:29.235Z","priority":"6","pid":"2830187","message":" 16:15:28.808558 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:29.235Z","priority":"6","pid":"2830187","message":" 16:15:28.808572 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:29.236Z","priority":"6","pid":"2830187","message":" 16:15:28.808584 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:29.236Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:29.236Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.237Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:29.237Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37594"}

data: {"time":"2026-09-19T16:15:29.238Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:29.238Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.238Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:29.239Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:29.240Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:29.240Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:29.240Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:29.240Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.240Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.240Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:29.240Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:29.240Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:29.241Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.242Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.242Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.242Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.242Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.242Z","priority":"6","pid":"2830187","message":" Testnum 24"}

data: {"time":"2026-09-19T16:15:29.242Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.242Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:29.243Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.243Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.243Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.243Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:29.243Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind24"}

data: {"time":"2026-09-19T16:15:29.244Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:29.244Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:29.245Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:29.245Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.245Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:29.246Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:29.246Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:29.246Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:29.247Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:29.247Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.248Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:29.248Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:29.249Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:29.249Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:29.250Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:29.250Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:29.251Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:29.251Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.251Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:29.252Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:29.252Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.252Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:29.253Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:29.253Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:29.253Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.254Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:29.254Z","priority":"6","pid":"2830187","message":"=== End of file valgrind24"}

data: {"time":"2026-09-19T16:15:29.254Z","priority":"6","pid":"2830187","message":"test 0025 [looping HTTP Location: following with --max-redirs]"}

data: {"time":"2026-09-19T16:15:29.256Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind25 ../src/curl -q --output log/curl25.out  --include --trace-ascii log/trace25 --trace-time http://127.0.0.1:34447/want/25 -L --max-redirs 5 > log/stdout25 2> log/stderr25"}

data: {"time":"2026-09-19T16:15:29.256Z","priority":"6","pid":"2830187","message":" 25: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:29.257Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:29.257Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:29.257Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 25"}

data: {"time":"2026-09-19T16:15:29.258Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:29.259Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind25 ../src/curl -q --output log/curl25.out  --include --trace-ascii log/trace25 --trace-time http://127.0.0.1:34447/want/25 -L --max-redirs 5 > log/stdout25 2> log/stderr25"}

data: {"time":"2026-09-19T16:15:29.260Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:29.260Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:29.260Z","priority":"6","pid":"2830187","message":" 16:15:29.068768 ====> Client connect"}

data: {"time":"2026-09-19T16:15:29.261Z","priority":"6","pid":"2830187","message":" 16:15:29.068822 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:29.261Z","priority":"6","pid":"2830187","message":" 16:15:29.068999 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:29.261Z","priority":"6","pid":"2830187","message":" 16:15:29.069039 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:29.262Z","priority":"6","pid":"2830187","message":" 16:15:29.069058 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.262Z","priority":"6","pid":"2830187","message":" 16:15:29.069071 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:29.263Z","priority":"6","pid":"2830187","message":" 16:15:29.069121 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:29.263Z","priority":"6","pid":"2830187","message":" 16:15:29.069193 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:29.263Z","priority":"6","pid":"2830187","message":" 16:15:29.069273 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:29.264Z","priority":"6","pid":"2830187","message":" 16:15:29.069285 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:29.264Z","priority":"6","pid":"2830187","message":" 16:15:29.069294 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:29.265Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:29.265Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.265Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:29.478Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind26 ../src/curl -q --output log/curl26.out  --include --trace-ascii log/trace26 --trace-time http://127.0.0.1:34447/want/26 -o - -o - > log/stdout26 2> log/stderr26"}

data: {"time":"2026-09-19T16:15:29.716Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind27 ../src/curl -q --output log/curl27.out  --include --trace-ascii log/trace27 --trace-time \"http://127.0.0.1:34447/want/{27,27,27}\" -b none > log/stdout27 2> log/stderr27"}

data: {"time":"2026-09-19T16:15:29.721Z","priority":"6","pid":"2830187","message":"0.1 port 37608"}

data: {"time":"2026-09-19T16:15:29.721Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:29.721Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.722Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:29.722Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:29.722Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:29.722Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:29.722Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:29.723Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.723Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.723Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:29.723Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:29.723Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:29.724Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.724Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.725Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.725Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.725Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.725Z","priority":"6","pid":"2830187","message":" Testnum 25"}

data: {"time":"2026-09-19T16:15:29.725Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.726Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:29.726Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.726Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.726Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.726Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:29.727Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind25"}

data: {"time":"2026-09-19T16:15:29.727Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:29.728Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:29.728Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:29.728Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.730Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:29.730Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:29.730Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:29.731Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:29.733Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:29.733Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.734Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:29.735Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:29.736Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:29.736Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:29.737Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:29.737Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:29.738Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:29.738Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.738Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:29.740Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:29.740Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.740Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:29.741Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:29.741Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:29.741Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.742Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:29.742Z","priority":"6","pid":"2830187","message":"=== End of file valgrind25"}

data: {"time":"2026-09-19T16:15:29.743Z","priority":"6","pid":"2830187","message":"test 0026 [specify more -o than URLs]"}

data: {"time":"2026-09-19T16:15:29.744Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind26 ../src/curl -q --output log/curl26.out  --include --trace-ascii log/trace26 --trace-time http://127.0.0.1:34447/want/26 -o - -o - > log/stdout26 2> log/stderr26"}

data: {"time":"2026-09-19T16:15:29.745Z","priority":"6","pid":"2830187","message":" 26: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:29.745Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:29.746Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:29.746Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 26"}

data: {"time":"2026-09-19T16:15:29.746Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:29.748Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind26 ../src/curl -q --output log/curl26.out  --include --trace-ascii log/trace26 --trace-time http://127.0.0.1:34447/want/26 -o - -o - > log/stdout26 2> log/stderr26"}

data: {"time":"2026-09-19T16:15:29.749Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:29.749Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:29.749Z","priority":"6","pid":"2830187","message":" 16:15:29.377824 ====> Client connect"}

data: {"time":"2026-09-19T16:15:29.750Z","priority":"6","pid":"2830187","message":" 16:15:29.377872 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:29.750Z","priority":"6","pid":"2830187","message":" 16:15:29.378089 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:29.750Z","priority":"6","pid":"2830187","message":" 16:15:29.378115 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:29.751Z","priority":"6","pid":"2830187","message":" 16:15:29.378162 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.751Z","priority":"6","pid":"2830187","message":" 16:15:29.378181 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:29.752Z","priority":"6","pid":"2830187","message":" 16:15:29.378225 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:29.752Z","priority":"6","pid":"2830187","message":" 16:15:29.378258 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:29.753Z","priority":"6","pid":"2830187","message":" 16:15:29.378345 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:29.753Z","priority":"6","pid":"2830187","message":" 16:15:29.378357 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:29.754Z","priority":"6","pid":"2830187","message":" 16:15:29.378369 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:29.754Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:29.755Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.755Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:29.755Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37624"}

data: {"time":"2026-09-19T16:15:29.756Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:29.756Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.756Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:29.757Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:29.757Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:29.757Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:29.758Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:29.758Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.758Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.758Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:29.759Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:29.759Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:29.759Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.760Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.760Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.760Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.761Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.761Z","priority":"6","pid":"2830187","message":" Testnum 26"}

data: {"time":"2026-09-19T16:15:29.761Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.761Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:29.762Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.762Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.762Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.762Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:29.763Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind26"}

data: {"time":"2026-09-19T16:15:29.763Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:29.764Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:29.764Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:29.764Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.765Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:29.765Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:29.766Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:29.766Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:29.766Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:29.767Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.767Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:29.768Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:29.768Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:29.769Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:29.769Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:29.770Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:29.770Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:29.771Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.771Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:29.772Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:29.772Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.773Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:29.773Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:29.773Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:29.773Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:29.774Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:29.774Z","priority":"6","pid":"2830187","message":"=== End of file valgrind26"}

data: {"time":"2026-09-19T16:15:29.775Z","priority":"6","pid":"2830187","message":"test 0027 [Get same cookie page several times]"}

data: {"time":"2026-09-19T16:15:29.776Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind27 ../src/curl -q --output log/curl27.out  --include --trace-ascii log/trace27 --trace-time \"http://127.0.0.1:34447/want/{27,27,27}\" -b none > log/stdout27 2> log/stderr27"}

data: {"time":"2026-09-19T16:15:29.777Z","priority":"6","pid":"2830187","message":" 27: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:29.777Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:29.778Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:29.779Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 27"}

data: {"time":"2026-09-19T16:15:29.779Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:29.780Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind27 ../src/curl -q --output log/curl27.out  --include --trace-ascii log/trace27 --trace-time \"http://127.0.0.1:34447/want/{27,27,27}\" -b none > log/stdout27 2> log/stderr27"}

data: {"time":"2026-09-19T16:15:29.780Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:29.780Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:29.781Z","priority":"6","pid":"2830187","message":" 16:15:29.610747 ====> Client connect"}

data: {"time":"2026-09-19T16:15:29.781Z","priority":"6","pid":"2830187","message":" 16:15:29.610810 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:29.781Z","priority":"6","pid":"2830187","message":" 16:15:29.610851 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:29.782Z","priority":"6","pid":"2830187","message":" 16:15:29.610867 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:29.782Z","priority":"6","pid":"2830187","message":" 16:15:29.610895 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.783Z","priority":"6","pid":"2830187","message":" 16:15:29.610907 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:29.783Z","priority":"6","pid":"2830187","message":" 16:15:29.610951 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:29.784Z","priority":"6","pid":"2830187","message":" 16:15:29.610977 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:29.784Z","priority":"6","pid":"2830187","message":" 16:15:29.611096 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:29.784Z","priority":"6","pid":"2830187","message":" 16:15:29.611111 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:29.785Z","priority":"6","pid":"2830187","message":" 16:15:29.611966 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:29.785Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:29.786Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.786Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:29.787Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37636"}

data: {"time":"2026-09-19T16:15:29.787Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:29.788Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:29.788Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:29.788Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:29.788Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:29.788Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:29.788Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:29.789Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.789Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.789Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:29.790Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:29.790Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:29.790Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:29.791Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.791Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.791Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:29.792Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.792Z","priority":"6","pid":"2830187","message":" Testnum 27"}

data: {"time":"2026-09-19T16:15:29.792Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:29.793Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:29.793Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:29.793Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:29.793Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:29.794Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:29.794Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind27"}

data: {"time":"2026-09-19T16:15:30.023Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at staCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind28 ../src/curl -q --output log/curl28.out  --include --trace-ascii log/trace28 --trace-time http://127.0.0.1:34447/want/28 -L > log/stdout28 2> log/stderr28"}

data: {"time":"2026-09-19T16:15:30.271Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind29 ../src/curl -q --output log/curl29.out  --include --trace-ascii log/trace29 --trace-time http://127.0.0.1:34447/want/29 -m 2 > log/stdout29 2> log/stderr29"}

data: {"time":"2026-09-19T16:15:30.273Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 78760 signalled to die"}

data: {"time":"2026-09-19T16:15:30.375Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 78760 gracefully died"}

data: {"time":"2026-09-19T16:15:30.378Z","priority":"6","pid":"2830187","message":"rtup: a function redirection"}

data: {"time":"2026-09-19T16:15:30.379Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:30.379Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:30.379Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.380Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:30.380Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:30.380Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:30.381Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:30.382Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:30.382Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.382Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:30.382Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:30.383Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:30.383Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:30.384Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:30.384Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:30.385Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:30.386Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.386Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:30.386Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:30.386Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.386Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:30.387Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:30.387Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:30.387Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.388Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:30.388Z","priority":"6","pid":"2830187","message":"=== End of file valgrind27"}

data: {"time":"2026-09-19T16:15:30.389Z","priority":"6","pid":"2830187","message":"test 0028 [HTTP Location: following with extra spaces in header]"}

data: {"time":"2026-09-19T16:15:30.390Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind28 ../src/curl -q --output log/curl28.out  --include --trace-ascii log/trace28 --trace-time http://127.0.0.1:34447/want/28 -L > log/stdout28 2> log/stderr28"}

data: {"time":"2026-09-19T16:15:30.391Z","priority":"6","pid":"2830187","message":" 28: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:30.391Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:30.391Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:30.391Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 28"}

data: {"time":"2026-09-19T16:15:30.392Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:30.393Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind28 ../src/curl -q --output log/curl28.out  --include --trace-ascii log/trace28 --trace-time http://127.0.0.1:34447/want/28 -L > log/stdout28 2> log/stderr28"}

data: {"time":"2026-09-19T16:15:30.393Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:30.394Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:30.394Z","priority":"6","pid":"2830187","message":" 16:15:29.910371 ====> Client connect"}

data: {"time":"2026-09-19T16:15:30.394Z","priority":"6","pid":"2830187","message":" 16:15:29.910435 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:30.395Z","priority":"6","pid":"2830187","message":" 16:15:29.910622 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:30.395Z","priority":"6","pid":"2830187","message":" 16:15:29.910645 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:30.395Z","priority":"6","pid":"2830187","message":" 16:15:29.910663 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:30.396Z","priority":"6","pid":"2830187","message":" 16:15:29.910675 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:30.396Z","priority":"6","pid":"2830187","message":" 16:15:29.910716 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:30.397Z","priority":"6","pid":"2830187","message":" 16:15:29.910740 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:30.397Z","priority":"6","pid":"2830187","message":" 16:15:29.910802 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:30.398Z","priority":"6","pid":"2830187","message":" 16:15:29.910813 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:30.398Z","priority":"6","pid":"2830187","message":" 16:15:29.910823 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:30.399Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:30.399Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:30.400Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:30.400Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37644"}

data: {"time":"2026-09-19T16:15:30.400Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:30.400Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:30.401Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:30.401Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:30.401Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:30.401Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:30.402Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:30.402Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:30.402Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:30.402Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:30.402Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:30.403Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:30.403Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:30.403Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:30.404Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:30.404Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:30.404Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:30.404Z","priority":"6","pid":"2830187","message":" Testnum 28"}

data: {"time":"2026-09-19T16:15:30.404Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:30.405Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:30.405Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:30.405Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:30.406Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:30.407Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:30.407Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind28"}

data: {"time":"2026-09-19T16:15:30.407Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:30.407Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:30.408Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:30.408Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.408Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:30.409Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:30.409Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:30.410Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:30.410Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:30.410Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.410Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:30.411Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:30.411Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:30.412Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:30.412Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:30.413Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:30.414Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:30.414Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.414Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:30.414Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:30.415Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.415Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:30.416Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:30.416Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:30.416Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.417Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:30.417Z","priority":"6","pid":"2830187","message":"=== End of file valgrind28"}

data: {"time":"2026-09-19T16:15:30.417Z","priority":"6","pid":"2830187","message":"test 0029 [HTTP with 2 secs timeout]"}

data: {"time":"2026-09-19T16:15:30.419Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind29 ../src/curl -q --output log/curl29.out  --include --trace-ascii log/trace29 --trace-time http://127.0.0.1:34447/want/29 -m 2 > log/stdout29 2> log/stderr29"}

data: {"time":"2026-09-19T16:15:30.419Z","priority":"6","pid":"2830187","message":" 29: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:30.420Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:30.420Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:30.420Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 29"}

data: {"time":"2026-09-19T16:15:30.421Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:30.422Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind29 ../src/curl -q --output log/curl29.out  --include --trace-ascii log/trace29 --trace-time http://127.0.0.1:34447/want/29 -m 2 > log/stdout29 2> log/stderr29"}

data: {"time":"2026-09-19T16:15:30.423Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:30.423Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:30.423Z","priority":"6","pid":"2830187","message":" 16:15:30.157545 ====> Client connect"}

data: {"time":"2026-09-19T16:15:30.424Z","priority":"6","pid":"2830187","message":" 16:15:30.157605 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:30.424Z","priority":"6","pid":"2830187","message":" 16:15:30.157644 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:30.425Z","priority":"6","pid":"2830187","message":" 16:15:30.157658 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:30.425Z","priority":"6","pid":"2830187","message":" 16:15:30.157676 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:30.425Z","priority":"6","pid":"2830187","message":" 16:15:30.157688 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:30.426Z","priority":"6","pid":"2830187","message":" 16:15:30.157728 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:30.426Z","priority":"6","pid":"2830187","message":" 16:15:30.157753 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:30.427Z","priority":"6","pid":"2830187","message":" 16:15:30.157862 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:30.427Z","priority":"6","pid":"2830187","message":" 16:15:30.157911 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:30.428Z","priority":"6","pid":"2830187","message":" 16:15:30.157922 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:30.428Z","priority":"6","pid":"2830187","message":" 16:15:30.346470 signalled to die"}

data: {"time":"2026-09-19T16:15:30.429Z","priority":"6","pid":"2830187","message":" 16:15:30.346656 ========> exit message: exit_signal_handler(): triggered"}

data: {"time":"2026-09-19T16:15:30.429Z","priority":"6","pid":"2830187","message":" 16:15:30.346670 ========> IPv4 sws (port 34447 pid: 78760) exits with signal (15)"}

data: {"time":"2026-09-19T16:15:30.430Z","priority":"6","pid":"2830187","message":" 16:15:30.346683 ========> sws quits"}

data: {"time":"2026-09-19T16:15:30.430Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:30.431Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:30.431Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34447..."}

data: {"time":"2026-09-19T16:15:30.431Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34447) from 127.0.0.1 port 37654"}

data: {"time":"2026-09-19T16:15:30.431Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:30.432Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:30.432Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34447"}

data: {"time":"2026-09-19T16:15:30.432Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:30.432Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:30.433Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:30.433Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:30.433Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:30.434Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:30.434Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:30.434Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:30.435Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34447 left intact"}

data: {"time":"2026-09-19T16:15:30.435Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:30.436Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:30.436Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:30.436Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:30.436Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:30.436Z","priority":"6","pid":"2830187","message":" Testnum 29"}

data: {"time":"2026-09-19T16:15:30.437Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:30.437Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:30.437Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:30.438Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:30.438Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 78760"}

data: {"time":"2026-09-19T16:15:30.438Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:30.438Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind29"}

data: {"time":"2026-09-19T16:15:30.439Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:30.439Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:30.440Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:30.440Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:30.440Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:30.441Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:30.441Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:30.442Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:31.610Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-xCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind30 ../src/curl -q --output log/curl30.out  --include --trace-ascii log/trace30 --trace-time http://127.0.0.1:36137/want/30 > log/stdout30 2> log/stderr30"}

data: {"time":"2026-09-19T16:15:31.865Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind31 ../src/curl -q --output log/curl31.out  --include --trace-ascii log/trace31 --trace-time http://test31.curl:36137/we/want/31 -b none -c log/jar31.txt --resolve test31.curl:36137:127.0.0.1 > log/stdout31 2> log/stderr31"}

data: {"time":"2026-09-19T16:15:32.109Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind32 ../src/curl -q --output log/curl32.out  --include --trace-ascii log/trace32 --trace-time -d \"foo=moo&moo=poo\" http://127.0.0.1:36137/32 -G > log/stdout32 2> log/stderr32"}

data: {"time":"2026-09-19T16:15:32.112Z","priority":"6","pid":"2830187","message":"86-64.so.2"}

data: {"time":"2026-09-19T16:15:32.112Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.112Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:32.113Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:32.113Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:32.114Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:32.114Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:32.114Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:32.115Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:32.115Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.115Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:32.116Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:32.116Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.117Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:32.117Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:32.117Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:32.118Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.120Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:32.120Z","priority":"6","pid":"2830187","message":"=== End of file valgrind29"}

data: {"time":"2026-09-19T16:15:32.122Z","priority":"6","pid":"2830187","message":"startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile \"log/server/http_server.pid\" --logfile \"log/http_server.log\" --logdir \"log\" --portfile log/server/http_server.port --config log/server.cmd --ipv4 --port 0 --srcdir \"/build/curl/src/curl/tests\""}

data: {"time":"2026-09-19T16:15:32.123Z","priority":"6","pid":"2830187","message":"RUN: HTTP server is on PID 80616 port 36137"}

data: {"time":"2026-09-19T16:15:32.123Z","priority":"6","pid":"2830187","message":"* pid http => 80616 80616"}

data: {"time":"2026-09-19T16:15:32.126Z","priority":"6","pid":"2830187","message":"test 0030 [HTTP with no data in server reply]"}

data: {"time":"2026-09-19T16:15:32.127Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind30 ../src/curl -q --output log/curl30.out  --include --trace-ascii log/trace30 --trace-time http://127.0.0.1:36137/want/30 > log/stdout30 2> log/stderr30"}

data: {"time":"2026-09-19T16:15:32.127Z","priority":"6","pid":"2830187","message":" 30: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:32.128Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:32.129Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:32.129Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 30"}

data: {"time":"2026-09-19T16:15:32.129Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:32.132Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind30 ../src/curl -q --output log/curl30.out  --include --trace-ascii log/trace30 --trace-time http://127.0.0.1:36137/want/30 > log/stdout30 2> log/stderr30"}

data: {"time":"2026-09-19T16:15:32.132Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:32.133Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:32.134Z","priority":"6","pid":"2830187","message":" 16:15:30.565290 Running HTTP IPv4 version on port 36137"}

data: {"time":"2026-09-19T16:15:32.134Z","priority":"6","pid":"2830187","message":" 16:15:30.565450 Wrote pid 80616 to log/server/http_server.pid"}

data: {"time":"2026-09-19T16:15:32.134Z","priority":"6","pid":"2830187","message":" 16:15:30.565506 Wrote port 36137 to log/server/http_server.port"}

data: {"time":"2026-09-19T16:15:32.134Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:32.134Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:32.135Z","priority":"6","pid":"2830187","message":" Testnum 30"}

data: {"time":"2026-09-19T16:15:32.135Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:32.135Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind30"}

data: {"time":"2026-09-19T16:15:32.136Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:32.136Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:32.136Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:32.137Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.137Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:32.137Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:32.137Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:32.138Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:32.138Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:32.139Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.139Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:32.139Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:32.140Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:32.140Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:32.141Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:32.141Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:32.141Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:32.142Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.142Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:32.142Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:32.143Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.143Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:32.144Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:32.144Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:32.144Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.145Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:32.145Z","priority":"6","pid":"2830187","message":"=== End of file valgrind30"}

data: {"time":"2026-09-19T16:15:32.145Z","priority":"6","pid":"2830187","message":"setenv TZ = GMT"}

data: {"time":"2026-09-19T16:15:32.145Z","priority":"6","pid":"2830187","message":"test 0031 [HTTP with weirdly formatted cookies and cookiejar storage]"}

data: {"time":"2026-09-19T16:15:32.147Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind31 ../src/curl -q --output log/curl31.out  --include --trace-ascii log/trace31 --trace-time http://test31.curl:36137/we/want/31 -b none -c log/jar31.txt --resolve test31.curl:36137:127.0.0.1 > log/stdout31 2> log/stderr31"}

data: {"time":"2026-09-19T16:15:32.148Z","priority":"6","pid":"2830187","message":" 31: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:32.148Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:32.148Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:32.148Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 31"}

data: {"time":"2026-09-19T16:15:32.149Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:32.151Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind31 ../src/curl -q --output log/curl31.out  --include --trace-ascii log/trace31 --trace-time http://test31.curl:36137/we/want/31 -b none -c log/jar31.txt --resolve test31.curl:36137:127.0.0.1 > log/stdout31 2> log/stderr31"}

data: {"time":"2026-09-19T16:15:32.151Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:32.151Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:32.151Z","priority":"6","pid":"2830187","message":" 16:15:31.727854 ====> Client connect"}

data: {"time":"2026-09-19T16:15:32.151Z","priority":"6","pid":"2830187","message":" 16:15:31.727906 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:32.151Z","priority":"6","pid":"2830187","message":" 16:15:31.728152 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:32.152Z","priority":"6","pid":"2830187","message":" 16:15:31.728173 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:32.152Z","priority":"6","pid":"2830187","message":" 16:15:31.728207 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:32.152Z","priority":"6","pid":"2830187","message":" 16:15:31.728220 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:32.153Z","priority":"6","pid":"2830187","message":" 16:15:31.728270 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:32.153Z","priority":"6","pid":"2830187","message":" 16:15:31.728399 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:32.153Z","priority":"6","pid":"2830187","message":" 16:15:31.728517 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:32.154Z","priority":"6","pid":"2830187","message":" 16:15:31.728533 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:32.154Z","priority":"6","pid":"2830187","message":" 16:15:31.728543 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:32.154Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:32.154Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:32.155Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:32.155Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51754"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:32.156Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:32.157Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:32.157Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:32.157Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:32.157Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:32.157Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:32.158Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:32.158Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:32.158Z","priority":"6","pid":"2830187","message":" Testnum 31"}

data: {"time":"2026-09-19T16:15:32.158Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:32.158Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:32.159Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:32.159Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:32.159Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:32.159Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:32.159Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind31"}

data: {"time":"2026-09-19T16:15:32.160Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:32.160Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:32.160Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:32.160Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.160Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:32.161Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:32.161Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:32.161Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:32.162Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:32.162Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.162Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:32.163Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:32.163Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:32.163Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:32.164Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:32.164Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:32.164Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:32.164Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.165Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:32.165Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:32.165Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.166Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:32.166Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:32.166Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:32.167Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.167Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:32.167Z","priority":"6","pid":"2830187","message":"=== End of file valgrind31"}

data: {"time":"2026-09-19T16:15:32.167Z","priority":"6","pid":"2830187","message":"test 0032 [HTTP with -d and -G]"}

data: {"time":"2026-09-19T16:15:32.419Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind32 ../src/curl -q --output log/cCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind33 ../src/curl -q --output log/curl33.out  --include --trace-ascii log/trace33 --trace-time http://127.0.0.1:36137/33 -Tlog/test33.txt -C 50 > log/stdout33 2> log/stderr33"}

data: {"time":"2026-09-19T16:15:32.644Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind34 ../src/curl -q --output log/curl34.out  --include --trace-ascii log/trace34 --trace-time http://127.0.0.1:36137/34 > log/stdout34 2> log/stderr34"}

data: {"time":"2026-09-19T16:15:32.648Z","priority":"6","pid":"2830187","message":"url32.out  --include --trace-ascii log/trace32 --trace-time -d \"foo=moo&moo=poo\" http://127.0.0.1:36137/32 -G > log/stdout32 2> log/stderr32"}

data: {"time":"2026-09-19T16:15:32.649Z","priority":"6","pid":"2830187","message":" 32: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:32.649Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:32.649Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:32.650Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 32"}

data: {"time":"2026-09-19T16:15:32.650Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:32.652Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind32 ../src/curl -q --output log/curl32.out  --include --trace-ascii log/trace32 --trace-time -d \"foo=moo&moo=poo\" http://127.0.0.1:36137/32 -G > log/stdout32 2> log/stderr32"}

data: {"time":"2026-09-19T16:15:32.653Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:32.653Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:32.653Z","priority":"6","pid":"2830187","message":" 16:15:32.003317 ====> Client connect"}

data: {"time":"2026-09-19T16:15:32.653Z","priority":"6","pid":"2830187","message":" 16:15:32.003379 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:32.653Z","priority":"6","pid":"2830187","message":" 16:15:32.003586 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:32.653Z","priority":"6","pid":"2830187","message":" 16:15:32.003612 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:32.654Z","priority":"6","pid":"2830187","message":" 16:15:32.003629 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:32.654Z","priority":"6","pid":"2830187","message":" 16:15:32.003641 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:32.656Z","priority":"6","pid":"2830187","message":" 16:15:32.003699 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:32.656Z","priority":"6","pid":"2830187","message":" 16:15:32.003724 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:32.657Z","priority":"6","pid":"2830187","message":" 16:15:32.003787 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:32.658Z","priority":"6","pid":"2830187","message":" 16:15:32.003799 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:32.659Z","priority":"6","pid":"2830187","message":" 16:15:32.003808 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:32.659Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:32.660Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:32.660Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:32.662Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51764"}

data: {"time":"2026-09-19T16:15:32.662Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:32.662Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:32.662Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:32.663Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:32.663Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:32.664Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:32.664Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:32.664Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:32.666Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:32.666Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:32.666Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:32.666Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:32.668Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:32.668Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:32.668Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:32.669Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:32.670Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:32.671Z","priority":"6","pid":"2830187","message":" Testnum 32"}

data: {"time":"2026-09-19T16:15:32.671Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:32.671Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:32.671Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:32.673Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:32.673Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:32.673Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:32.675Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind32"}

data: {"time":"2026-09-19T16:15:32.675Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:32.676Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:32.676Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:32.678Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.678Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:32.679Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:32.680Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:32.680Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:32.681Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:32.682Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.683Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:32.684Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:32.685Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:32.685Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:32.686Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:32.687Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:32.687Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:32.687Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.688Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:32.688Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:32.689Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.689Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:32.690Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:32.691Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:32.691Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.691Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:32.691Z","priority":"6","pid":"2830187","message":"=== End of file valgrind32"}

data: {"time":"2026-09-19T16:15:32.691Z","priority":"6","pid":"2830187","message":"test 0033 [HTTP PUT with resume]"}

data: {"time":"2026-09-19T16:15:32.693Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind33 ../src/curl -q --output log/curl33.out  --include --trace-ascii log/trace33 --trace-time http://127.0.0.1:36137/33 -Tlog/test33.txt -C 50 > log/stdout33 2> log/stderr33"}

data: {"time":"2026-09-19T16:15:32.694Z","priority":"6","pid":"2830187","message":" 33: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:32.694Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:32.694Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:32.694Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 33"}

data: {"time":"2026-09-19T16:15:32.695Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:32.698Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind33 ../src/curl -q --output log/curl33.out  --include --trace-ascii log/trace33 --trace-time http://127.0.0.1:36137/33 -Tlog/test33.txt -C 50 > log/stdout33 2> log/stderr33"}

data: {"time":"2026-09-19T16:15:32.698Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:32.699Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:32.699Z","priority":"6","pid":"2830187","message":" 16:15:32.278152 ====> Client connect"}

data: {"time":"2026-09-19T16:15:32.699Z","priority":"6","pid":"2830187","message":" 16:15:32.278205 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:32.700Z","priority":"6","pid":"2830187","message":" 16:15:32.278402 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:32.700Z","priority":"6","pid":"2830187","message":" 16:15:32.278418 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:32.701Z","priority":"6","pid":"2830187","message":" 16:15:32.278434 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:32.701Z","priority":"6","pid":"2830187","message":" 16:15:32.278444 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:32.702Z","priority":"6","pid":"2830187","message":" 16:15:32.278477 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:32.702Z","priority":"6","pid":"2830187","message":" 16:15:32.278497 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:32.702Z","priority":"6","pid":"2830187","message":" 16:15:32.278568 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:32.703Z","priority":"6","pid":"2830187","message":" 16:15:32.278579 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:32.704Z","priority":"6","pid":"2830187","message":" 16:15:32.278588 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:32.704Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:32.704Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:32.704Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:32.705Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51774"}

data: {"time":"2026-09-19T16:15:32.705Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:32.705Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:32.706Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:32.706Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:32.706Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:32.707Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:32.707Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:32.707Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:32.708Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:32.708Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:32.708Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:32.708Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:32.709Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:32.709Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:32.709Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:32.710Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:32.710Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:32.710Z","priority":"6","pid":"2830187","message":" Testnum 33"}

data: {"time":"2026-09-19T16:15:32.711Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:32.711Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:32.711Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:32.712Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:32.712Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:32.712Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:32.712Z","priority":"6","pid":"2830187","message":"=== Start of file test33.txt"}

data: {"time":"2026-09-19T16:15:32.712Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.713Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.713Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.713Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.713Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.713Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.714Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.714Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.714Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.714Z","priority":"6","pid":"2830187","message":" 012345678"}

data: {"time":"2026-09-19T16:15:32.714Z","priority":"6","pid":"2830187","message":"=== End of file test33.txt"}

data: {"time":"2026-09-19T16:15:32.714Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind33"}

data: {"time":"2026-09-19T16:15:32.715Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:32.716Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:32.716Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:32.716Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.716Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:32.717Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:32.717Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:32.718Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:32.718Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:32.719Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.719Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:32.720Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:32.720Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:32.721Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:32.721Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:32.722Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:32.722Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:32.723Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.723Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:32.723Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:32.724Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.724Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:32.725Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:32.725Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:32.725Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:32.726Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:32.726Z","priority":"6","pid":"2830187","message":"=== End of file valgrind33"}

data: {"time":"2026-09-19T16:15:32.726Z","priority":"6","pid":"2830187","message":"test 0034 [HTTP GET with chunked Transfer-Encoding]"}

data: {"time":"2026-09-19T16:15:32.729Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind34 ../src/curl -q --output log/curl34.out  --include --trace-ascii log/trace34 --trace-time http://127.0.0.1:36137/34 > log/stdout34 2> log/stderr34"}

data: {"time":"2026-09-19T16:15:32.730Z","priority":"6","pid":"2830187","message":" 34: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:32.730Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:32.730Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:32.730Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 34"}

data: {"time":"2026-09-19T16:15:32.731Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:32.962Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind35 ../src/curl -q --output log/curl35.out  --include --trace-ascii log/trace35 --trace-time http://127.0.0.1:36137/we/want/35 --data-binary @log/test35.txt > log/stdout35 2> log/stderr35"}

data: {"time":"2026-09-19T16:15:33.234Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind36 ../src/curl -q --output log/curl36.out  --include --trace-ascii log/trace36 --trace-time http://127.0.0.1:36137/36 > log/stdout36 2> log/stderr36"}

data: {"time":"2026-09-19T16:15:33.240Z","priority":"6","pid":"2830187","message":"valgrind.supp --num-callers=16 --log-file=log/valgrind34 ../src/curl -q --output log/curl34.out  --include --trace-ascii log/trace34 --trace-time http://127.0.0.1:36137/34 > log/stdout34 2> log/stderr34"}

data: {"time":"2026-09-19T16:15:33.240Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:33.241Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.241Z","priority":"6","pid":"2830187","message":" 16:15:32.532537 ====> Client connect"}

data: {"time":"2026-09-19T16:15:33.242Z","priority":"6","pid":"2830187","message":" 16:15:32.532594 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:33.242Z","priority":"6","pid":"2830187","message":" 16:15:32.532818 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:33.243Z","priority":"6","pid":"2830187","message":" 16:15:32.532847 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:33.243Z","priority":"6","pid":"2830187","message":" 16:15:32.532866 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:33.244Z","priority":"6","pid":"2830187","message":" 16:15:32.532878 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:33.244Z","priority":"6","pid":"2830187","message":" 16:15:32.532928 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:33.245Z","priority":"6","pid":"2830187","message":" 16:15:32.532955 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:33.246Z","priority":"6","pid":"2830187","message":" 16:15:32.533071 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:33.246Z","priority":"6","pid":"2830187","message":" 16:15:32.533087 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:33.246Z","priority":"6","pid":"2830187","message":" 16:15:32.533097 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:33.246Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.247Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:33.247Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:33.247Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51786"}

data: {"time":"2026-09-19T16:15:33.248Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:33.248Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:33.248Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:33.248Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:33.249Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:33.249Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:33.249Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:33.249Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:33.250Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:33.250Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:33.250Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:33.250Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:33.250Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:33.251Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:33.251Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:33.251Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:33.252Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:33.252Z","priority":"6","pid":"2830187","message":" Testnum 34"}

data: {"time":"2026-09-19T16:15:33.252Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:33.252Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:33.253Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:33.253Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:33.253Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:33.253Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:33.254Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind34"}

data: {"time":"2026-09-19T16:15:33.254Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:33.255Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:33.256Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:33.256Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.256Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:33.256Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:33.256Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:33.257Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:33.257Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:33.258Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.258Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:33.258Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:33.259Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:33.259Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:33.260Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:33.260Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:33.261Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:33.261Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.261Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:33.262Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:33.262Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.262Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:33.263Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:33.263Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:33.263Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.264Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:33.264Z","priority":"6","pid":"2830187","message":"=== End of file valgrind34"}

data: {"time":"2026-09-19T16:15:33.264Z","priority":"6","pid":"2830187","message":"test 0035 [HTTP POST binary data with embedded NUL]"}

data: {"time":"2026-09-19T16:15:33.266Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind35 ../src/curl -q --output log/curl35.out  --include --trace-ascii log/trace35 --trace-time http://127.0.0.1:36137/we/want/35 --data-binary @log/test35.txt > log/stdout35 2> log/stderr35"}

data: {"time":"2026-09-19T16:15:33.267Z","priority":"6","pid":"2830187","message":" 35: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:33.267Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:33.267Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:33.267Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 35"}

data: {"time":"2026-09-19T16:15:33.267Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:33.269Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind35 ../src/curl -q --output log/curl35.out  --include --trace-ascii log/trace35 --trace-time http://127.0.0.1:36137/we/want/35 --data-binary @log/test35.txt > log/stdout35 2> log/stderr35"}

data: {"time":"2026-09-19T16:15:33.270Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:33.270Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.270Z","priority":"6","pid":"2830187","message":" 16:15:32.845181 ====> Client connect"}

data: {"time":"2026-09-19T16:15:33.270Z","priority":"6","pid":"2830187","message":" 16:15:32.845245 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:33.271Z","priority":"6","pid":"2830187","message":" 16:15:32.845505 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:33.271Z","priority":"6","pid":"2830187","message":" 16:15:32.845526 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:33.271Z","priority":"6","pid":"2830187","message":" 16:15:32.845542 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:33.272Z","priority":"6","pid":"2830187","message":" 16:15:32.845552 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:33.272Z","priority":"6","pid":"2830187","message":" 16:15:32.845598 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:33.273Z","priority":"6","pid":"2830187","message":" 16:15:32.845627 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:33.273Z","priority":"6","pid":"2830187","message":" 16:15:32.845714 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:33.273Z","priority":"6","pid":"2830187","message":" 16:15:32.845727 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:33.274Z","priority":"6","pid":"2830187","message":" 16:15:32.845749 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:33.274Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.274Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:33.275Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:33.275Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51796"}

data: {"time":"2026-09-19T16:15:33.275Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:33.276Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:33.276Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:33.277Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:33.277Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:33.277Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:33.277Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:33.277Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:33.278Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:33.278Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:33.278Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:33.278Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:33.279Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:33.279Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:33.279Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:33.280Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:33.280Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:33.280Z","priority":"6","pid":"2830187","message":" Testnum 35"}

data: {"time":"2026-09-19T16:15:33.281Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:33.282Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:33.282Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:33.282Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:33.282Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:33.282Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:33.283Z","priority":"6","pid":"2830187","message":"=== Start of file test35.txt"}

data: {"time":"2026-09-19T16:15:33.283Z","priority":"6","pid":"2830187","message":" This is binary data with an embedded NUL byte"}

data: {"time":"2026-09-19T16:15:33.283Z","priority":"6","pid":"2830187","message":"=== End of file test35.txt"}

data: {"time":"2026-09-19T16:15:33.283Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind35"}

data: {"time":"2026-09-19T16:15:33.283Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:33.284Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:33.284Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:33.285Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.285Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:33.285Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:33.286Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:33.286Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:33.286Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:33.287Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.287Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:33.287Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:33.288Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:33.288Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:33.289Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:33.289Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:33.290Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:33.290Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.290Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:33.291Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:33.291Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.291Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:33.292Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:33.292Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:33.292Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.292Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:33.293Z","priority":"6","pid":"2830187","message":"=== End of file valgrind35"}

data: {"time":"2026-09-19T16:15:33.293Z","priority":"6","pid":"2830187","message":"test 0036 [HTTP GET with bad chunked Transfer-Encoding]"}

data: {"time":"2026-09-19T16:15:33.294Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind36 ../src/curl -q --output log/curl36.out  --include --trace-ascii log/trace36 --trace-time http://127.0.0.1:36137/36 > log/stdout36 2> log/stderr36"}

data: {"time":"2026-09-19T16:15:33.295Z","priority":"6","pid":"2830187","message":" 36: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:33.295Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:33.296Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:33.296Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 36"}

data: {"time":"2026-09-19T16:15:33.296Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:33.299Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind36 ../src/curl -q --output log/curl36.out  --include --trace-ascii log/trace36 --trace-time http://127.0.0.1:36137/36 > log/stdout36 2> log/stderr36"}

data: {"time":"2026-09-19T16:15:33.299Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:33.299Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.299Z","priority":"6","pid":"2830187","message":" 16:15:33.086352 ====> Client connect"}

data: {"time":"2026-09-19T16:15:33.300Z","priority":"6","pid":"2830187","message":" 16:15:33.086399 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:33.300Z","priority":"6","pid":"2830187","message":" 16:15:33.086433 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:33.300Z","priority":"6","pid":"2830187","message":" 16:15:33.086444 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:33.301Z","priority":"6","pid":"2830187","message":" 16:15:33.086459 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:33.520Z","priority":"6","pid":"2830187","message":" 16:15:33.086469 Are-we-friendly queCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind37 ../src/curl -q --output log/curl37.out  --include --trace-ascii log/trace37 --trace-time http://127.0.0.1:36137/37 > log/stdout37 2> log/stderr37"}

data: {"time":"2026-09-19T16:15:33.787Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind38 ../src/curl -q --include --trace-ascii log/trace38 --trace-time http://127.0.0.1:36137/want/38 -C - --no-include -o log/fewl38.txt > log/stdout38 2> log/stderr38"}

data: {"time":"2026-09-19T16:15:33.792Z","priority":"6","pid":"2830187","message":"stion received"}

data: {"time":"2026-09-19T16:15:33.793Z","priority":"6","pid":"2830187","message":" 16:15:33.086503 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:33.794Z","priority":"6","pid":"2830187","message":" 16:15:33.086523 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:33.794Z","priority":"6","pid":"2830187","message":" 16:15:33.086645 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:33.795Z","priority":"6","pid":"2830187","message":" 16:15:33.086659 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:33.795Z","priority":"6","pid":"2830187","message":" 16:15:33.086669 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:33.796Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.796Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:33.797Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:33.797Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51802"}

data: {"time":"2026-09-19T16:15:33.797Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:33.798Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:33.798Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:33.798Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:33.798Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:33.799Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:33.799Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:33.799Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:33.799Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:33.800Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:33.800Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:33.800Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:33.801Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:33.801Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:33.801Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:33.802Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:33.802Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:33.803Z","priority":"6","pid":"2830187","message":" Testnum 36"}

data: {"time":"2026-09-19T16:15:33.803Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:33.803Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:33.803Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:33.803Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:33.804Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:33.804Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:33.804Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind36"}

data: {"time":"2026-09-19T16:15:33.805Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:33.805Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:33.806Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:33.806Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.807Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:33.807Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:33.807Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:33.808Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:33.809Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:33.809Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.809Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:33.810Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:33.810Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:33.811Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:33.811Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:33.812Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:33.812Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:33.812Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.813Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:33.813Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:33.814Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.814Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:33.815Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:33.815Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:33.816Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.816Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:33.816Z","priority":"6","pid":"2830187","message":"=== End of file valgrind36"}

data: {"time":"2026-09-19T16:15:33.817Z","priority":"6","pid":"2830187","message":"test 0037 [HTTP GET with nothing returned from server]"}

data: {"time":"2026-09-19T16:15:33.819Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind37 ../src/curl -q --output log/curl37.out  --include --trace-ascii log/trace37 --trace-time http://127.0.0.1:36137/37 > log/stdout37 2> log/stderr37"}

data: {"time":"2026-09-19T16:15:33.820Z","priority":"6","pid":"2830187","message":" 37: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:33.820Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:33.821Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:33.821Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 37"}

data: {"time":"2026-09-19T16:15:33.821Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:33.823Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind37 ../src/curl -q --output log/curl37.out  --include --trace-ascii log/trace37 --trace-time http://127.0.0.1:36137/37 > log/stdout37 2> log/stderr37"}

data: {"time":"2026-09-19T16:15:33.823Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:33.824Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.824Z","priority":"6","pid":"2830187","message":" 16:15:33.426486 ====> Client connect"}

data: {"time":"2026-09-19T16:15:33.825Z","priority":"6","pid":"2830187","message":" 16:15:33.426542 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:33.825Z","priority":"6","pid":"2830187","message":" 16:15:33.426700 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:33.825Z","priority":"6","pid":"2830187","message":" 16:15:33.426718 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:33.826Z","priority":"6","pid":"2830187","message":" 16:15:33.426733 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:33.826Z","priority":"6","pid":"2830187","message":" 16:15:33.426743 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:33.827Z","priority":"6","pid":"2830187","message":" 16:15:33.426779 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:33.828Z","priority":"6","pid":"2830187","message":" 16:15:33.426800 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:33.828Z","priority":"6","pid":"2830187","message":" 16:15:33.426854 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:33.828Z","priority":"6","pid":"2830187","message":" 16:15:33.426865 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:33.829Z","priority":"6","pid":"2830187","message":" 16:15:33.426874 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:33.830Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.830Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:33.830Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:33.830Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51814"}

data: {"time":"2026-09-19T16:15:33.831Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:33.831Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:33.831Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:33.832Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:33.832Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:33.832Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:33.833Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:33.833Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:33.833Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:33.833Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:33.833Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:33.834Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:33.834Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:33.834Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:33.835Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:33.835Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:33.836Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:33.836Z","priority":"6","pid":"2830187","message":" Testnum 37"}

data: {"time":"2026-09-19T16:15:33.836Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:33.837Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:33.837Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:33.837Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:33.838Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:33.838Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:33.838Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind37"}

data: {"time":"2026-09-19T16:15:33.839Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:33.840Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:33.840Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:33.840Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.840Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:33.841Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:33.841Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:33.842Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:33.842Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:33.842Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.843Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:33.843Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:33.844Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:33.844Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:33.845Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:33.845Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:33.846Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:33.846Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.847Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:33.847Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:33.847Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.848Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:33.849Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:33.849Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:33.849Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:33.850Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:33.850Z","priority":"6","pid":"2830187","message":"=== End of file valgrind37"}

data: {"time":"2026-09-19T16:15:33.850Z","priority":"6","pid":"2830187","message":"test 0038 [HTTP resume request without server supporting it]"}

data: {"time":"2026-09-19T16:15:33.852Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind38 ../src/curl -q --include --trace-ascii log/trace38 --trace-time http://127.0.0.1:36137/want/38 -C - --no-include -o log/fewl38.txt > log/stdout38 2> log/stderr38"}

data: {"time":"2026-09-19T16:15:33.853Z","priority":"6","pid":"2830187","message":" 38: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:33.853Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:33.854Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:33.854Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 38"}

data: {"time":"2026-09-19T16:15:33.855Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:33.856Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind38 ../src/curl -q --include --trace-ascii log/trace38 --trace-time http://127.0.0.1:36137/want/38 -C - --no-include -o log/fewl38.txt > log/stdout38 2> log/stderr38"}

data: {"time":"2026-09-19T16:15:33.857Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:33.857Z","priority":"6","pid":"2830187","message":"=== Start of file fewl38.txt"}

data: {"time":"2026-09-19T16:15:33.857Z","priority":"6","pid":"2830187","message":" This text is here to simulate a partly downloaded file to resume"}

data: {"time":"2026-09-19T16:15:33.858Z","priority":"6","pid":"2830187","message":" download on."}

data: {"time":"2026-09-19T16:15:33.858Z","priority":"6","pid":"2830187","message":"=== End of file fewl38.txt"}

data: {"time":"2026-09-19T16:15:33.859Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.859Z","priority":"6","pid":"2830187","message":" 16:15:33.654062 ====> Client connect"}

data: {"time":"2026-09-19T16:15:33.859Z","priority":"6","pid":"2830187","message":" 16:15:33.654132 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:33.860Z","priority":"6","pid":"2830187","message":" 16:15:33.654339 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:33.860Z","priority":"6","pid":"2830187","message":" 16:15:33.654369 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:33.861Z","priority":"6","pid":"2830187","message":" 16:15:33.654388 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:33.861Z","priority":"6","pid":"2830187","message":" 16:15:33.654399 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:33.861Z","priority":"6","pid":"2830187","message":" 16:15:33.654448 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:33.862Z","priority":"6","pid":"2830187","message":" 16:15:33.654476 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:33.863Z","priority":"6","pid":"2830187","message":" 16:15:33.654559 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:33.863Z","priority":"6","pid":"2830187","message":" 16:15:33.654573 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:33.864Z","priority":"6","pid":"2830187","message":" 16:15:33.654593 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:33.864Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:33.864Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:33.864Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:33.865Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51826"}

data: {"time":"2026-09-19T16:15:33.865Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:34.172Z","priority":"6","pid":"2830187","message":" > GET /vCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind39 ../src/curl -q --output log/curl39.out  --include --trace-ascii log/trace39 --trace-time http://127.0.0.1:36137/we/want/39 -F name=daniel -F tool=curl --form-string \"str1=@literal\" --form-string \"str2=<verbatim;type=xxx/yyy\" -F \"file=@log/test39.txt;type=moo/foobar;filename=fakerfile\" -F file2=@log/test39.txt -F \"file3=@\\\"log/test39.txt\\\";type=mo/foo;filename=\\\"f\\\\\\\\\\\\\\\\ak\\\\\\\\\\\\er,\\\\\\\\an\\\\d;.t\\\\\\\"xt\\\"\" -F 'file4=@\"log/test39.txt\"; filename=\"A\\\\AA\\\"\\\"\\\\\\\"ZZZ\"' > log/stdout39 2> log/stderr39"}

data: {"time":"2026-09-19T16:15:34.412Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind40 ../src/curl -q --output log/curl40.out  --include --trace-ascii log/trace40 --trace-time http://127.0.0.1:36137/we/are/all/twits/40 -L > log/stdout40 2> log/stderr40"}

data: {"time":"2026-09-19T16:15:34.416Z","priority":"6","pid":"2830187","message":"erifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:34.417Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:34.417Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:34.417Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:34.417Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:34.418Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:34.418Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:34.418Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:34.419Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:34.419Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:34.419Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:34.419Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:34.420Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:34.420Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:34.421Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:34.421Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:34.421Z","priority":"6","pid":"2830187","message":" Testnum 38"}

data: {"time":"2026-09-19T16:15:34.422Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:34.422Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:34.422Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:34.422Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:34.423Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:34.424Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:34.424Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind38"}

data: {"time":"2026-09-19T16:15:34.424Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:34.426Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:34.426Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:34.428Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.428Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:34.428Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:34.430Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:34.430Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:34.430Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:34.431Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.431Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:34.432Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:34.434Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:34.434Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:34.435Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:34.435Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:34.436Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:34.436Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.436Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:34.436Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:34.437Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.437Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:34.438Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:34.438Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:34.438Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.439Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:34.439Z","priority":"6","pid":"2830187","message":"=== End of file valgrind38"}

data: {"time":"2026-09-19T16:15:34.439Z","priority":"6","pid":"2830187","message":"test 0039 [HTTP RFC1867-type formposting with filename= and type=]"}

data: {"time":"2026-09-19T16:15:34.442Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind39 ../src/curl -q --output log/curl39.out  --include --trace-ascii log/trace39 --trace-time http://127.0.0.1:36137/we/want/39 -F name=daniel -F tool=curl --form-string \"str1=@literal\" --form-string \"str2=<verbatim;type=xxx/yyy\" -F \"file=@log/test39.txt;type=moo/foobar;filename=fakerfile\" -F file2=@log/test39.txt -F \"file3=@\\\"log/test39.txt\\\";type=mo/foo;filename=\\\"f\\\\\\\\\\\\\\\\ak\\\\\\\\\\\\er,\\\\\\\\an\\\\d;.t\\\\\\\"xt\\\"\" -F 'file4=@\"log/test39.txt\"; filename=\"A\\\\AA\\\"\\\"\\\\\\\"ZZZ\"' > log/stdout39 2> log/stderr39"}

data: {"time":"2026-09-19T16:15:34.443Z","priority":"6","pid":"2830187","message":" 39: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:34.444Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:34.444Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:34.445Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 39"}

data: {"time":"2026-09-19T16:15:34.445Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:34.448Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind39 ../src/curl -q --output log/curl39.out  --include --trace-ascii log/trace39 --trace-time http://127.0.0.1:36137/we/want/39 -F name=daniel -F tool=curl --form-string \"str1=@literal\" --form-string \"str2=<verbatim;type=xxx/yyy\" -F \"file=@log/test39.txt;type=moo/foobar;filename=fakerfile\" -F file2=@log/test39.txt -F \"file3=@\\\"log/test39.txt\\\";type=mo/foo;filename=\\\"f\\\\\\\\\\\\\\\\ak\\\\\\\\\\\\er,\\\\\\\\an\\\\d;.t\\\\\\\"xt\\\"\" -F 'file4=@\"log/test39.txt\"; filename=\"A\\\\AA\\\"\\\"\\\\\\\"ZZZ\"' > log/stdout39 2> log/stderr39"}

data: {"time":"2026-09-19T16:15:34.449Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:34.449Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:34.450Z","priority":"6","pid":"2830187","message":" 16:15:33.988200 ====> Client connect"}

data: {"time":"2026-09-19T16:15:34.451Z","priority":"6","pid":"2830187","message":" 16:15:33.988268 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:34.451Z","priority":"6","pid":"2830187","message":" 16:15:33.988550 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:34.451Z","priority":"6","pid":"2830187","message":" 16:15:33.988578 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:34.451Z","priority":"6","pid":"2830187","message":" 16:15:33.988597 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:34.452Z","priority":"6","pid":"2830187","message":" 16:15:33.988608 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:34.452Z","priority":"6","pid":"2830187","message":" 16:15:33.988657 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:34.453Z","priority":"6","pid":"2830187","message":" 16:15:33.988682 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:34.453Z","priority":"6","pid":"2830187","message":" 16:15:33.988799 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:34.454Z","priority":"6","pid":"2830187","message":" 16:15:33.988815 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:34.454Z","priority":"6","pid":"2830187","message":" 16:15:33.988825 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:34.455Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:34.455Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:34.455Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:34.456Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51832"}

data: {"time":"2026-09-19T16:15:34.456Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:34.456Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:34.456Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:34.457Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:34.457Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:34.458Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:34.458Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:34.458Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:34.458Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:34.458Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:34.458Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:34.459Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:34.459Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:34.460Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:34.460Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:34.460Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:34.460Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:34.461Z","priority":"6","pid":"2830187","message":" Testnum 39"}

data: {"time":"2026-09-19T16:15:34.461Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:34.462Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:34.462Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:34.462Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:34.462Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:34.462Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:34.463Z","priority":"6","pid":"2830187","message":"=== Start of file test39.txt"}

data: {"time":"2026-09-19T16:15:34.463Z","priority":"6","pid":"2830187","message":" foo bar"}

data: {"time":"2026-09-19T16:15:34.463Z","priority":"6","pid":"2830187","message":" This is a bar foo"}

data: {"time":"2026-09-19T16:15:34.463Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:15:34.464Z","priority":"6","pid":"2830187","message":" foo"}

data: {"time":"2026-09-19T16:15:34.464Z","priority":"6","pid":"2830187","message":"=== End of file test39.txt"}

data: {"time":"2026-09-19T16:15:34.465Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind39"}

data: {"time":"2026-09-19T16:15:34.465Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:34.465Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:34.465Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:34.466Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.466Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:34.466Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:34.467Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:34.467Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:34.468Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:34.468Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.469Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:34.469Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:34.470Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:34.470Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:34.471Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:34.471Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:34.472Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:34.472Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.472Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:34.473Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:34.474Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.474Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:34.474Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:34.475Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:34.475Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.476Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:34.476Z","priority":"6","pid":"2830187","message":"=== End of file valgrind39"}

data: {"time":"2026-09-19T16:15:34.476Z","priority":"6","pid":"2830187","message":"test 0040 [HTTP redirect with whitespace after ? (and conversion)]"}

data: {"time":"2026-09-19T16:15:34.478Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind40 ../src/curl -q --output log/curl40.out  --include --trace-ascii log/trace40 --trace-time http://127.0.0.1:36137/we/are/all/twits/40 -L > log/stdout40 2> log/stderr40"}

data: {"time":"2026-09-19T16:15:34.479Z","priority":"6","pid":"2830187","message":" 40: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:34.479Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:34.479Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:34.480Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 40"}

data: {"time":"2026-09-19T16:15:34.480Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:34.482Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind40 ../src/curl -q --output log/curl40.out  --include --trace-ascii log/trace40 --trace-time http://127.0.0.1:36137/we/are/all/twits/40 -L > log/stdout40 2> log/stderr40"}

data: {"time":"2026-09-19T16:15:34.482Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:34.482Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:34.483Z","priority":"6","pid":"2830187","message":" 16:15:34.295430 ====> Client connect"}

data: {"time":"2026-09-19T16:15:34.484Z","priority":"6","pid":"2830187","message":" 16:15:34.295492 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:34.484Z","priority":"6","pid":"2830187","message":" 16:15:34.295753 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:34.484Z","priority":"6","pid":"2830187","message":" 16:15:34.295783 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:34.485Z","priority":"6","pid":"2830187","message":" 16:15:34.295801 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:34.485Z","priority":"6","pid":"2830187","message":" 16:15:34.295813 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:34.485Z","priority":"6","pid":"2830187","message":" 16:15:34.295862 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:34.486Z","priority":"6","pid":"2830187","message":" 16:15:34.295889 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:34.486Z","priority":"6","pid":"2830187","message":" 16:15:34.296050 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:34.487Z","priority":"6","pid":"2830187","message":" 16:15:34.296065 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:34.487Z","priority":"6","pid":"2830187","message":" 16:15:34.296076 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:34.488Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:34.723Z","priority":"6","pid":"2830187","message":"=== Start of file http_CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind41 ../src/curl -q --output log/curl41.out  --include --trace-ascii log/trace41 --trace-time http://127.0.0.1:36137/want/41 -F moo=@boo > log/stdout41 2> log/stderr41"}

data: {"time":"2026-09-19T16:15:34.957Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind42 ../src/curl -q --output log/curl42.out  --include --trace-ascii log/trace42 --trace-time http://127.0.0.1:36137/we/are/all/twits/42 -L > log/stdout42 2> log/stderr42"}

data: {"time":"2026-09-19T16:15:34.961Z","priority":"6","pid":"2830187","message":"verify.log"}

data: {"time":"2026-09-19T16:15:34.962Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:34.963Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51840"}

data: {"time":"2026-09-19T16:15:34.963Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:34.963Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:34.963Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:34.964Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:34.964Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:34.965Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:34.965Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:34.965Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:34.965Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:34.965Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:34.965Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:34.965Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:34.966Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:34.966Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:34.966Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:34.967Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:34.967Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:34.967Z","priority":"6","pid":"2830187","message":" Testnum 40"}

data: {"time":"2026-09-19T16:15:34.968Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:34.968Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:34.968Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:34.968Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:34.968Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:34.969Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:34.969Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind40"}

data: {"time":"2026-09-19T16:15:34.969Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:34.970Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:34.970Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:34.970Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.971Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:34.971Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:34.972Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:34.972Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:34.973Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:34.974Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.974Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:34.974Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:34.975Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:34.976Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:34.978Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:34.978Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:34.979Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:34.979Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.980Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:34.981Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:34.982Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.982Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:34.983Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:34.983Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:34.983Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:34.983Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:34.984Z","priority":"6","pid":"2830187","message":"=== End of file valgrind40"}

data: {"time":"2026-09-19T16:15:34.984Z","priority":"6","pid":"2830187","message":"test 0041 [HTTP formpost with missing file]"}

data: {"time":"2026-09-19T16:15:34.986Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind41 ../src/curl -q --output log/curl41.out  --include --trace-ascii log/trace41 --trace-time http://127.0.0.1:36137/want/41 -F moo=@boo > log/stdout41 2> log/stderr41"}

data: {"time":"2026-09-19T16:15:34.987Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 26"}

data: {"time":"2026-09-19T16:15:34.987Z","priority":"6","pid":"2830187","message":" 41: exit FAILED"}

data: {"time":"2026-09-19T16:15:34.987Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 41"}

data: {"time":"2026-09-19T16:15:34.987Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:34.989Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind41 ../src/curl -q --output log/curl41.out  --include --trace-ascii log/trace41 --trace-time http://127.0.0.1:36137/want/41 -F moo=@boo > log/stdout41 2> log/stderr41"}

data: {"time":"2026-09-19T16:15:34.989Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:34.989Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:34.990Z","priority":"6","pid":"2830187","message":" 16:15:34.606302 ====> Client connect"}

data: {"time":"2026-09-19T16:15:34.990Z","priority":"6","pid":"2830187","message":" 16:15:34.606356 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:34.990Z","priority":"6","pid":"2830187","message":" 16:15:34.606523 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:34.991Z","priority":"6","pid":"2830187","message":" 16:15:34.606543 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:34.992Z","priority":"6","pid":"2830187","message":" 16:15:34.606593 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:34.992Z","priority":"6","pid":"2830187","message":" 16:15:34.606607 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:34.992Z","priority":"6","pid":"2830187","message":" 16:15:34.606665 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:34.992Z","priority":"6","pid":"2830187","message":" 16:15:34.606692 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:34.993Z","priority":"6","pid":"2830187","message":" 16:15:34.606764 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:34.993Z","priority":"6","pid":"2830187","message":" 16:15:34.606776 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:34.994Z","priority":"6","pid":"2830187","message":" 16:15:34.606786 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:34.995Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:34.995Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:34.995Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:34.995Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51844"}

data: {"time":"2026-09-19T16:15:34.995Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:34.995Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:34.996Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:34.996Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:34.996Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:34.997Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:34.997Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:34.997Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:34.997Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:34.997Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:34.998Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:34.998Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:34.998Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:34.999Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:34.999Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.000Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:35.000Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.000Z","priority":"6","pid":"2830187","message":" Testnum 41"}

data: {"time":"2026-09-19T16:15:35.001Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.001Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:35.001Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:35.001Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:35.002Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.002Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:35.002Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind41"}

data: {"time":"2026-09-19T16:15:35.002Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:35.003Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:35.003Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:35.003Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.004Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:35.004Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:35.005Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.005Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:35.006Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.006Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.006Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:35.007Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:35.007Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:35.007Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:35.008Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:35.008Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:35.009Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:35.009Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.009Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:35.010Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:35.010Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.010Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:35.011Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:35.011Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:35.011Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.012Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:35.012Z","priority":"6","pid":"2830187","message":"=== End of file valgrind41"}

data: {"time":"2026-09-19T16:15:35.012Z","priority":"6","pid":"2830187","message":"test 0042 [HTTP redirect with whitespace in path (and conversion)]"}

data: {"time":"2026-09-19T16:15:35.014Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind42 ../src/curl -q --output log/curl42.out  --include --trace-ascii log/trace42 --trace-time http://127.0.0.1:36137/we/are/all/twits/42 -L > log/stdout42 2> log/stderr42"}

data: {"time":"2026-09-19T16:15:35.014Z","priority":"6","pid":"2830187","message":" 42: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:35.015Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:35.015Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:35.015Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 42"}

data: {"time":"2026-09-19T16:15:35.016Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:35.017Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind42 ../src/curl -q --output log/curl42.out  --include --trace-ascii log/trace42 --trace-time http://127.0.0.1:36137/we/are/all/twits/42 -L > log/stdout42 2> log/stderr42"}

data: {"time":"2026-09-19T16:15:35.017Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:35.017Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:35.018Z","priority":"6","pid":"2830187","message":" 16:15:34.856524 ====> Client connect"}

data: {"time":"2026-09-19T16:15:35.018Z","priority":"6","pid":"2830187","message":" 16:15:34.856567 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:35.018Z","priority":"6","pid":"2830187","message":" 16:15:34.856702 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:35.019Z","priority":"6","pid":"2830187","message":" 16:15:34.856718 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:35.019Z","priority":"6","pid":"2830187","message":" 16:15:34.856733 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:35.019Z","priority":"6","pid":"2830187","message":" 16:15:34.856743 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:35.020Z","priority":"6","pid":"2830187","message":" 16:15:34.856790 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:35.020Z","priority":"6","pid":"2830187","message":" 16:15:34.856819 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:35.021Z","priority":"6","pid":"2830187","message":" 16:15:34.857268 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:35.021Z","priority":"6","pid":"2830187","message":" 16:15:34.857287 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:35.021Z","priority":"6","pid":"2830187","message":" 16:15:34.857296 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:35.022Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:35.022Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:35.022Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:35.023Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51860"}

data: {"time":"2026-09-19T16:15:35.023Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:35.023Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:35.024Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:35.024Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:35.024Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:35.024Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:35.025Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:35.025Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:35.026Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:35.026Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:35.026Z","priority":"6","pid":"2830187","message":" { [1 bytes data]"}

data: {"time":"2026-09-19T16:15:35.026Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:35.026Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:35.026Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:35.027Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.027Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:35.028Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.028Z","priority":"6","pid":"2830187","message":" Testnum 42"}

data: {"time":"2026-09-19T16:15:35.028Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.028Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:35.028Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:35.029Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:35.029Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.238Z","priority":"6","pid":"2830187","message":"=== End of file server.responsCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind43 ../src/curl -q --output log/curl43.out  --include --trace-ascii log/trace43 --trace-time http://127.0.0.1:36137/want/43 -L -x 127.0.0.1:36137 > log/stdout43 2> log/stderr43"}

data: {"time":"2026-09-19T16:15:35.475Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind44 ../src/curl -q --output log/curl44.out  --include --trace-ascii log/trace44 --trace-time http://127.0.0.1:36137/we/want/44 -F name=daniel -F tool=curl -F file=@log/test44.txt -H \"Expect:\" > log/stdout44 2> log/stderr44"}

data: {"time":"2026-09-19T16:15:35.479Z","priority":"6","pid":"2830187","message":"e"}

data: {"time":"2026-09-19T16:15:35.480Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind42"}

data: {"time":"2026-09-19T16:15:35.480Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:35.481Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:35.481Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:35.481Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.482Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:35.482Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:35.482Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.483Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:35.483Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.483Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.484Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:35.484Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:35.484Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:35.485Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:35.485Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:35.486Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:35.486Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:35.486Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.487Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:35.487Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:35.487Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.488Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:35.488Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:35.489Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:35.490Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.490Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:35.490Z","priority":"6","pid":"2830187","message":"=== End of file valgrind42"}

data: {"time":"2026-09-19T16:15:35.490Z","priority":"6","pid":"2830187","message":"test 0043 [HTTP Location: following over HTTP proxy]"}

data: {"time":"2026-09-19T16:15:35.493Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind43 ../src/curl -q --output log/curl43.out  --include --trace-ascii log/trace43 --trace-time http://127.0.0.1:36137/want/43 -L -x 127.0.0.1:36137 > log/stdout43 2> log/stderr43"}

data: {"time":"2026-09-19T16:15:35.494Z","priority":"6","pid":"2830187","message":" 43: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:35.495Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:35.496Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:35.496Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 43"}

data: {"time":"2026-09-19T16:15:35.497Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:35.499Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind43 ../src/curl -q --output log/curl43.out  --include --trace-ascii log/trace43 --trace-time http://127.0.0.1:36137/want/43 -L -x 127.0.0.1:36137 > log/stdout43 2> log/stderr43"}

data: {"time":"2026-09-19T16:15:35.500Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:35.500Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:35.500Z","priority":"6","pid":"2830187","message":" 16:15:35.138661 ====> Client connect"}

data: {"time":"2026-09-19T16:15:35.501Z","priority":"6","pid":"2830187","message":" 16:15:35.138713 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:35.502Z","priority":"6","pid":"2830187","message":" 16:15:35.138746 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:35.502Z","priority":"6","pid":"2830187","message":" 16:15:35.138769 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:35.502Z","priority":"6","pid":"2830187","message":" 16:15:35.138788 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:35.503Z","priority":"6","pid":"2830187","message":" 16:15:35.138799 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:35.503Z","priority":"6","pid":"2830187","message":" 16:15:35.138840 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:35.503Z","priority":"6","pid":"2830187","message":" 16:15:35.138899 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:35.504Z","priority":"6","pid":"2830187","message":" 16:15:35.138980 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:35.504Z","priority":"6","pid":"2830187","message":" 16:15:35.139016 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:35.505Z","priority":"6","pid":"2830187","message":" 16:15:35.139027 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:35.505Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:35.505Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:35.506Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:35.506Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51874"}

data: {"time":"2026-09-19T16:15:35.506Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:35.507Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:35.508Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:35.508Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:35.508Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:35.508Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:35.508Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:35.508Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:35.508Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:35.508Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:35.508Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:35.509Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:35.509Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:35.509Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:35.509Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.510Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:35.510Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.510Z","priority":"6","pid":"2830187","message":" Testnum 43"}

data: {"time":"2026-09-19T16:15:35.511Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.511Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:35.511Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:35.511Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:35.512Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.512Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:35.512Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind43"}

data: {"time":"2026-09-19T16:15:35.513Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:35.513Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:35.514Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:35.514Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.514Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:35.514Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:35.515Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.515Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:35.515Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.516Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.516Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:35.516Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:35.517Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:35.517Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:35.518Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:35.519Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:35.519Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:35.519Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.519Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:35.519Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:35.520Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.520Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:35.521Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:35.521Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:35.521Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.522Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:35.522Z","priority":"6","pid":"2830187","message":"=== End of file valgrind43"}

data: {"time":"2026-09-19T16:15:35.522Z","priority":"6","pid":"2830187","message":"test 0044 [HTTP RFC1867-type formposting without Expect: header]"}

data: {"time":"2026-09-19T16:15:35.523Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind44 ../src/curl -q --output log/curl44.out  --include --trace-ascii log/trace44 --trace-time http://127.0.0.1:36137/we/want/44 -F name=daniel -F tool=curl -F file=@log/test44.txt -H \"Expect:\" > log/stdout44 2> log/stderr44"}

data: {"time":"2026-09-19T16:15:35.524Z","priority":"6","pid":"2830187","message":" 44: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:35.524Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:35.524Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:35.525Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 44"}

data: {"time":"2026-09-19T16:15:35.526Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:35.526Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind44 ../src/curl -q --output log/curl44.out  --include --trace-ascii log/trace44 --trace-time http://127.0.0.1:36137/we/want/44 -F name=daniel -F tool=curl -F file=@log/test44.txt -H \"Expect:\" > log/stdout44 2> log/stderr44"}

data: {"time":"2026-09-19T16:15:35.527Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:35.527Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:35.527Z","priority":"6","pid":"2830187","message":" 16:15:35.360778 ====> Client connect"}

data: {"time":"2026-09-19T16:15:35.528Z","priority":"6","pid":"2830187","message":" 16:15:35.360820 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:35.528Z","priority":"6","pid":"2830187","message":" 16:15:35.361053 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:35.528Z","priority":"6","pid":"2830187","message":" 16:15:35.361080 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:35.529Z","priority":"6","pid":"2830187","message":" 16:15:35.361097 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:35.529Z","priority":"6","pid":"2830187","message":" 16:15:35.361107 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:35.530Z","priority":"6","pid":"2830187","message":" 16:15:35.361150 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:35.530Z","priority":"6","pid":"2830187","message":" 16:15:35.361180 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:35.531Z","priority":"6","pid":"2830187","message":" 16:15:35.361287 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:35.532Z","priority":"6","pid":"2830187","message":" 16:15:35.361302 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:35.532Z","priority":"6","pid":"2830187","message":" 16:15:35.361311 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:35.532Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:35.532Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:35.532Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:35.532Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51876"}

data: {"time":"2026-09-19T16:15:35.533Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:35.533Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:35.533Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:35.534Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:35.534Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:35.534Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:35.534Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:35.534Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:35.534Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:35.535Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:35.535Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:35.535Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:35.535Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:35.535Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:35.536Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.536Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:35.536Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.536Z","priority":"6","pid":"2830187","message":" Testnum 44"}

data: {"time":"2026-09-19T16:15:35.537Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.537Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:35.537Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:35.537Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:35.537Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.538Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:35.538Z","priority":"6","pid":"2830187","message":"=== Start of file test44.txt"}

data: {"time":"2026-09-19T16:15:35.538Z","priority":"6","pid":"2830187","message":" foo-"}

data: {"time":"2026-09-19T16:15:35.538Z","priority":"6","pid":"2830187","message":" This is a moo-"}

data: {"time":"2026-09-19T16:15:35.539Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:15:35.539Z","priority":"6","pid":"2830187","message":"=== End of file test44.txt"}

data: {"time":"2026-09-19T16:15:35.539Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind44"}

data: {"time":"2026-09-19T16:15:35.539Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:35.539Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:35.540Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:35.540Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.540Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:35.541Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:35.541Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.748Z","priority":"6","pid":"2830187","message":" valgriCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind45 ../src/curl -q --output log/curl45.out  --include --trace-ascii log/trace45 --trace-time 127.0.0.1:36137/want/45 -L > log/stdout45 2> log/stderr45"}

data: {"time":"2026-09-19T16:15:35.965Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind46 ../src/curl -q --output log/curl46.out  --include --trace-ascii log/trace46 --trace-time domain..tld:36137/want/46 --resolve domain..tld:36137:127.0.0.1 -c log/jar46 -b log -b log/injar46 > log/stdout46 2> log/stderr46"}

data: {"time":"2026-09-19T16:15:35.971Z","priority":"6","pid":"2830187","message":"nd:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:35.972Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.972Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.972Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:35.973Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:35.973Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:35.974Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:35.974Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:35.974Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:35.975Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:35.975Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.975Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:35.976Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:35.976Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.976Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:35.977Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:35.977Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:35.977Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.978Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:35.978Z","priority":"6","pid":"2830187","message":"=== End of file valgrind44"}

data: {"time":"2026-09-19T16:15:35.978Z","priority":"6","pid":"2830187","message":"test 0045 [simple HTTP Location: without protocol in initial URL]"}

data: {"time":"2026-09-19T16:15:35.980Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind45 ../src/curl -q --output log/curl45.out  --include --trace-ascii log/trace45 --trace-time 127.0.0.1:36137/want/45 -L > log/stdout45 2> log/stderr45"}

data: {"time":"2026-09-19T16:15:35.980Z","priority":"6","pid":"2830187","message":" 45: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:35.980Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:35.981Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:35.981Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 45"}

data: {"time":"2026-09-19T16:15:35.982Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:35.983Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind45 ../src/curl -q --output log/curl45.out  --include --trace-ascii log/trace45 --trace-time 127.0.0.1:36137/want/45 -L > log/stdout45 2> log/stderr45"}

data: {"time":"2026-09-19T16:15:35.983Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:35.984Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:35.984Z","priority":"6","pid":"2830187","message":" 16:15:35.656696 ====> Client connect"}

data: {"time":"2026-09-19T16:15:35.984Z","priority":"6","pid":"2830187","message":" 16:15:35.656745 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:35.984Z","priority":"6","pid":"2830187","message":" 16:15:35.656940 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:35.984Z","priority":"6","pid":"2830187","message":" 16:15:35.656960 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:35.985Z","priority":"6","pid":"2830187","message":" 16:15:35.656976 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:35.985Z","priority":"6","pid":"2830187","message":" 16:15:35.656986 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:35.985Z","priority":"6","pid":"2830187","message":" 16:15:35.657023 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:35.986Z","priority":"6","pid":"2830187","message":" 16:15:35.657043 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:35.986Z","priority":"6","pid":"2830187","message":" 16:15:35.657104 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:35.987Z","priority":"6","pid":"2830187","message":" 16:15:35.657118 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:35.987Z","priority":"6","pid":"2830187","message":" 16:15:35.657129 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:35.987Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:35.987Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:35.987Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:35.988Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51884"}

data: {"time":"2026-09-19T16:15:35.988Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:35.989Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:35.989Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:35.989Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:35.989Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:35.990Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:35.990Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:35.990Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:35.990Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:35.990Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:35.990Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:35.990Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:35.991Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:35.991Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:35.991Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.991Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:35.991Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.992Z","priority":"6","pid":"2830187","message":" Testnum 45"}

data: {"time":"2026-09-19T16:15:35.992Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:35.992Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:35.992Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:35.993Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:35.993Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:35.993Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:35.994Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind45"}

data: {"time":"2026-09-19T16:15:35.994Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:35.994Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:35.995Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:35.995Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.995Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:35.996Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:35.996Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.996Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:35.997Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:35.997Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:35.997Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:35.997Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:35.998Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:35.998Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:35.999Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:36.000Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:36.000Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:36.000Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.001Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:36.002Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:36.003Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.004Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:36.004Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:36.005Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:36.005Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.006Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:36.006Z","priority":"6","pid":"2830187","message":"=== End of file valgrind45"}

data: {"time":"2026-09-19T16:15:36.007Z","priority":"6","pid":"2830187","message":"setenv TZ = GMT"}

data: {"time":"2026-09-19T16:15:36.008Z","priority":"6","pid":"2830187","message":"test 0046 [HTTP with bad domain name, get cookies and store in cookie jar]"}

data: {"time":"2026-09-19T16:15:36.012Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind46 ../src/curl -q --output log/curl46.out  --include --trace-ascii log/trace46 --trace-time domain..tld:36137/want/46 --resolve domain..tld:36137:127.0.0.1 -c log/jar46 -b log -b log/injar46 > log/stdout46 2> log/stderr46"}

data: {"time":"2026-09-19T16:15:36.013Z","priority":"6","pid":"2830187","message":" 46: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:36.013Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:36.014Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:36.014Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 46"}

data: {"time":"2026-09-19T16:15:36.015Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:36.018Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind46 ../src/curl -q --output log/curl46.out  --include --trace-ascii log/trace46 --trace-time domain..tld:36137/want/46 --resolve domain..tld:36137:127.0.0.1 -c log/jar46 -b log -b log/injar46 > log/stdout46 2> log/stderr46"}

data: {"time":"2026-09-19T16:15:36.019Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:36.019Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:36.019Z","priority":"6","pid":"2830187","message":" 16:15:35.873726 ====> Client connect"}

data: {"time":"2026-09-19T16:15:36.020Z","priority":"6","pid":"2830187","message":" 16:15:35.873785 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:36.021Z","priority":"6","pid":"2830187","message":" 16:15:35.874049 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:36.021Z","priority":"6","pid":"2830187","message":" 16:15:35.874077 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:36.021Z","priority":"6","pid":"2830187","message":" 16:15:35.874095 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:36.021Z","priority":"6","pid":"2830187","message":" 16:15:35.874105 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:36.022Z","priority":"6","pid":"2830187","message":" 16:15:35.874157 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:36.022Z","priority":"6","pid":"2830187","message":" 16:15:35.874183 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:36.022Z","priority":"6","pid":"2830187","message":" 16:15:35.874359 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:36.023Z","priority":"6","pid":"2830187","message":" 16:15:35.874378 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:36.023Z","priority":"6","pid":"2830187","message":" 16:15:35.874388 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:36.024Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:36.024Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:36.024Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:36.025Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51894"}

data: {"time":"2026-09-19T16:15:36.025Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:36.025Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:36.025Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:36.026Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:36.027Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:36.027Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:36.027Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:36.027Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:36.028Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:36.028Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:36.028Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:36.028Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:36.029Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:36.029Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:36.029Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:36.030Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:36.031Z","priority":"6","pid":"2830187","message":"=== Start of file injar46"}

data: {"time":"2026-09-19T16:15:36.031Z","priority":"6","pid":"2830187","message":" # Netscape HTTP Cookie File"}

data: {"time":"2026-09-19T16:15:36.031Z","priority":"6","pid":"2830187","message":" # https://curl.se/docs/http-cookies.html"}

data: {"time":"2026-09-19T16:15:36.032Z","priority":"6","pid":"2830187","message":" # This is generated by libcurl!  Do not edit."}

data: {"time":"2026-09-19T16:15:36.032Z","priority":"6","pid":"2830187","message":" www.fake.come\tFALSE\t/\tFALSE\t22147483647\tcookiecliente\tsi"}

data: {"time":"2026-09-19T16:15:36.032Z","priority":"6","pid":"2830187","message":" www.loser.com\tFALSE\t/\tFALSE\t22139150993\tUID\t99"}

data: {"time":"2026-09-19T16:15:36.032Z","priority":"6","pid":"2830187","message":" domain..tld\tFALSE\t/\tFALSE\t22139150993\tmooo\tindeed"}

data: {"time":"2026-09-19T16:15:36.033Z","priority":"6","pid":"2830187","message":" #HttpOnly_domain..tld\tFALSE\t/want\tFALSE\t22139150993\tmooo2\tindeed2"}

data: {"time":"2026-09-19T16:15:36.033Z","priority":"6","pid":"2830187","message":" domain..tld\tFALSE\t/want\tFALSE\t0\tempty"}

data: {"time":"2026-09-19T16:15:36.033Z","priority":"6","pid":"2830187","message":"=== End of file injar46"}

data: {"time":"2026-09-19T16:15:36.034Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:36.034Z","priority":"6","pid":"2830187","message":" Testnum 46"}

data: {"time":"2026-09-19T16:15:36.035Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:36.035Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:36.035Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:36.035Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:36.035Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:36.035Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:36.035Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind46"}

data: {"time":"2026-09-19T16:15:36.036Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:36.036Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:36.036Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:36.037Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.037Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:36.037Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:36.038Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:36.038Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:36.264Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the objecCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind47 ../src/curl -q --output log/curl47.out  --include --trace-ascii log/trace47 --trace-time http://127.0.0.1:36137/47 -0 > log/stdout47 2> log/stderr47"}

data: {"time":"2026-09-19T16:15:36.496Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind48 ../src/curl -q --output log/curl48.out  --include --trace-ascii log/trace48 --trace-time -d \"foo=moo&moo=poo\" http://127.0.0.1:36137/48 -G -I http://127.0.0.1:36137/48 > log/stdout48 2> log/stderr48"}

data: {"time":"2026-09-19T16:15:36.500Z","priority":"6","pid":"2830187","message":"t with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:36.500Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.500Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:36.501Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:36.501Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:36.502Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:36.502Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:36.503Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:36.503Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:36.503Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.505Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:36.505Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:36.505Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.505Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:36.505Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:36.506Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:36.506Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.506Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:36.507Z","priority":"6","pid":"2830187","message":"=== End of file valgrind46"}

data: {"time":"2026-09-19T16:15:36.507Z","priority":"6","pid":"2830187","message":"test 0047 [simple HTTP 1.0 GET]"}

data: {"time":"2026-09-19T16:15:36.508Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind47 ../src/curl -q --output log/curl47.out  --include --trace-ascii log/trace47 --trace-time http://127.0.0.1:36137/47 -0 > log/stdout47 2> log/stderr47"}

data: {"time":"2026-09-19T16:15:36.509Z","priority":"6","pid":"2830187","message":" 47: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:36.509Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:36.510Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:36.511Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 47"}

data: {"time":"2026-09-19T16:15:36.511Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:36.512Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind47 ../src/curl -q --output log/curl47.out  --include --trace-ascii log/trace47 --trace-time http://127.0.0.1:36137/47 -0 > log/stdout47 2> log/stderr47"}

data: {"time":"2026-09-19T16:15:36.512Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:36.512Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:36.513Z","priority":"6","pid":"2830187","message":" 16:15:36.152288 ====> Client connect"}

data: {"time":"2026-09-19T16:15:36.513Z","priority":"6","pid":"2830187","message":" 16:15:36.152341 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:36.513Z","priority":"6","pid":"2830187","message":" 16:15:36.152518 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:36.514Z","priority":"6","pid":"2830187","message":" 16:15:36.152544 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:36.515Z","priority":"6","pid":"2830187","message":" 16:15:36.152562 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:36.515Z","priority":"6","pid":"2830187","message":" 16:15:36.152584 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:36.516Z","priority":"6","pid":"2830187","message":" 16:15:36.152633 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:36.517Z","priority":"6","pid":"2830187","message":" 16:15:36.152656 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:36.518Z","priority":"6","pid":"2830187","message":" 16:15:36.152712 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:36.519Z","priority":"6","pid":"2830187","message":" 16:15:36.152722 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:36.519Z","priority":"6","pid":"2830187","message":" 16:15:36.152731 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:36.520Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:36.520Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:36.521Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:36.522Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51904"}

data: {"time":"2026-09-19T16:15:36.522Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:36.522Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:36.523Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:36.523Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:36.526Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:36.526Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:36.526Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:36.526Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:36.526Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:36.527Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:36.527Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:36.527Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:36.527Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:36.528Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:36.528Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:36.528Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:36.529Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:36.529Z","priority":"6","pid":"2830187","message":" Testnum 47"}

data: {"time":"2026-09-19T16:15:36.530Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:36.530Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:36.530Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:36.530Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:36.530Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:36.531Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:36.531Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind47"}

data: {"time":"2026-09-19T16:15:36.532Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:36.533Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:36.534Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:36.534Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.534Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:36.534Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:36.534Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:36.535Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:36.536Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:36.536Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.536Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:36.536Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:36.537Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:36.537Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:36.538Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:36.538Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:36.539Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:36.539Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.540Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:36.540Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:36.540Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.541Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:36.541Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:36.542Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:36.542Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.543Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:36.543Z","priority":"6","pid":"2830187","message":"=== End of file valgrind47"}

data: {"time":"2026-09-19T16:15:36.543Z","priority":"6","pid":"2830187","message":"test 0048 [HTTP with -d and -G and -I]"}

data: {"time":"2026-09-19T16:15:36.545Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind48 ../src/curl -q --output log/curl48.out  --include --trace-ascii log/trace48 --trace-time -d \"foo=moo&moo=poo\" http://127.0.0.1:36137/48 -G -I http://127.0.0.1:36137/48 > log/stdout48 2> log/stderr48"}

data: {"time":"2026-09-19T16:15:36.545Z","priority":"6","pid":"2830187","message":" 48: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:36.546Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:36.546Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:36.547Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 48"}

data: {"time":"2026-09-19T16:15:36.547Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:36.549Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind48 ../src/curl -q --output log/curl48.out  --include --trace-ascii log/trace48 --trace-time -d \"foo=moo&moo=poo\" http://127.0.0.1:36137/48 -G -I http://127.0.0.1:36137/48 > log/stdout48 2> log/stderr48"}

data: {"time":"2026-09-19T16:15:36.550Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:36.550Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:36.550Z","priority":"6","pid":"2830187","message":" 16:15:36.387744 ====> Client connect"}

data: {"time":"2026-09-19T16:15:36.550Z","priority":"6","pid":"2830187","message":" 16:15:36.388142 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:36.550Z","priority":"6","pid":"2830187","message":" 16:15:36.388206 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:36.551Z","priority":"6","pid":"2830187","message":" 16:15:36.388228 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:36.551Z","priority":"6","pid":"2830187","message":" 16:15:36.388246 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:36.552Z","priority":"6","pid":"2830187","message":" 16:15:36.388259 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:36.552Z","priority":"6","pid":"2830187","message":" 16:15:36.388312 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:36.552Z","priority":"6","pid":"2830187","message":" 16:15:36.388339 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:36.553Z","priority":"6","pid":"2830187","message":" 16:15:36.388469 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:36.553Z","priority":"6","pid":"2830187","message":" 16:15:36.388484 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:36.554Z","priority":"6","pid":"2830187","message":" 16:15:36.388494 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:36.554Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:36.555Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:36.555Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:36.555Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 51914"}

data: {"time":"2026-09-19T16:15:36.556Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:36.556Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:36.556Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:36.557Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:36.557Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:36.558Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:36.558Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:36.558Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:36.558Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:36.558Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:36.558Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:36.559Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:36.559Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:36.559Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:36.560Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:36.560Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:36.560Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:36.561Z","priority":"6","pid":"2830187","message":" connection-monitor"}

data: {"time":"2026-09-19T16:15:36.561Z","priority":"6","pid":"2830187","message":" Testnum 48"}

data: {"time":"2026-09-19T16:15:36.561Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:36.562Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:36.563Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:36.563Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:36.563Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:36.563Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:36.563Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind48"}

data: {"time":"2026-09-19T16:15:36.563Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:36.564Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:36.564Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:36.565Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.565Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:36.565Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:36.566Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:36.566Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:36.567Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:36.567Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.567Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:36.568Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:36.568Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:36.569Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:36.570Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:36.570Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:36.570Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:36.570Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:36.570Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:36.787Z","priority":"6","pid":"2830187","message":" valgrCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind49 ../src/curl -q --output log/curl49.out  --include --trace-ascii log/trace49 --trace-time http://127.0.0.1:36137/we/are/all/twits/49 -L > log/stdout49 2> log/stderr49"}

data: {"time":"2026-09-19T16:15:37.017Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind50 ../src/curl -q --output log/curl50.out  --include --trace-ascii log/trace50 --trace-time http://127.0.0.1:36137/we/are/all/twits/50 -L > log/stdout50 2> log/stderr50"}

data: {"time":"2026-09-19T16:15:37.235Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind51 ../src/curl -q --output log/curl51.out  --include --trace-ascii log/trace51 --trace-time http://127.0.0.1:36137/we/are/all/twits/51 -L > log/stdout51 2> log/stderr51"}

data: {"time":"2026-09-19T16:15:37.239Z","priority":"6","pid":"2830187","message":"ind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:37.240Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.241Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:37.241Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:37.241Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:37.241Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.241Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:37.242Z","priority":"6","pid":"2830187","message":"=== End of file valgrind48"}

data: {"time":"2026-09-19T16:15:37.242Z","priority":"6","pid":"2830187","message":"test 0049 [HTTP follow redirect with ../]"}

data: {"time":"2026-09-19T16:15:37.244Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind49 ../src/curl -q --output log/curl49.out  --include --trace-ascii log/trace49 --trace-time http://127.0.0.1:36137/we/are/all/twits/49 -L > log/stdout49 2> log/stderr49"}

data: {"time":"2026-09-19T16:15:37.244Z","priority":"6","pid":"2830187","message":" 49: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:37.244Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:37.244Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:37.245Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 49"}

data: {"time":"2026-09-19T16:15:37.245Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:37.246Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind49 ../src/curl -q --output log/curl49.out  --include --trace-ascii log/trace49 --trace-time http://127.0.0.1:36137/we/are/all/twits/49 -L > log/stdout49 2> log/stderr49"}

data: {"time":"2026-09-19T16:15:37.247Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:37.247Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:37.247Z","priority":"6","pid":"2830187","message":" 16:15:36.682273 ====> Client connect"}

data: {"time":"2026-09-19T16:15:37.248Z","priority":"6","pid":"2830187","message":" 16:15:36.682328 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:37.248Z","priority":"6","pid":"2830187","message":" 16:15:36.682498 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:37.249Z","priority":"6","pid":"2830187","message":" 16:15:36.682522 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:37.249Z","priority":"6","pid":"2830187","message":" 16:15:36.682550 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:37.249Z","priority":"6","pid":"2830187","message":" 16:15:36.682561 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:37.250Z","priority":"6","pid":"2830187","message":" 16:15:36.682601 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:37.251Z","priority":"6","pid":"2830187","message":" 16:15:36.682630 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:37.251Z","priority":"6","pid":"2830187","message":" 16:15:36.682707 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:37.251Z","priority":"6","pid":"2830187","message":" 16:15:36.682719 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:37.251Z","priority":"6","pid":"2830187","message":" 16:15:36.682728 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:37.252Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:37.252Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:37.252Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:37.253Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59866"}

data: {"time":"2026-09-19T16:15:37.253Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:37.253Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:37.254Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:37.254Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:37.254Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:37.254Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:37.255Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:37.255Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:37.256Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:37.256Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:37.256Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:37.256Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:37.256Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:37.256Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:37.257Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:37.257Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:37.257Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:37.258Z","priority":"6","pid":"2830187","message":" Testnum 49"}

data: {"time":"2026-09-19T16:15:37.258Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:37.258Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:37.258Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:37.259Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:37.259Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:37.259Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:37.260Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind49"}

data: {"time":"2026-09-19T16:15:37.260Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:37.260Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:37.261Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:37.261Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.261Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:37.262Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:37.262Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:37.263Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:37.263Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:37.264Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.264Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:37.265Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:37.265Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:37.266Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:37.267Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:37.267Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:37.267Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:37.267Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.268Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:37.269Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:37.269Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.269Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:37.269Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:37.270Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:37.270Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.271Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:37.271Z","priority":"6","pid":"2830187","message":"=== End of file valgrind49"}

data: {"time":"2026-09-19T16:15:37.271Z","priority":"6","pid":"2830187","message":"test 0050 [HTTP follow redirect with ../../]"}

data: {"time":"2026-09-19T16:15:37.273Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind50 ../src/curl -q --output log/curl50.out  --include --trace-ascii log/trace50 --trace-time http://127.0.0.1:36137/we/are/all/twits/50 -L > log/stdout50 2> log/stderr50"}

data: {"time":"2026-09-19T16:15:37.273Z","priority":"6","pid":"2830187","message":" 50: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:37.274Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:37.274Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:37.274Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 50"}

data: {"time":"2026-09-19T16:15:37.275Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:37.276Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind50 ../src/curl -q --output log/curl50.out  --include --trace-ascii log/trace50 --trace-time http://127.0.0.1:36137/we/are/all/twits/50 -L > log/stdout50 2> log/stderr50"}

data: {"time":"2026-09-19T16:15:37.276Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:37.277Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:37.277Z","priority":"6","pid":"2830187","message":" 16:15:36.914050 ====> Client connect"}

data: {"time":"2026-09-19T16:15:37.277Z","priority":"6","pid":"2830187","message":" 16:15:36.914092 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:37.278Z","priority":"6","pid":"2830187","message":" 16:15:36.914263 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:37.278Z","priority":"6","pid":"2830187","message":" 16:15:36.914284 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:37.278Z","priority":"6","pid":"2830187","message":" 16:15:36.914308 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:37.279Z","priority":"6","pid":"2830187","message":" 16:15:36.914319 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:37.279Z","priority":"6","pid":"2830187","message":" 16:15:36.914365 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:37.280Z","priority":"6","pid":"2830187","message":" 16:15:36.914393 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:37.280Z","priority":"6","pid":"2830187","message":" 16:15:36.914473 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:37.281Z","priority":"6","pid":"2830187","message":" 16:15:36.914485 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:37.281Z","priority":"6","pid":"2830187","message":" 16:15:36.914494 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:37.281Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:37.281Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:37.282Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:37.282Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59878"}

data: {"time":"2026-09-19T16:15:37.282Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:37.282Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:37.283Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:37.283Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:37.283Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:37.283Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:37.284Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:37.284Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:37.284Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:37.284Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:37.285Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:37.285Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:37.285Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:37.285Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:37.285Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:37.286Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:37.286Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:37.286Z","priority":"6","pid":"2830187","message":" Testnum 50"}

data: {"time":"2026-09-19T16:15:37.287Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:37.287Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:37.287Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:37.287Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:37.288Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:37.288Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:37.288Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind50"}

data: {"time":"2026-09-19T16:15:37.288Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:37.289Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:37.289Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:37.290Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.290Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:37.290Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:37.291Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:37.291Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:37.291Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:37.292Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.292Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:37.292Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:37.293Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:37.294Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:37.294Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:37.295Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:37.295Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:37.295Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.295Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:37.296Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:37.296Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.297Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:37.297Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:37.297Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:37.298Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.298Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:37.299Z","priority":"6","pid":"2830187","message":"=== End of file valgrind50"}

data: {"time":"2026-09-19T16:15:37.299Z","priority":"6","pid":"2830187","message":"test 0051 [HTTP follow redirect with excessive ../]"}

data: {"time":"2026-09-19T16:15:37.549Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind51 ../src/curl -q --output log/curl51.out  --include --trace-aCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind52 ../src/curl -q --output log/curl52.out  --include --trace-ascii log/trace52 --trace-time http://127.0.0.1:36137/we/are/all/twits/52 -L > log/stdout52 2> log/stderr52"}

data: {"time":"2026-09-19T16:15:37.801Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind53 ../src/curl -q --output log/curl53.out  --include --trace-ascii log/trace53 --trace-time 127.0.0.1:36137/want/53 -b log/injar53 -j > log/stdout53 2> log/stderr53"}

data: {"time":"2026-09-19T16:15:37.806Z","priority":"6","pid":"2830187","message":"scii log/trace51 --trace-time http://127.0.0.1:36137/we/are/all/twits/51 -L > log/stdout51 2> log/stderr51"}

data: {"time":"2026-09-19T16:15:37.807Z","priority":"6","pid":"2830187","message":" 51: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:37.807Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:37.808Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:37.809Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 51"}

data: {"time":"2026-09-19T16:15:37.809Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:37.810Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind51 ../src/curl -q --output log/curl51.out  --include --trace-ascii log/trace51 --trace-time http://127.0.0.1:36137/we/are/all/twits/51 -L > log/stdout51 2> log/stderr51"}

data: {"time":"2026-09-19T16:15:37.810Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:37.810Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:37.811Z","priority":"6","pid":"2830187","message":" 16:15:37.135594 ====> Client connect"}

data: {"time":"2026-09-19T16:15:37.811Z","priority":"6","pid":"2830187","message":" 16:15:37.135651 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:37.812Z","priority":"6","pid":"2830187","message":" 16:15:37.135730 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:37.812Z","priority":"6","pid":"2830187","message":" 16:15:37.135745 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:37.812Z","priority":"6","pid":"2830187","message":" 16:15:37.135795 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:37.813Z","priority":"6","pid":"2830187","message":" 16:15:37.135806 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:37.813Z","priority":"6","pid":"2830187","message":" 16:15:37.135851 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:37.814Z","priority":"6","pid":"2830187","message":" 16:15:37.135880 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:37.814Z","priority":"6","pid":"2830187","message":" 16:15:37.135985 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:37.815Z","priority":"6","pid":"2830187","message":" 16:15:37.135998 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:37.815Z","priority":"6","pid":"2830187","message":" 16:15:37.136007 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:37.815Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:37.816Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:37.816Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:37.816Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59890"}

data: {"time":"2026-09-19T16:15:37.817Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:37.817Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:37.817Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:37.818Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:37.818Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:37.819Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:37.819Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:37.819Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:37.819Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:37.819Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:37.819Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:37.820Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:37.820Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:37.820Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:37.820Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:37.821Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:37.821Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:37.821Z","priority":"6","pid":"2830187","message":" Testnum 51"}

data: {"time":"2026-09-19T16:15:37.821Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:37.822Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:37.822Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:37.822Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:37.822Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:37.823Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:37.823Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind51"}

data: {"time":"2026-09-19T16:15:37.823Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:37.824Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:37.824Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:37.824Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.824Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:37.825Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:37.825Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:37.826Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:37.826Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:37.827Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.827Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:37.828Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:37.828Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:37.828Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:37.829Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:37.829Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:37.830Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:37.830Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.831Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:37.831Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:37.831Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.831Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:37.832Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:37.832Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:37.832Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.832Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:37.833Z","priority":"6","pid":"2830187","message":"=== End of file valgrind51"}

data: {"time":"2026-09-19T16:15:37.833Z","priority":"6","pid":"2830187","message":"test 0052 [HTTP follow redirect with ./-prefix]"}

data: {"time":"2026-09-19T16:15:37.834Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind52 ../src/curl -q --output log/curl52.out  --include --trace-ascii log/trace52 --trace-time http://127.0.0.1:36137/we/are/all/twits/52 -L > log/stdout52 2> log/stderr52"}

data: {"time":"2026-09-19T16:15:37.835Z","priority":"6","pid":"2830187","message":" 52: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:37.835Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:37.835Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:37.836Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 52"}

data: {"time":"2026-09-19T16:15:37.837Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:37.838Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind52 ../src/curl -q --output log/curl52.out  --include --trace-ascii log/trace52 --trace-time http://127.0.0.1:36137/we/are/all/twits/52 -L > log/stdout52 2> log/stderr52"}

data: {"time":"2026-09-19T16:15:37.838Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:37.838Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:37.839Z","priority":"6","pid":"2830187","message":" 16:15:37.415444 ====> Client connect"}

data: {"time":"2026-09-19T16:15:37.839Z","priority":"6","pid":"2830187","message":" 16:15:37.415544 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:37.840Z","priority":"6","pid":"2830187","message":" 16:15:37.415948 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:37.840Z","priority":"6","pid":"2830187","message":" 16:15:37.415983 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:37.841Z","priority":"6","pid":"2830187","message":" 16:15:37.416002 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:37.841Z","priority":"6","pid":"2830187","message":" 16:15:37.416013 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:37.841Z","priority":"6","pid":"2830187","message":" 16:15:37.416149 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:37.841Z","priority":"6","pid":"2830187","message":" 16:15:37.416185 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:37.842Z","priority":"6","pid":"2830187","message":" 16:15:37.416291 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:37.842Z","priority":"6","pid":"2830187","message":" 16:15:37.416305 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:37.843Z","priority":"6","pid":"2830187","message":" 16:15:37.416316 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:37.844Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:37.844Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:37.844Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:37.844Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59898"}

data: {"time":"2026-09-19T16:15:37.844Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:37.845Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:37.845Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:37.845Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:37.846Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:37.846Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:37.846Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:37.846Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:37.847Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:37.847Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:37.847Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:37.847Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:37.848Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:37.848Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:37.848Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:37.848Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:37.848Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:37.848Z","priority":"6","pid":"2830187","message":" Testnum 52"}

data: {"time":"2026-09-19T16:15:37.849Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:37.849Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:37.849Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:37.850Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:37.850Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:37.850Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:37.851Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind52"}

data: {"time":"2026-09-19T16:15:37.851Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:37.852Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:37.852Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:37.852Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.853Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:37.853Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:37.853Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:37.854Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:37.854Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:37.854Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.855Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:37.855Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:37.856Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:37.856Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:37.857Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:37.857Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:37.857Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:37.857Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.857Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:37.858Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:37.858Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.859Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:37.859Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:37.859Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:37.859Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:37.860Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:37.860Z","priority":"6","pid":"2830187","message":"=== End of file valgrind52"}

data: {"time":"2026-09-19T16:15:37.860Z","priority":"6","pid":"2830187","message":"test 0053 [HTTP, junk session cookies]"}

data: {"time":"2026-09-19T16:15:37.862Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind53 ../src/curl -q --output log/curl53.out  --include --trace-ascii log/trace53 --trace-time 127.0.0.1:36137/want/53 -b log/injar53 -j > log/stdout53 2> log/stderr53"}

data: {"time":"2026-09-19T16:15:37.863Z","priority":"6","pid":"2830187","message":" 53: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:37.863Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:37.863Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:37.863Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 53"}

data: {"time":"2026-09-19T16:15:37.863Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:38.081Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind53 ../src/curl -q --output log/curl53.out  --include --trace-ascii log/trace53 --trace-time 127.0.0.1:36137/want/53 -b log/injar53 -j > loCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind54 ../src/curl -q --output log/curl54.out  --include --trace-ascii log/trace54 --trace-time http://127.0.0.1:36137/want/54 -L > log/stdout54 2> log/stderr54"}

data: {"time":"2026-09-19T16:15:38.329Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind55 ../src/curl -q --output log/curl55.out  --include --trace-ascii log/trace55 --trace-time http://127.0.0.1:36137/55 -L > log/stdout55 2> log/stderr55"}

data: {"time":"2026-09-19T16:15:38.333Z","priority":"6","pid":"2830187","message":"g/stdout53 2> log/stderr53"}

data: {"time":"2026-09-19T16:15:38.335Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:38.335Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:38.335Z","priority":"6","pid":"2830187","message":" 16:15:37.676566 ====> Client connect"}

data: {"time":"2026-09-19T16:15:38.336Z","priority":"6","pid":"2830187","message":" 16:15:37.676629 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:38.336Z","priority":"6","pid":"2830187","message":" 16:15:37.676662 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:38.338Z","priority":"6","pid":"2830187","message":" 16:15:37.676673 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:38.338Z","priority":"6","pid":"2830187","message":" 16:15:37.676689 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:38.338Z","priority":"6","pid":"2830187","message":" 16:15:37.676698 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:38.339Z","priority":"6","pid":"2830187","message":" 16:15:37.676729 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:38.339Z","priority":"6","pid":"2830187","message":" 16:15:37.676803 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:38.340Z","priority":"6","pid":"2830187","message":" 16:15:37.676900 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:38.341Z","priority":"6","pid":"2830187","message":" 16:15:37.676912 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:38.341Z","priority":"6","pid":"2830187","message":" 16:15:37.676921 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:38.341Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:38.341Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:38.342Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:38.342Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59904"}

data: {"time":"2026-09-19T16:15:38.343Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:38.343Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:38.343Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:38.344Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:38.344Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:38.344Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:38.344Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:38.345Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:38.346Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:38.346Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:38.346Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:38.346Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:38.346Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:38.346Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:38.346Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:38.348Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:38.348Z","priority":"6","pid":"2830187","message":"=== Start of file injar53"}

data: {"time":"2026-09-19T16:15:38.348Z","priority":"6","pid":"2830187","message":" 127.0.0.1\tFALSE\t/\tFALSE\t22139150993\tmooo\tindeed"}

data: {"time":"2026-09-19T16:15:38.349Z","priority":"6","pid":"2830187","message":" 127.0.0.1\tFALSE\t/\tFALSE\t0\t\tmoo1\tindeed"}

data: {"time":"2026-09-19T16:15:38.350Z","priority":"6","pid":"2830187","message":" 127.0.0.1\tFALSE\t/\tFALSE\t1\t\tmoo2\tindeed"}

data: {"time":"2026-09-19T16:15:38.351Z","priority":"6","pid":"2830187","message":"=== End of file injar53"}

data: {"time":"2026-09-19T16:15:38.353Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:38.353Z","priority":"6","pid":"2830187","message":" Testnum 53"}

data: {"time":"2026-09-19T16:15:38.355Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:38.355Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:38.355Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:38.355Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:38.355Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:38.356Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:38.356Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind53"}

data: {"time":"2026-09-19T16:15:38.357Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:38.358Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:38.359Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:38.360Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.361Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:38.364Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:38.365Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:38.366Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:38.366Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:38.369Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.369Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:38.370Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:38.370Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:38.370Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:38.372Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:38.372Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:38.373Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:38.374Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.376Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:38.376Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:38.376Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.377Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:38.377Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:38.381Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:38.381Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.381Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:38.381Z","priority":"6","pid":"2830187","message":"=== End of file valgrind53"}

data: {"time":"2026-09-19T16:15:38.381Z","priority":"6","pid":"2830187","message":"test 0054 [HTTP with blank Location:]"}

data: {"time":"2026-09-19T16:15:38.383Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind54 ../src/curl -q --output log/curl54.out  --include --trace-ascii log/trace54 --trace-time http://127.0.0.1:36137/want/54 -L > log/stdout54 2> log/stderr54"}

data: {"time":"2026-09-19T16:15:38.384Z","priority":"6","pid":"2830187","message":" 54: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:38.384Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:38.385Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:38.386Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 54"}

data: {"time":"2026-09-19T16:15:38.386Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:38.389Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind54 ../src/curl -q --output log/curl54.out  --include --trace-ascii log/trace54 --trace-time http://127.0.0.1:36137/want/54 -L > log/stdout54 2> log/stderr54"}

data: {"time":"2026-09-19T16:15:38.391Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:38.391Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:38.391Z","priority":"6","pid":"2830187","message":" 16:15:37.976036 ====> Client connect"}

data: {"time":"2026-09-19T16:15:38.392Z","priority":"6","pid":"2830187","message":" 16:15:37.976100 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:38.392Z","priority":"6","pid":"2830187","message":" 16:15:37.976309 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:38.393Z","priority":"6","pid":"2830187","message":" 16:15:37.976338 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:38.393Z","priority":"6","pid":"2830187","message":" 16:15:37.976357 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:38.394Z","priority":"6","pid":"2830187","message":" 16:15:37.976368 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:38.394Z","priority":"6","pid":"2830187","message":" 16:15:37.976416 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:38.394Z","priority":"6","pid":"2830187","message":" 16:15:37.976444 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:38.395Z","priority":"6","pid":"2830187","message":" 16:15:37.976518 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:38.395Z","priority":"6","pid":"2830187","message":" 16:15:37.976532 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:38.396Z","priority":"6","pid":"2830187","message":" 16:15:37.976544 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:38.396Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:38.396Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:38.397Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:38.397Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59916"}

data: {"time":"2026-09-19T16:15:38.398Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:38.398Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:38.398Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:38.398Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:38.398Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:38.399Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:38.399Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:38.399Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:38.400Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:38.400Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:38.400Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:38.400Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:38.400Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:38.401Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:38.401Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:38.401Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:38.401Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:38.402Z","priority":"6","pid":"2830187","message":" Testnum 54"}

data: {"time":"2026-09-19T16:15:38.402Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:38.402Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:38.402Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:38.402Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:38.403Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:38.403Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:38.404Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind54"}

data: {"time":"2026-09-19T16:15:38.404Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:38.404Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:38.404Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:38.404Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.405Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:38.405Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:38.406Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:38.406Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:38.406Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:38.407Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.407Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:38.408Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:38.408Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:38.408Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:38.409Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:38.409Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:38.411Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:38.411Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.411Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:38.414Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:38.414Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.416Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:38.416Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:38.417Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:38.418Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.419Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:38.419Z","priority":"6","pid":"2830187","message":"=== End of file valgrind54"}

data: {"time":"2026-09-19T16:15:38.420Z","priority":"6","pid":"2830187","message":"test 0055 [HTTP follow redirect with single slash in path]"}

data: {"time":"2026-09-19T16:15:38.425Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind55 ../src/curl -q --output log/curl55.out  --include --trace-ascii log/trace55 --trace-time http://127.0.0.1:36137/55 -L > log/stdout55 2> log/stderr55"}

data: {"time":"2026-09-19T16:15:38.427Z","priority":"6","pid":"2830187","message":" 55: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:38.428Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:38.429Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:38.430Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 55"}

data: {"time":"2026-09-19T16:15:38.430Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:38.433Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind55 ../src/curl -q --output log/curl55.out  --include --trace-ascii log/trace55 --trace-time http://127.0.0.1:36137/55 -L > log/stdout55 2> log/stderr55"}

data: {"time":"2026-09-19T16:15:38.434Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:38.436Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:38.436Z","priority":"6","pid":"2830187","message":" 16:15:38.208364 ====> Client connect"}

data: {"time":"2026-09-19T16:15:38.436Z","priority":"6","pid":"2830187","message":" 16:15:38.228523 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:38.437Z","priority":"6","pid":"2830187","message":" 16:15:38.228965 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:38.438Z","priority":"6","pid":"2830187","message":" 16:15:38.228993 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:38.438Z","priority":"6","pid":"2830187","message":" 16:15:38.229009 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:38.439Z","priority":"6","pid":"2830187","message":" 16:15:38.229019 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:38.439Z","priority":"6","pid":"2830187","message":" 16:15:38.229067 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:38.439Z","priority":"6","pid":"2830187","message":" 16:15:38.229091 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:38.677Z","priority":"6","pid":"2830187","message":" 16:15:38.229162 Response sent (5CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind56 ../src/curl -q --output log/curl56.out  --include --trace-ascii log/trace56 --trace-time -K - 127.0.0.1:36137/that.site.com/56 <log/stdin-for-56 > log/stdout56 2> log/stderr56"}

data: {"time":"2026-09-19T16:15:38.682Z","priority":"6","pid":"2830187","message":"6 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:38.682Z","priority":"6","pid":"2830187","message":" 16:15:38.229173 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:38.683Z","priority":"6","pid":"2830187","message":" 16:15:38.229182 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:38.683Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:38.683Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:38.684Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:38.684Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59930"}

data: {"time":"2026-09-19T16:15:38.685Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:38.685Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:38.685Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:38.685Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:38.685Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:38.685Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:38.686Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:38.686Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:38.686Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:38.687Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:38.687Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:38.687Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:38.687Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:38.687Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:38.687Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:38.688Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:38.688Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:38.688Z","priority":"6","pid":"2830187","message":" Testnum 55"}

data: {"time":"2026-09-19T16:15:38.689Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:38.689Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:38.689Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:38.689Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:38.690Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:38.690Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:38.690Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind55"}

data: {"time":"2026-09-19T16:15:38.691Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:38.691Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:38.692Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:38.692Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.692Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:38.693Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:38.693Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:38.693Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:38.694Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:38.694Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.694Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:38.695Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:38.696Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:38.696Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:38.696Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:38.696Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:38.697Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:38.697Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.698Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:38.698Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:38.698Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.698Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:38.699Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:38.699Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:38.699Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:38.699Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:38.700Z","priority":"6","pid":"2830187","message":"=== End of file valgrind55"}

data: {"time":"2026-09-19T16:15:38.700Z","priority":"6","pid":"2830187","message":"test 0056 [HTTP POST with *HUGE* request and chunked transfer-encoding]"}

data: {"time":"2026-09-19T16:15:38.701Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind56 ../src/curl -q --output log/curl56.out  --include --trace-ascii log/trace56 --trace-time -K - 127.0.0.1:36137/that.site.com/56 <log/stdin-for-56 > log/stdout56 2> log/stderr56"}

data: {"time":"2026-09-19T16:15:38.702Z","priority":"6","pid":"2830187","message":" 56: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:38.702Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:38.702Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:38.703Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 56"}

data: {"time":"2026-09-19T16:15:38.703Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:38.705Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind56 ../src/curl -q --output log/curl56.out  --include --trace-ascii log/trace56 --trace-time -K - 127.0.0.1:36137/that.site.com/56 <log/stdin-for-56 > log/stdout56 2> log/stderr56"}

data: {"time":"2026-09-19T16:15:38.705Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:38.705Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:38.705Z","priority":"6","pid":"2830187","message":" 16:15:38.551913 ====> Client connect"}

data: {"time":"2026-09-19T16:15:38.706Z","priority":"6","pid":"2830187","message":" 16:15:38.551967 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:38.706Z","priority":"6","pid":"2830187","message":" 16:15:38.552179 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:38.706Z","priority":"6","pid":"2830187","message":" 16:15:38.552205 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:38.707Z","priority":"6","pid":"2830187","message":" 16:15:38.552222 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:38.708Z","priority":"6","pid":"2830187","message":" 16:15:38.552234 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:38.708Z","priority":"6","pid":"2830187","message":" 16:15:38.552277 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:38.708Z","priority":"6","pid":"2830187","message":" 16:15:38.552301 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:38.708Z","priority":"6","pid":"2830187","message":" 16:15:38.552358 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:38.709Z","priority":"6","pid":"2830187","message":" 16:15:38.552368 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:38.709Z","priority":"6","pid":"2830187","message":" 16:15:38.552377 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:38.710Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:38.710Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:38.710Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:38.711Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59940"}

data: {"time":"2026-09-19T16:15:38.711Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:38.711Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:38.712Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:38.712Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:38.712Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:38.712Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:38.713Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:38.713Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:38.713Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:38.713Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:38.713Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:38.714Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:38.714Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:38.714Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:38.715Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:38.715Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:38.715Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:38.715Z","priority":"6","pid":"2830187","message":" Testnum 56"}

data: {"time":"2026-09-19T16:15:38.716Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:38.716Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:38.717Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:38.717Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:38.717Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:38.717Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:38.717Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-56"}

data: {"time":"2026-09-19T16:15:38.717Z","priority":"6","pid":"2830187","message":" data \"we post this\""}

data: {"time":"2026-09-19T16:15:38.717Z","priority":"6","pid":"2830187","message":" # enforce chunky post"}

data: {"time":"2026-09-19T16:15:38.718Z","priority":"6","pid":"2830187","message":" header \"Transfer-Encoding: chunked\""}

data: {"time":"2026-09-19T16:15:38.718Z","priority":"6","pid":"2830187","message":" # Set the user-agent using a short-option:"}

data: {"time":"2026-09-19T16:15:39.303Z","priority":"6","pid":"2830187","message":" -A \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}

data: {"time":"2026-09-19T16:15:39.305Z","priority":"6","pid":"2830187","message":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind57 ../src/curl -q --include --trace-ascii log/trace57 --trace-time -w \"%{content_type}\\n\" http://127.0.0.1:36137/57 -o log/out57 > log/stdout57 2> log/stderr57"}

data: {"time":"2026-09-19T16:15:39.332Z","priority":"6","pid":"2830187","message":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\""}

data: {"time":"2026-09-19T16:15:39.333Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-56"}

data: {"time":"2026-09-19T16:15:39.333Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind56"}

data: {"time":"2026-09-19T16:15:39.333Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:39.334Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:39.334Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:39.334Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.335Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:39.335Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:39.335Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:39.336Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:39.336Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:39.336Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.337Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:39.337Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:39.337Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:39.338Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:39.338Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:39.339Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:39.339Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:39.340Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.340Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:39.340Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:39.340Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.342Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:39.342Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:39.342Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:39.342Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.342Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:39.342Z","priority":"6","pid":"2830187","message":"=== End of file valgrind56"}

data: {"time":"2026-09-19T16:15:39.579Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind58 ../src/curl -q --output log/curl58.out  --include --trace-ascii log/trace58 --trace-time http://127.0.0.1:36137/we/want/ -T log/58te[]st.txt -g > log/stdout58 2> log/stderr58"}

data: {"time":"2026-09-19T16:15:39.805Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind59 ../src/curl -q --output log/curl59.out  --include --trace-ascii log/trace59 --trace-time \"http://127.0.0.1:36137?mooo/59\" > log/stdout59 2> log/stderr59"}

data: {"time":"2026-09-19T16:15:39.808Z","priority":"6","pid":"2830187","message":"test 0057 [HTTP content-type with spaces in]"}

data: {"time":"2026-09-19T16:15:39.809Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind57 ../src/curl -q --include --trace-ascii log/trace57 --trace-time -w \"%{content_type}\\n\" http://127.0.0.1:36137/57 -o log/out57 > log/stdout57 2> log/stderr57"}

data: {"time":"2026-09-19T16:15:39.810Z","priority":"6","pid":"2830187","message":" 57: stdout FAILED:"}

data: {"time":"2026-09-19T16:15:39.811Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:15:39.310221568 +0000"}

data: {"time":"2026-09-19T16:15:39.811Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:15:39.309316783 +0000"}

data: {"time":"2026-09-19T16:15:39.811Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:15:39.812Z","priority":"6","pid":"2830187","message":"-text/html; charset=ISO-8859-4[CR][LF]"}

data: {"time":"2026-09-19T16:15:39.812Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 57"}

data: {"time":"2026-09-19T16:15:39.812Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:15:39.813Z","priority":"6","pid":"2830187","message":" text/html; charset=ISO-8859-4[CR][LF]"}

data: {"time":"2026-09-19T16:15:39.814Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:15:39.814Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:39.815Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind57 ../src/curl -q --include --trace-ascii log/trace57 --trace-time -w \"%{content_type}\\n\" http://127.0.0.1:36137/57 -o log/out57 > log/stdout57 2> log/stderr57"}

data: {"time":"2026-09-19T16:15:39.815Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:39.815Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:39.816Z","priority":"6","pid":"2830187","message":" 16:15:39.164641 ====> Client connect"}

data: {"time":"2026-09-19T16:15:39.816Z","priority":"6","pid":"2830187","message":" 16:15:39.164708 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:39.817Z","priority":"6","pid":"2830187","message":" 16:15:39.164840 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:39.817Z","priority":"6","pid":"2830187","message":" 16:15:39.164854 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:39.817Z","priority":"6","pid":"2830187","message":" 16:15:39.164868 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:39.818Z","priority":"6","pid":"2830187","message":" 16:15:39.164875 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:39.818Z","priority":"6","pid":"2830187","message":" 16:15:39.164904 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:39.819Z","priority":"6","pid":"2830187","message":" 16:15:39.164921 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:39.819Z","priority":"6","pid":"2830187","message":" 16:15:39.164968 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:39.820Z","priority":"6","pid":"2830187","message":" 16:15:39.164983 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:39.820Z","priority":"6","pid":"2830187","message":" 16:15:39.164998 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:39.820Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:39.821Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:39.821Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:39.822Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59948"}

data: {"time":"2026-09-19T16:15:39.822Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:39.822Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:39.823Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:39.823Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:39.823Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:39.824Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:39.824Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:39.825Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:39.825Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:39.825Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:39.825Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:39.825Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:39.825Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:39.826Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:39.826Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:39.826Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:39.827Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:39.827Z","priority":"6","pid":"2830187","message":" Testnum 57"}

data: {"time":"2026-09-19T16:15:39.827Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:39.828Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:39.828Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:39.828Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:39.828Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:39.829Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:39.829Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind57"}

data: {"time":"2026-09-19T16:15:39.829Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:39.830Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:39.831Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:39.831Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.832Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:39.832Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:39.832Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:39.833Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:39.834Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:39.834Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.835Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:39.837Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:39.838Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:39.838Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:39.839Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:39.840Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:39.842Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:39.842Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.842Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:39.842Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:39.843Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.844Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:39.845Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:39.846Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:39.846Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.847Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:39.847Z","priority":"6","pid":"2830187","message":"=== End of file valgrind57"}

data: {"time":"2026-09-19T16:15:39.848Z","priority":"6","pid":"2830187","message":"test 0058 [HTTP PUT from file with weird letters]"}

data: {"time":"2026-09-19T16:15:39.850Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind58 ../src/curl -q --output log/curl58.out  --include --trace-ascii log/trace58 --trace-time http://127.0.0.1:36137/we/want/ -T log/58te[]st.txt -g > log/stdout58 2> log/stderr58"}

data: {"time":"2026-09-19T16:15:39.851Z","priority":"6","pid":"2830187","message":" 58: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:39.852Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:39.852Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:39.852Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 58"}

data: {"time":"2026-09-19T16:15:39.852Z","priority":"6","pid":"2830187","message":"=== Start of file 58te[]st.txt"}

data: {"time":"2026-09-19T16:15:39.853Z","priority":"6","pid":"2830187","message":" a few bytes"}

data: {"time":"2026-09-19T16:15:39.853Z","priority":"6","pid":"2830187","message":"=== End of file 58te[]st.txt"}

data: {"time":"2026-09-19T16:15:39.853Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:39.856Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind58 ../src/curl -q --output log/curl58.out  --include --trace-ascii log/trace58 --trace-time http://127.0.0.1:36137/we/want/ -T log/58te[]st.txt -g > log/stdout58 2> log/stderr58"}

data: {"time":"2026-09-19T16:15:39.856Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:39.856Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:39.856Z","priority":"6","pid":"2830187","message":" 16:15:39.461031 ====> Client connect"}

data: {"time":"2026-09-19T16:15:39.856Z","priority":"6","pid":"2830187","message":" 16:15:39.461098 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:39.856Z","priority":"6","pid":"2830187","message":" 16:15:39.461326 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:39.857Z","priority":"6","pid":"2830187","message":" 16:15:39.461344 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:39.857Z","priority":"6","pid":"2830187","message":" 16:15:39.461360 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:39.857Z","priority":"6","pid":"2830187","message":" 16:15:39.461370 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:39.858Z","priority":"6","pid":"2830187","message":" 16:15:39.461407 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:39.858Z","priority":"6","pid":"2830187","message":" 16:15:39.461437 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:39.859Z","priority":"6","pid":"2830187","message":" 16:15:39.461509 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:39.859Z","priority":"6","pid":"2830187","message":" 16:15:39.461520 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:39.859Z","priority":"6","pid":"2830187","message":" 16:15:39.461529 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:39.860Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:39.860Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:39.860Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:39.861Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59952"}

data: {"time":"2026-09-19T16:15:39.861Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:39.862Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:39.862Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:39.862Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:39.862Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:39.862Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:39.863Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:39.863Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:39.864Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:39.864Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:39.864Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:39.864Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:39.864Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:39.864Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:39.865Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:39.866Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:39.866Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:39.866Z","priority":"6","pid":"2830187","message":" Testnum 58"}

data: {"time":"2026-09-19T16:15:39.867Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:39.868Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:39.869Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:39.870Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:39.870Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:39.870Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:39.871Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind58"}

data: {"time":"2026-09-19T16:15:39.872Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:39.874Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:39.874Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:39.874Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.874Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:39.875Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:39.877Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:39.878Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:39.878Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:39.878Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.878Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:39.880Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:39.881Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:39.882Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:39.882Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:39.883Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:39.884Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:39.884Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.886Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:39.886Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:39.886Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.887Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:39.888Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:39.889Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:39.889Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:39.890Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:39.891Z","priority":"6","pid":"2830187","message":"=== End of file valgrind58"}

data: {"time":"2026-09-19T16:15:39.891Z","priority":"6","pid":"2830187","message":"test 0059 [HTTP URL with slash but with \"parameter\"]"}

data: {"time":"2026-09-19T16:15:39.894Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind59 ../src/curl -q --output log/curl59.out  --include --trace-ascii log/trace59 --trace-time \"http://127.0.0.1:36137?mooo/59\" > log/stdout59 2> log/stderr59"}

data: {"time":"2026-09-19T16:15:40.114Z","priority":"6","pid":"2830187","message":" 59CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind60 ../src/curl -q --output log/curl60.out  --include --trace-ascii log/trace60 --trace-time http://127.0.0.1:36137/bzz/60 -T - -H \"Content-Length: 1\" <log/stdin-for-60 > log/stdout60 2> log/stderr60"}

data: {"time":"2026-09-19T16:15:40.349Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind61 ../src/curl -q --output log/curl61.out  --include --trace-ascii log/trace61 --trace-time http://127.0.0.1:36137/we/want/61 -c log/jar61.txt -H \"Host: www.host.foo.com\" > log/stdout61 2> log/stderr61"}

data: {"time":"2026-09-19T16:15:40.353Z","priority":"6","pid":"2830187","message":": protocol FAILED!"}

data: {"time":"2026-09-19T16:15:40.353Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:40.353Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:40.354Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 59"}

data: {"time":"2026-09-19T16:15:40.354Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:40.355Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind59 ../src/curl -q --output log/curl59.out  --include --trace-ascii log/trace59 --trace-time \"http://127.0.0.1:36137?mooo/59\" > log/stdout59 2> log/stderr59"}

data: {"time":"2026-09-19T16:15:40.356Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:40.356Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:40.356Z","priority":"6","pid":"2830187","message":" 16:15:39.705900 ====> Client connect"}

data: {"time":"2026-09-19T16:15:40.357Z","priority":"6","pid":"2830187","message":" 16:15:39.705945 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:40.357Z","priority":"6","pid":"2830187","message":" 16:15:39.705978 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:40.357Z","priority":"6","pid":"2830187","message":" 16:15:39.705989 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:40.358Z","priority":"6","pid":"2830187","message":" 16:15:39.706005 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:40.358Z","priority":"6","pid":"2830187","message":" 16:15:39.706015 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:40.358Z","priority":"6","pid":"2830187","message":" 16:15:39.706044 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:40.359Z","priority":"6","pid":"2830187","message":" 16:15:39.706062 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:40.359Z","priority":"6","pid":"2830187","message":" 16:15:39.706138 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:40.359Z","priority":"6","pid":"2830187","message":" 16:15:39.706149 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:40.360Z","priority":"6","pid":"2830187","message":" 16:15:39.706159 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:40.360Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:40.361Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:40.361Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:40.361Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59966"}

data: {"time":"2026-09-19T16:15:40.361Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:40.361Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:40.362Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:40.362Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:40.362Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:40.362Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:40.362Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:40.362Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:40.363Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:40.363Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:40.363Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:40.364Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:40.364Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:40.364Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:40.365Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:40.366Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:40.366Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:40.366Z","priority":"6","pid":"2830187","message":" Testnum 59"}

data: {"time":"2026-09-19T16:15:40.367Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:40.367Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:40.367Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:40.369Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:40.369Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:40.369Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:40.369Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind59"}

data: {"time":"2026-09-19T16:15:40.371Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:40.372Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:40.373Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:40.375Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.375Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:40.377Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:40.378Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:40.378Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:40.378Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:40.379Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.379Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:40.379Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:40.380Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:40.381Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:40.382Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:40.382Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:40.383Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:40.383Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.383Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:40.384Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:40.384Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.385Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:40.385Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:40.385Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:40.386Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.386Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:40.386Z","priority":"6","pid":"2830187","message":"=== End of file valgrind59"}

data: {"time":"2026-09-19T16:15:40.387Z","priority":"6","pid":"2830187","message":"test 0060 [HTTP PUT from stdin with wrong content-length]"}

data: {"time":"2026-09-19T16:15:40.388Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind60 ../src/curl -q --output log/curl60.out  --include --trace-ascii log/trace60 --trace-time http://127.0.0.1:36137/bzz/60 -T - -H \"Content-Length: 1\" <log/stdin-for-60 > log/stdout60 2> log/stderr60"}

data: {"time":"2026-09-19T16:15:40.389Z","priority":"6","pid":"2830187","message":" 60: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:40.389Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:40.389Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:40.390Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 60"}

data: {"time":"2026-09-19T16:15:40.390Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:40.392Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind60 ../src/curl -q --output log/curl60.out  --include --trace-ascii log/trace60 --trace-time http://127.0.0.1:36137/bzz/60 -T - -H \"Content-Length: 1\" <log/stdin-for-60 > log/stdout60 2> log/stderr60"}

data: {"time":"2026-09-19T16:15:40.393Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:40.393Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:40.393Z","priority":"6","pid":"2830187","message":" 16:15:40.011048 ====> Client connect"}

data: {"time":"2026-09-19T16:15:40.393Z","priority":"6","pid":"2830187","message":" 16:15:40.011098 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:40.393Z","priority":"6","pid":"2830187","message":" 16:15:40.011237 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:40.394Z","priority":"6","pid":"2830187","message":" 16:15:40.011252 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:40.394Z","priority":"6","pid":"2830187","message":" 16:15:40.011266 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:40.395Z","priority":"6","pid":"2830187","message":" 16:15:40.011274 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:40.396Z","priority":"6","pid":"2830187","message":" 16:15:40.011303 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:40.396Z","priority":"6","pid":"2830187","message":" 16:15:40.011327 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:40.396Z","priority":"6","pid":"2830187","message":" 16:15:40.011400 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:40.396Z","priority":"6","pid":"2830187","message":" 16:15:40.011412 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:40.396Z","priority":"6","pid":"2830187","message":" 16:15:40.011423 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:40.397Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:40.397Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:40.397Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:40.398Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59976"}

data: {"time":"2026-09-19T16:15:40.398Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:40.398Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:40.399Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:40.399Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:40.399Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:40.399Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:40.400Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:40.400Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:40.400Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:40.400Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:40.401Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:40.401Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:40.401Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:40.402Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:40.402Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:40.402Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:40.402Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:40.403Z","priority":"6","pid":"2830187","message":" Testnum 60"}

data: {"time":"2026-09-19T16:15:40.403Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:40.403Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:40.404Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:40.404Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:40.404Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:40.404Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:40.405Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-60"}

data: {"time":"2026-09-19T16:15:40.405Z","priority":"6","pid":"2830187","message":" more than one byte"}

data: {"time":"2026-09-19T16:15:40.405Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-60"}

data: {"time":"2026-09-19T16:15:40.405Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind60"}

data: {"time":"2026-09-19T16:15:40.406Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:40.406Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:40.407Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:40.407Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.407Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:40.408Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:40.408Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:40.409Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:40.409Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:40.410Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.410Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:40.411Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:40.411Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:40.412Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:40.413Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:40.413Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:40.413Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:40.413Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.413Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:40.414Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:40.414Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.414Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:40.415Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:40.415Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:40.415Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.416Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:40.416Z","priority":"6","pid":"2830187","message":"=== End of file valgrind60"}

data: {"time":"2026-09-19T16:15:40.417Z","priority":"6","pid":"2830187","message":"setenv TZ = GMT"}

data: {"time":"2026-09-19T16:15:40.417Z","priority":"6","pid":"2830187","message":"test 0061 [HTTP with various cookies and custom Host:]"}

data: {"time":"2026-09-19T16:15:40.418Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind61 ../src/curl -q --output log/curl61.out  --include --trace-ascii log/trace61 --trace-time http://127.0.0.1:36137/we/want/61 -c log/jar61.txt -H \"Host: www.host.foo.com\" > log/stdout61 2> log/stderr61"}

data: {"time":"2026-09-19T16:15:40.419Z","priority":"6","pid":"2830187","message":" 61: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:40.419Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:40.420Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:40.420Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 61"}

data: {"time":"2026-09-19T16:15:40.421Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:40.688Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind61 ../src/curl -q --output log/curl61.out  CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind62 ../src/curl -q --output log/curl62.out  --include --trace-ascii log/trace62 --trace-time http://127.0.0.1:36137/we/want/62 http://127.0.0.1:36137/we/want/62?hoge=fuga -b log/jar62.txt -H \"Host: www.host.foo.com\" > log/stdout62 2> log/stderr62"}

data: {"time":"2026-09-19T16:15:40.917Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind63 ../src/curl -q --output log/curl63.out  --include --trace-ascii log/trace63 --trace-time http://we.want.that.site.com/63 > log/stdout63 2> log/stderr63"}

data: {"time":"2026-09-19T16:15:40.921Z","priority":"6","pid":"2830187","message":"--include --trace-ascii log/trace61 --trace-time http://127.0.0.1:36137/we/want/61 -c log/jar61.txt -H \"Host: www.host.foo.com\" > log/stdout61 2> log/stderr61"}

data: {"time":"2026-09-19T16:15:40.922Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:40.922Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:40.922Z","priority":"6","pid":"2830187","message":" 16:15:40.235584 ====> Client connect"}

data: {"time":"2026-09-19T16:15:40.922Z","priority":"6","pid":"2830187","message":" 16:15:40.235845 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:40.922Z","priority":"6","pid":"2830187","message":" 16:15:40.235884 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:40.923Z","priority":"6","pid":"2830187","message":" 16:15:40.235900 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:40.923Z","priority":"6","pid":"2830187","message":" 16:15:40.235938 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:40.924Z","priority":"6","pid":"2830187","message":" 16:15:40.235953 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:40.924Z","priority":"6","pid":"2830187","message":" 16:15:40.236003 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:40.925Z","priority":"6","pid":"2830187","message":" 16:15:40.236027 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:40.925Z","priority":"6","pid":"2830187","message":" 16:15:40.236126 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:40.926Z","priority":"6","pid":"2830187","message":" 16:15:40.236141 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:40.926Z","priority":"6","pid":"2830187","message":" 16:15:40.236151 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:40.927Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:40.927Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:40.927Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:40.928Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59988"}

data: {"time":"2026-09-19T16:15:40.928Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:40.928Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:40.929Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:40.929Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:40.929Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:40.930Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:40.930Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:40.930Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:40.930Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:40.930Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:40.930Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:40.931Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:40.931Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:40.931Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:40.932Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:40.932Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:40.933Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:40.933Z","priority":"6","pid":"2830187","message":" Testnum 61"}

data: {"time":"2026-09-19T16:15:40.933Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:40.933Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:40.934Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:40.934Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:40.934Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:40.934Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:40.935Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind61"}

data: {"time":"2026-09-19T16:15:40.935Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:40.935Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:40.936Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:40.936Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.937Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:40.937Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:40.937Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:40.938Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:40.938Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:40.938Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.939Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:40.940Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:40.941Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:40.941Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:40.943Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:40.943Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:40.944Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:40.944Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.946Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:40.946Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:40.948Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.948Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:40.948Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:40.949Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:40.949Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.952Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:40.952Z","priority":"6","pid":"2830187","message":"=== End of file valgrind61"}

data: {"time":"2026-09-19T16:15:40.952Z","priority":"6","pid":"2830187","message":"test 0062 [HTTP, send cookies when using custom Host:]"}

data: {"time":"2026-09-19T16:15:40.954Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind62 ../src/curl -q --output log/curl62.out  --include --trace-ascii log/trace62 --trace-time http://127.0.0.1:36137/we/want/62 http://127.0.0.1:36137/we/want/62?hoge=fuga -b log/jar62.txt -H \"Host: www.host.foo.com\" > log/stdout62 2> log/stderr62"}

data: {"time":"2026-09-19T16:15:40.955Z","priority":"6","pid":"2830187","message":" 62: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:40.955Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:40.957Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:40.957Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 62"}

data: {"time":"2026-09-19T16:15:40.957Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:40.959Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind62 ../src/curl -q --output log/curl62.out  --include --trace-ascii log/trace62 --trace-time http://127.0.0.1:36137/we/want/62 http://127.0.0.1:36137/we/want/62?hoge=fuga -b log/jar62.txt -H \"Host: www.host.foo.com\" > log/stdout62 2> log/stderr62"}

data: {"time":"2026-09-19T16:15:40.959Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:40.959Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:40.960Z","priority":"6","pid":"2830187","message":" 16:15:40.538301 ====> Client connect"}

data: {"time":"2026-09-19T16:15:40.960Z","priority":"6","pid":"2830187","message":" 16:15:40.538372 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:40.961Z","priority":"6","pid":"2830187","message":" 16:15:40.538644 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:40.961Z","priority":"6","pid":"2830187","message":" 16:15:40.538675 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:40.961Z","priority":"6","pid":"2830187","message":" 16:15:40.538694 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:40.962Z","priority":"6","pid":"2830187","message":" 16:15:40.538707 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:40.962Z","priority":"6","pid":"2830187","message":" 16:15:40.538767 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:40.963Z","priority":"6","pid":"2830187","message":" 16:15:40.538799 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:40.963Z","priority":"6","pid":"2830187","message":" 16:15:40.538898 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:40.964Z","priority":"6","pid":"2830187","message":" 16:15:40.538913 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:40.964Z","priority":"6","pid":"2830187","message":" 16:15:40.538923 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:40.964Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:40.965Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:40.965Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:40.966Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 59996"}

data: {"time":"2026-09-19T16:15:40.966Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:40.967Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:40.967Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:40.967Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:40.967Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:40.968Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:40.968Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:40.968Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:40.968Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:40.968Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:40.968Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:40.969Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:40.969Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:40.969Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:40.970Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:40.970Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:40.970Z","priority":"6","pid":"2830187","message":"=== Start of file jar62.txt"}

data: {"time":"2026-09-19T16:15:40.970Z","priority":"6","pid":"2830187","message":" # Netscape HTTP Cookie File"}

data: {"time":"2026-09-19T16:15:40.971Z","priority":"6","pid":"2830187","message":" # https://curl.se/docs/http-cookies.html"}

data: {"time":"2026-09-19T16:15:40.971Z","priority":"6","pid":"2830187","message":" # This file was generated by libcurl! Edit at your own risk."}

data: {"time":"2026-09-19T16:15:40.972Z","priority":"6","pid":"2830187","message":" #HttpOnly_.foo.com\tTRUE\t/we/want/\tFALSE\t22147483647\ttest\tyes"}

data: {"time":"2026-09-19T16:15:40.972Z","priority":"6","pid":"2830187","message":" .host.foo.com\tTRUE\t/we/want/\tFALSE\t22147483647\ttest2\tyes"}

data: {"time":"2026-09-19T16:15:40.973Z","priority":"6","pid":"2830187","message":" .fake.host.foo.com\tTRUE\t/we/want/\tFALSE\t22147483647\ttest4\tyes"}

data: {"time":"2026-09-19T16:15:40.973Z","priority":"6","pid":"2830187","message":" .foo.com\tTRUE\t/moo\tTRUE\t0\ttest3\tmaybe"}

data: {"time":"2026-09-19T16:15:40.974Z","priority":"6","pid":"2830187","message":"=== End of file jar62.txt"}

data: {"time":"2026-09-19T16:15:40.974Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:40.974Z","priority":"6","pid":"2830187","message":" Testnum 62"}

data: {"time":"2026-09-19T16:15:40.974Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:40.975Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:40.975Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:40.976Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:40.976Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:40.976Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:40.976Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind62"}

data: {"time":"2026-09-19T16:15:40.976Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:40.977Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:40.977Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:40.978Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.978Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:40.978Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:40.979Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:40.979Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:40.980Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:40.980Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.980Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:40.981Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:40.981Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:40.981Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:40.982Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:40.982Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:40.983Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:40.983Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.984Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:40.985Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:40.986Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.986Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:40.986Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:40.987Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:40.987Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:40.987Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:40.988Z","priority":"6","pid":"2830187","message":"=== End of file valgrind62"}

data: {"time":"2026-09-19T16:15:40.988Z","priority":"6","pid":"2830187","message":"setenv http_proxy = http://fake:user@127.0.0.1:36137/"}

data: {"time":"2026-09-19T16:15:40.989Z","priority":"6","pid":"2830187","message":"test 0063 [HTTP with proxy authorization set in environment]"}

data: {"time":"2026-09-19T16:15:40.990Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind63 ../src/curl -q --output log/curl63.out  --include --trace-ascii log/trace63 --trace-time http://we.want.that.site.com/63 > log/stdout63 2> log/stderr63"}

data: {"time":"2026-09-19T16:15:40.991Z","priority":"6","pid":"2830187","message":" 63: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:40.991Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:40.991Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:40.992Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 63"}

data: {"time":"2026-09-19T16:15:40.992Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:41.231Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind63 ../src/curl -q -CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind64 ../src/curl -q --output log/curl64.out  --include --trace-ascii log/trace64 --trace-time 'http://127.0.0.1:36137/64\"' -u testuser:testpass --digest > log/stdout64 2> log/stderr64"}

data: {"time":"2026-09-19T16:15:41.602Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind65 ../src/curl -q --output log/curl65.out  --include --trace-ascii log/trace65 --trace-time http://127.0.0.1:36137/65 -u testuser:test2pass --digest > log/stdout65 2> log/stderr65"}

data: {"time":"2026-09-19T16:15:41.607Z","priority":"6","pid":"2830187","message":"-output log/curl63.out  --include --trace-ascii log/trace63 --trace-time http://we.want.that.site.com/63 > log/stdout63 2> log/stderr63"}

data: {"time":"2026-09-19T16:15:41.609Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:41.609Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:41.609Z","priority":"6","pid":"2830187","message":" 16:15:40.806454 ====> Client connect"}

data: {"time":"2026-09-19T16:15:41.609Z","priority":"6","pid":"2830187","message":" 16:15:40.806514 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:41.609Z","priority":"6","pid":"2830187","message":" 16:15:40.806828 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:41.610Z","priority":"6","pid":"2830187","message":" 16:15:40.806857 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:41.610Z","priority":"6","pid":"2830187","message":" 16:15:40.806880 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:41.610Z","priority":"6","pid":"2830187","message":" 16:15:40.806890 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:41.611Z","priority":"6","pid":"2830187","message":" 16:15:40.806942 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:41.611Z","priority":"6","pid":"2830187","message":" 16:15:40.806979 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:41.612Z","priority":"6","pid":"2830187","message":" 16:15:40.807087 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:41.612Z","priority":"6","pid":"2830187","message":" 16:15:40.807101 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:41.613Z","priority":"6","pid":"2830187","message":" 16:15:40.807111 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:41.613Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:41.613Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:41.614Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:41.614Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60006"}

data: {"time":"2026-09-19T16:15:41.614Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:41.615Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:41.615Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:41.616Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:41.616Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:41.616Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:41.616Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:41.616Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:41.617Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:41.617Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:41.617Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:41.617Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:41.617Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:41.617Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:41.618Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:41.618Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:41.618Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:41.618Z","priority":"6","pid":"2830187","message":" Testnum 63"}

data: {"time":"2026-09-19T16:15:41.619Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:41.619Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:41.619Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:41.620Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:41.620Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:41.620Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:41.620Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind63"}

data: {"time":"2026-09-19T16:15:41.621Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:41.621Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:41.622Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:41.622Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.622Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:41.623Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:41.623Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:41.623Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:41.624Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:41.624Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.625Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:41.625Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:41.625Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:41.626Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:41.626Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:41.627Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:41.627Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:41.627Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.628Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:41.628Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:41.629Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.629Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:41.629Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:41.629Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:41.629Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.630Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:41.630Z","priority":"6","pid":"2830187","message":"=== End of file valgrind63"}

data: {"time":"2026-09-19T16:15:41.630Z","priority":"6","pid":"2830187","message":"test 0064 [HTTP with Digest authorization]"}

data: {"time":"2026-09-19T16:15:41.632Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind64 ../src/curl -q --output log/curl64.out  --include --trace-ascii log/trace64 --trace-time 'http://127.0.0.1:36137/64\"' -u testuser:testpass --digest > log/stdout64 2> log/stderr64"}

data: {"time":"2026-09-19T16:15:41.632Z","priority":"6","pid":"2830187","message":" 64: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:41.632Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:41.633Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:41.633Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 64"}

data: {"time":"2026-09-19T16:15:41.634Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:41.635Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind64 ../src/curl -q --output log/curl64.out  --include --trace-ascii log/trace64 --trace-time 'http://127.0.0.1:36137/64\"' -u testuser:testpass --digest > log/stdout64 2> log/stderr64"}

data: {"time":"2026-09-19T16:15:41.635Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:41.636Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:41.636Z","priority":"6","pid":"2830187","message":" 16:15:41.108905 ====> Client connect"}

data: {"time":"2026-09-19T16:15:41.636Z","priority":"6","pid":"2830187","message":" 16:15:41.108964 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:41.637Z","priority":"6","pid":"2830187","message":" 16:15:41.109173 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:41.637Z","priority":"6","pid":"2830187","message":" 16:15:41.109205 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:41.638Z","priority":"6","pid":"2830187","message":" 16:15:41.109223 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:41.638Z","priority":"6","pid":"2830187","message":" 16:15:41.109235 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:41.639Z","priority":"6","pid":"2830187","message":" 16:15:41.109283 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:41.639Z","priority":"6","pid":"2830187","message":" 16:15:41.109310 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:41.639Z","priority":"6","pid":"2830187","message":" 16:15:41.109397 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:41.640Z","priority":"6","pid":"2830187","message":" 16:15:41.109411 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:41.640Z","priority":"6","pid":"2830187","message":" 16:15:41.109421 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:41.641Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:41.641Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:41.641Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:41.642Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60016"}

data: {"time":"2026-09-19T16:15:41.642Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:41.642Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:41.642Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:41.643Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:41.643Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:41.643Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:41.643Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:41.644Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:41.644Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:41.644Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:41.644Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:41.644Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:41.645Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:41.645Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:41.645Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:41.645Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:41.646Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:41.646Z","priority":"6","pid":"2830187","message":" Testnum 64"}

data: {"time":"2026-09-19T16:15:41.646Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:41.646Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:41.646Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:41.647Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:41.647Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:41.647Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:41.647Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind64"}

data: {"time":"2026-09-19T16:15:41.648Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:41.648Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:41.649Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:41.649Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.649Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:41.649Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:41.650Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:41.650Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:41.651Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:41.651Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.651Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:41.652Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:41.652Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:41.653Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:41.653Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:41.654Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:41.654Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:41.654Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.654Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:41.655Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:41.655Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.655Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:41.656Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:41.656Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:41.656Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:41.657Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:41.657Z","priority":"6","pid":"2830187","message":"=== End of file valgrind64"}

data: {"time":"2026-09-19T16:15:41.657Z","priority":"6","pid":"2830187","message":"test 0065 [HTTP with Digest authorization with bad password]"}

data: {"time":"2026-09-19T16:15:41.659Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind65 ../src/curl -q --output log/curl65.out  --include --trace-ascii log/trace65 --trace-time http://127.0.0.1:36137/65 -u testuser:test2pass --digest > log/stdout65 2> log/stderr65"}

data: {"time":"2026-09-19T16:15:41.659Z","priority":"6","pid":"2830187","message":" 65: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:41.659Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:41.660Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:41.660Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 65"}

data: {"time":"2026-09-19T16:15:41.661Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:41.662Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind65 ../src/curl -q --output log/curl65.out  --include --trace-ascii log/trace65 --trace-time http://127.0.0.1:36137/65 -u testuser:test2pass --digest > log/stdout65 2> log/stderr65"}

data: {"time":"2026-09-19T16:15:41.662Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:41.662Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:41.663Z","priority":"6","pid":"2830187","message":" 16:15:41.386183 ====> Client connect"}

data: {"time":"2026-09-19T16:15:41.664Z","priority":"6","pid":"2830187","message":" 16:15:41.386783 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:41.664Z","priority":"6","pid":"2830187","message":" 16:15:41.386844 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:41.664Z","priority":"6","pid":"2830187","message":" 16:15:41.386862 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:41.664Z","priority":"6","pid":"2830187","message":" 16:15:41.386881 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:41.664Z","priority":"6","pid":"2830187","message":" 16:15:41.386893 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:41.665Z","priority":"6","pid":"2830187","message":" 16:15:41.386958 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:41.888Z","priority":"6","pid":"2830187","message":" 16:15:41.386985 Identifying ourselves aCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind66 ../src/curl -q --output log/curl66.out  --include --trace-ascii log/trace66 --trace-time http://127.0.0.1:36137/66 --http0.9 > log/stdout66 2> log/stderr66"}

data: {"time":"2026-09-19T16:15:42.105Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind71 ../src/curl -q --output log/curl71.out  --include --trace-ascii log/trace71 --trace-time http://127.0.0.1:36137/we/want/71 -K - <log/stdin-for-71 > log/stdout71 2> log/stderr71"}

data: {"time":"2026-09-19T16:15:42.109Z","priority":"6","pid":"2830187","message":"s friends"}

data: {"time":"2026-09-19T16:15:42.109Z","priority":"6","pid":"2830187","message":" 16:15:41.387090 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:42.110Z","priority":"6","pid":"2830187","message":" 16:15:41.387106 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:42.110Z","priority":"6","pid":"2830187","message":" 16:15:41.387118 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:42.110Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:42.111Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.111Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:42.112Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60028"}

data: {"time":"2026-09-19T16:15:42.112Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:42.112Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:42.112Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:42.113Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:42.113Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:42.113Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:42.113Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:42.114Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.114Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.114Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:42.114Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:42.115Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:42.115Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.115Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.115Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:42.116Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.116Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.116Z","priority":"6","pid":"2830187","message":" Testnum 65"}

data: {"time":"2026-09-19T16:15:42.116Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.117Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:42.117Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.117Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.117Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:42.118Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:42.118Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind65"}

data: {"time":"2026-09-19T16:15:42.118Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:42.119Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:42.119Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:42.119Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.120Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:42.120Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:42.120Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:42.121Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:42.121Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:42.121Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.122Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:42.122Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:42.123Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:42.123Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:42.124Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:42.124Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:42.124Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:42.125Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.125Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:42.125Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:42.126Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.126Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:42.126Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:42.127Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:42.127Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.127Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:42.128Z","priority":"6","pid":"2830187","message":"=== End of file valgrind65"}

data: {"time":"2026-09-19T16:15:42.128Z","priority":"6","pid":"2830187","message":"test 0066 [HTTP GET without headers in the response]"}

data: {"time":"2026-09-19T16:15:42.130Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind66 ../src/curl -q --output log/curl66.out  --include --trace-ascii log/trace66 --trace-time http://127.0.0.1:36137/66 --http0.9 > log/stdout66 2> log/stderr66"}

data: {"time":"2026-09-19T16:15:42.130Z","priority":"6","pid":"2830187","message":" 66: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:42.130Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:42.131Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:42.131Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 66"}

data: {"time":"2026-09-19T16:15:42.132Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:42.133Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind66 ../src/curl -q --output log/curl66.out  --include --trace-ascii log/trace66 --trace-time http://127.0.0.1:36137/66 --http0.9 > log/stdout66 2> log/stderr66"}

data: {"time":"2026-09-19T16:15:42.133Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:42.134Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:42.134Z","priority":"6","pid":"2830187","message":" 16:15:41.779460 ====> Client connect"}

data: {"time":"2026-09-19T16:15:42.134Z","priority":"6","pid":"2830187","message":" 16:15:41.779533 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:42.135Z","priority":"6","pid":"2830187","message":" 16:15:41.779746 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:42.135Z","priority":"6","pid":"2830187","message":" 16:15:41.779765 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:42.135Z","priority":"6","pid":"2830187","message":" 16:15:41.779786 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:42.136Z","priority":"6","pid":"2830187","message":" 16:15:41.779797 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:42.136Z","priority":"6","pid":"2830187","message":" 16:15:41.779857 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:42.137Z","priority":"6","pid":"2830187","message":" 16:15:41.779883 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:42.137Z","priority":"6","pid":"2830187","message":" 16:15:41.779950 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:42.137Z","priority":"6","pid":"2830187","message":" 16:15:41.779961 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:42.138Z","priority":"6","pid":"2830187","message":" 16:15:41.779970 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:42.138Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:42.139Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.139Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:42.140Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60044"}

data: {"time":"2026-09-19T16:15:42.140Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:42.140Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:42.140Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:42.141Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:42.141Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:42.141Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:42.141Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:42.142Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.142Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.143Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:42.143Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:42.144Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:42.144Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.145Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.147Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:42.147Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.148Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.148Z","priority":"6","pid":"2830187","message":" Testnum 66"}

data: {"time":"2026-09-19T16:15:42.148Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.148Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:42.148Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.148Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.149Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:42.150Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:42.150Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind66"}

data: {"time":"2026-09-19T16:15:42.151Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:42.152Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:42.153Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:42.153Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.153Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:42.155Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:42.155Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:42.157Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:42.158Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:42.158Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.158Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:42.158Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:42.160Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:42.161Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:42.162Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:42.162Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:42.163Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:42.163Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.164Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:42.165Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:42.165Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.165Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:42.166Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:42.166Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:42.167Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.167Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:42.167Z","priority":"6","pid":"2830187","message":"=== End of file valgrind66"}

data: {"time":"2026-09-19T16:15:42.168Z","priority":"6","pid":"2830187","message":"test 0071 [HTTP and -F upload in config file]"}

data: {"time":"2026-09-19T16:15:42.170Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind71 ../src/curl -q --output log/curl71.out  --include --trace-ascii log/trace71 --trace-time http://127.0.0.1:36137/we/want/71 -K - <log/stdin-for-71 > log/stdout71 2> log/stderr71"}

data: {"time":"2026-09-19T16:15:42.171Z","priority":"6","pid":"2830187","message":" 71: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:42.171Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:42.172Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:42.172Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 71"}

data: {"time":"2026-09-19T16:15:42.172Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:42.174Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind71 ../src/curl -q --output log/curl71.out  --include --trace-ascii log/trace71 --trace-time http://127.0.0.1:36137/we/want/71 -K - <log/stdin-for-71 > log/stdout71 2> log/stderr71"}

data: {"time":"2026-09-19T16:15:42.175Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:42.175Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:42.175Z","priority":"6","pid":"2830187","message":" 16:15:42.004573 ====> Client connect"}

data: {"time":"2026-09-19T16:15:42.175Z","priority":"6","pid":"2830187","message":" 16:15:42.004623 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:42.175Z","priority":"6","pid":"2830187","message":" 16:15:42.004816 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:42.176Z","priority":"6","pid":"2830187","message":" 16:15:42.004831 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:42.176Z","priority":"6","pid":"2830187","message":" 16:15:42.004848 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:42.177Z","priority":"6","pid":"2830187","message":" 16:15:42.004858 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:42.177Z","priority":"6","pid":"2830187","message":" 16:15:42.004891 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:42.177Z","priority":"6","pid":"2830187","message":" 16:15:42.004919 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:42.178Z","priority":"6","pid":"2830187","message":" 16:15:42.004990 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:42.178Z","priority":"6","pid":"2830187","message":" 16:15:42.005001 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:42.178Z","priority":"6","pid":"2830187","message":" 16:15:42.005010 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:42.179Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:42.179Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.179Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:42.180Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60060"}

data: {"time":"2026-09-19T16:15:42.180Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:42.181Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:42.181Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:42.181Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:42.181Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:42.181Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:42.181Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:42.182Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.182Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.182Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:42.182Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:42.404Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind72 ../src/curl -q --output log/curl72.out  --include --trace-ascii log/trace72 --trace-time http://127.0.0.1:36137/72 -u testuser:testpass --anyauth > log/stdout72 2> log/stderr72"}

data: {"time":"2026-09-19T16:15:42.642Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind73 ../src/curl -q --output log/curl73.out  --include --trace-ascii log/trace73 --trace-time http://127.0.0.1:36137/we/want/73 -c log/jar73.txt -H \"Host: host.NOT_DISCLOSED.se\" > log/stdout73 2> log/stderr73"}

data: {"time":"2026-09-19T16:15:42.647Z","priority":"6","pid":"2830187","message":"137 left intact"}

data: {"time":"2026-09-19T16:15:42.647Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.647Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.647Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:42.648Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.648Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.648Z","priority":"6","pid":"2830187","message":" Testnum 71"}

data: {"time":"2026-09-19T16:15:42.648Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.648Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:42.649Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.649Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.649Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:42.649Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:42.650Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-71"}

data: {"time":"2026-09-19T16:15:42.650Z","priority":"6","pid":"2830187","message":" -F name=daniel"}

data: {"time":"2026-09-19T16:15:42.651Z","priority":"6","pid":"2830187","message":" -F tool=curl"}

data: {"time":"2026-09-19T16:15:42.651Z","priority":"6","pid":"2830187","message":" -F file=@log/test71.txt"}

data: {"time":"2026-09-19T16:15:42.651Z","priority":"6","pid":"2830187","message":" user-agent = \"\""}

data: {"time":"2026-09-19T16:15:42.651Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-71"}

data: {"time":"2026-09-19T16:15:42.651Z","priority":"6","pid":"2830187","message":"=== Start of file test71.txt"}

data: {"time":"2026-09-19T16:15:42.651Z","priority":"6","pid":"2830187","message":" foo-"}

data: {"time":"2026-09-19T16:15:42.652Z","priority":"6","pid":"2830187","message":" This is a moo-"}

data: {"time":"2026-09-19T16:15:42.652Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:15:42.652Z","priority":"6","pid":"2830187","message":"=== End of file test71.txt"}

data: {"time":"2026-09-19T16:15:42.652Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind71"}

data: {"time":"2026-09-19T16:15:42.653Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:42.653Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:42.654Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:42.654Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.654Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:42.655Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:42.656Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:42.656Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:42.657Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:42.658Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.659Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:42.660Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:42.660Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:42.661Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:42.664Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:42.665Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:42.665Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:42.665Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.665Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:42.666Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:42.666Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.667Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:42.667Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:42.668Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:42.668Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.668Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:42.669Z","priority":"6","pid":"2830187","message":"=== End of file valgrind71"}

data: {"time":"2026-09-19T16:15:42.669Z","priority":"6","pid":"2830187","message":"test 0072 [HTTP with Digest *OR* Basic authorization]"}

data: {"time":"2026-09-19T16:15:42.671Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind72 ../src/curl -q --output log/curl72.out  --include --trace-ascii log/trace72 --trace-time http://127.0.0.1:36137/72 -u testuser:testpass --anyauth > log/stdout72 2> log/stderr72"}

data: {"time":"2026-09-19T16:15:42.671Z","priority":"6","pid":"2830187","message":" 72: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:42.671Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:42.672Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:42.672Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 72"}

data: {"time":"2026-09-19T16:15:42.672Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:42.674Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind72 ../src/curl -q --output log/curl72.out  --include --trace-ascii log/trace72 --trace-time http://127.0.0.1:36137/72 -u testuser:testpass --anyauth > log/stdout72 2> log/stderr72"}

data: {"time":"2026-09-19T16:15:42.674Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:42.674Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:42.675Z","priority":"6","pid":"2830187","message":" 16:15:42.296341 ====> Client connect"}

data: {"time":"2026-09-19T16:15:42.676Z","priority":"6","pid":"2830187","message":" 16:15:42.296584 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:42.676Z","priority":"6","pid":"2830187","message":" 16:15:42.296777 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:42.676Z","priority":"6","pid":"2830187","message":" 16:15:42.296800 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:42.676Z","priority":"6","pid":"2830187","message":" 16:15:42.296818 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:42.676Z","priority":"6","pid":"2830187","message":" 16:15:42.296829 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:42.677Z","priority":"6","pid":"2830187","message":" 16:15:42.296875 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:42.677Z","priority":"6","pid":"2830187","message":" 16:15:42.296903 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:42.678Z","priority":"6","pid":"2830187","message":" 16:15:42.296978 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:42.678Z","priority":"6","pid":"2830187","message":" 16:15:42.296992 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:42.679Z","priority":"6","pid":"2830187","message":" 16:15:42.297001 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:42.679Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:42.679Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.680Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:42.680Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60070"}

data: {"time":"2026-09-19T16:15:42.680Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:42.680Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:42.681Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:42.681Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:42.681Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:42.682Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:42.682Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:42.682Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.682Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.682Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:42.682Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:42.683Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:42.683Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.684Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.684Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:42.684Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.684Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.685Z","priority":"6","pid":"2830187","message":" Testnum 72"}

data: {"time":"2026-09-19T16:15:42.685Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.685Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:42.686Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.686Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.686Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:42.686Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:42.687Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind72"}

data: {"time":"2026-09-19T16:15:42.687Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:42.687Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:42.688Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:42.688Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.688Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:42.688Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:42.689Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:42.690Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:42.690Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:42.690Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.690Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:42.690Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:42.691Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:42.691Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:42.692Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:42.692Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:42.693Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:42.693Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.693Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:42.694Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:42.694Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.694Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:42.694Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:42.695Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:42.695Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:42.695Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:42.696Z","priority":"6","pid":"2830187","message":"=== End of file valgrind72"}

data: {"time":"2026-09-19T16:15:42.696Z","priority":"6","pid":"2830187","message":"test 0073 [HTTP cookies when using custom Host:, domain using only two dots]"}

data: {"time":"2026-09-19T16:15:42.697Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind73 ../src/curl -q --output log/curl73.out  --include --trace-ascii log/trace73 --trace-time http://127.0.0.1:36137/we/want/73 -c log/jar73.txt -H \"Host: host.NOT_DISCLOSED.se\" > log/stdout73 2> log/stderr73"}

data: {"time":"2026-09-19T16:15:42.698Z","priority":"6","pid":"2830187","message":" 73: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:42.698Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:42.698Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:42.699Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 73"}

data: {"time":"2026-09-19T16:15:42.699Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:42.701Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind73 ../src/curl -q --output log/curl73.out  --include --trace-ascii log/trace73 --trace-time http://127.0.0.1:36137/we/want/73 -c log/jar73.txt -H \"Host: host.NOT_DISCLOSED.se\" > log/stdout73 2> log/stderr73"}

data: {"time":"2026-09-19T16:15:42.701Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:42.701Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:42.701Z","priority":"6","pid":"2830187","message":" 16:15:42.544446 ====> Client connect"}

data: {"time":"2026-09-19T16:15:42.702Z","priority":"6","pid":"2830187","message":" 16:15:42.544496 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:42.702Z","priority":"6","pid":"2830187","message":" 16:15:42.544757 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:42.703Z","priority":"6","pid":"2830187","message":" 16:15:42.544773 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:42.703Z","priority":"6","pid":"2830187","message":" 16:15:42.544790 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:42.703Z","priority":"6","pid":"2830187","message":" 16:15:42.544800 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:42.704Z","priority":"6","pid":"2830187","message":" 16:15:42.544837 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:42.704Z","priority":"6","pid":"2830187","message":" 16:15:42.544858 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:42.704Z","priority":"6","pid":"2830187","message":" 16:15:42.544934 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:42.705Z","priority":"6","pid":"2830187","message":" 16:15:42.544946 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:42.705Z","priority":"6","pid":"2830187","message":" 16:15:42.544955 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:42.706Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:42.706Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.706Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:42.706Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60082"}

data: {"time":"2026-09-19T16:15:42.706Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:42.707Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:42.707Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:42.708Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:42.708Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:42.708Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:42.708Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:42.708Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.708Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.708Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:42.709Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:42.709Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:42.709Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:42.710Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.710Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:42.710Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:42.710Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.710Z","priority":"6","pid":"2830187","message":" Testnum 73"}

data: {"time":"2026-09-19T16:15:42.711Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:42.711Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:42.711Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:42.711Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:42.932Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 806CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind74 ../src/curl -q --include --trace-ascii log/trace74 --trace-time \"http://127.0.0.1:36137/{74,740001}\" -o \"log/dumpit#1.dump\" > log/stdout74 2> log/stderr74"}

data: {"time":"2026-09-19T16:15:43.114Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind75 ../src/curl -q --include --trace-ascii log/trace75 --trace-time \"http://a-site-never-accessed.example.org/[2-1]\" -o \"log/weee#1.dump\" --stderr - > log/stdout75 2> log/stderr75"}

data: {"time":"2026-09-19T16:15:43.116Z","priority":"6","pid":"2830187","message":"16"}

data: {"time":"2026-09-19T16:15:43.117Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:43.117Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind73"}

data: {"time":"2026-09-19T16:15:43.118Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:43.118Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:43.119Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:43.119Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.120Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:43.120Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:43.120Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:43.120Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:43.121Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:43.122Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.122Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:43.122Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:43.122Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:43.123Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:43.123Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:43.124Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:43.124Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:43.124Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.125Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:43.125Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:43.125Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.126Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:43.126Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:43.126Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:43.127Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.127Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:43.128Z","priority":"6","pid":"2830187","message":"=== End of file valgrind73"}

data: {"time":"2026-09-19T16:15:43.128Z","priority":"6","pid":"2830187","message":"test 0074 [HTTP, urlglob {}-retrieval and -o #[num] usage]"}

data: {"time":"2026-09-19T16:15:43.130Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind74 ../src/curl -q --include --trace-ascii log/trace74 --trace-time \"http://127.0.0.1:36137/{74,740001}\" -o \"log/dumpit#1.dump\" > log/stdout74 2> log/stderr74"}

data: {"time":"2026-09-19T16:15:43.130Z","priority":"6","pid":"2830187","message":" 74: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:43.131Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:43.131Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:43.131Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 74"}

data: {"time":"2026-09-19T16:15:43.132Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:43.133Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind74 ../src/curl -q --include --trace-ascii log/trace74 --trace-time \"http://127.0.0.1:36137/{74,740001}\" -o \"log/dumpit#1.dump\" > log/stdout74 2> log/stderr74"}

data: {"time":"2026-09-19T16:15:43.133Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:43.134Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:43.134Z","priority":"6","pid":"2830187","message":" 16:15:42.828017 ====> Client connect"}

data: {"time":"2026-09-19T16:15:43.134Z","priority":"6","pid":"2830187","message":" 16:15:42.828062 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:43.135Z","priority":"6","pid":"2830187","message":" 16:15:42.828285 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:43.135Z","priority":"6","pid":"2830187","message":" 16:15:42.828304 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:43.135Z","priority":"6","pid":"2830187","message":" 16:15:42.828321 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:43.136Z","priority":"6","pid":"2830187","message":" 16:15:42.828331 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:43.136Z","priority":"6","pid":"2830187","message":" 16:15:42.828366 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:43.136Z","priority":"6","pid":"2830187","message":" 16:15:42.828386 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:43.137Z","priority":"6","pid":"2830187","message":" 16:15:42.828455 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:43.137Z","priority":"6","pid":"2830187","message":" 16:15:42.828473 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:43.138Z","priority":"6","pid":"2830187","message":" 16:15:42.828482 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:43.138Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:43.138Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:43.139Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:43.139Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60092"}

data: {"time":"2026-09-19T16:15:43.139Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:43.140Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:43.141Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:43.141Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:43.141Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:43.141Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:43.141Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:43.141Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:43.141Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:43.141Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:43.141Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:43.142Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:43.142Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:43.142Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:43.143Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:43.143Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:43.143Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:43.143Z","priority":"6","pid":"2830187","message":" Testnum 74"}

data: {"time":"2026-09-19T16:15:43.144Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:43.144Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:43.144Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:43.144Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:43.144Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:43.145Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:43.145Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind74"}

data: {"time":"2026-09-19T16:15:43.145Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:43.146Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:43.146Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:43.147Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.147Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:43.147Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:43.147Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:43.148Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:43.148Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:43.148Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.149Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:43.150Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:43.150Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:43.150Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:43.151Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:43.151Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:43.152Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:43.152Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.152Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:43.152Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:43.153Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.153Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:43.153Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:43.154Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:43.154Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.154Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:43.155Z","priority":"6","pid":"2830187","message":"=== End of file valgrind74"}

data: {"time":"2026-09-19T16:15:43.366Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind77 ../src/curl -q --output log/curl77.out  --include --trace-ascii log/trace77 --trace-time http://127.0.0.1:36137/77 -z \"dec 12 12:00:00 1999 GMT\" > log/stdout77 2> log/stderr77"}

data: {"time":"2026-09-19T16:15:43.593Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind78 ../src/curl -q --output log/curl78.out  --include --trace-ascii log/trace78 --trace-time http://127.0.0.1:36137/78 -z \"dec 12 11:00:00 1999 GMT\" > log/stdout78 2> log/stderr78"}

data: {"time":"2026-09-19T16:15:43.597Z","priority":"6","pid":"2830187","message":"test 0075 [HTTP, urlglob retrieval with bad range]"}

data: {"time":"2026-09-19T16:15:43.600Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind75 ../src/curl -q --include --trace-ascii log/trace75 --trace-time \"http://a-site-never-accessed.example.org/[2-1]\" -o \"log/weee#1.dump\" --stderr - > log/stdout75 2> log/stderr75"}

data: {"time":"2026-09-19T16:15:43.600Z","priority":"6","pid":"2830187","message":" 75: stdout FAILED:"}

data: {"time":"2026-09-19T16:15:43.600Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:15:43.116715311 +0000"}

data: {"time":"2026-09-19T16:15:43.601Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:15:43.115497555 +0000"}

data: {"time":"2026-09-19T16:15:43.601Z","priority":"6","pid":"2830187","message":"@@ -1,3 +0,0 @@"}

data: {"time":"2026-09-19T16:15:43.601Z","priority":"6","pid":"2830187","message":"-curl: (3) bad range in position 47:[CR][LF]"}

data: {"time":"2026-09-19T16:15:43.602Z","priority":"6","pid":"2830187","message":"-http://a-site-never-accessed.example.org/[2-1][CR][LF]"}

data: {"time":"2026-09-19T16:15:43.602Z","priority":"6","pid":"2830187","message":"-                                              ^[CR][LF]"}

data: {"time":"2026-09-19T16:15:43.603Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 75"}

data: {"time":"2026-09-19T16:15:43.603Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:15:43.603Z","priority":"6","pid":"2830187","message":" curl: (3) bad range in position 47:[CR][LF]"}

data: {"time":"2026-09-19T16:15:43.604Z","priority":"6","pid":"2830187","message":" http://a-site-never-accessed.example.org/[2-1][CR][LF]"}

data: {"time":"2026-09-19T16:15:43.604Z","priority":"6","pid":"2830187","message":"                                               ^[CR][LF]"}

data: {"time":"2026-09-19T16:15:43.605Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:15:43.605Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:43.606Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind75 ../src/curl -q --include --trace-ascii log/trace75 --trace-time \"http://a-site-never-accessed.example.org/[2-1]\" -o \"log/weee#1.dump\" --stderr - > log/stdout75 2> log/stderr75"}

data: {"time":"2026-09-19T16:15:43.607Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:43.607Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:43.607Z","priority":"6","pid":"2830187","message":" Testnum 75"}

data: {"time":"2026-09-19T16:15:43.607Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:43.608Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind75"}

data: {"time":"2026-09-19T16:15:43.608Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:43.608Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:43.609Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:43.609Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.609Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:43.610Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:43.610Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:43.610Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:43.611Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:43.612Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.612Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:43.612Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:43.612Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:43.613Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:43.613Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:43.614Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:43.614Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:43.615Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.615Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:43.615Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:43.615Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.616Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:43.616Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:43.617Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:43.617Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.618Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:43.618Z","priority":"6","pid":"2830187","message":"=== End of file valgrind75"}

data: {"time":"2026-09-19T16:15:43.619Z","priority":"6","pid":"2830187","message":"test 0077 [HTTP with -z \"older date\"]"}

data: {"time":"2026-09-19T16:15:43.621Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind77 ../src/curl -q --output log/curl77.out  --include --trace-ascii log/trace77 --trace-time http://127.0.0.1:36137/77 -z \"dec 12 12:00:00 1999 GMT\" > log/stdout77 2> log/stderr77"}

data: {"time":"2026-09-19T16:15:43.623Z","priority":"6","pid":"2830187","message":" 77: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:43.623Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:43.624Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:43.625Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 77"}

data: {"time":"2026-09-19T16:15:43.625Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:43.628Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind77 ../src/curl -q --output log/curl77.out  --include --trace-ascii log/trace77 --trace-time http://127.0.0.1:36137/77 -z \"dec 12 12:00:00 1999 GMT\" > log/stdout77 2> log/stderr77"}

data: {"time":"2026-09-19T16:15:43.629Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:43.629Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:43.629Z","priority":"6","pid":"2830187","message":" 16:15:43.271742 ====> Client connect"}

data: {"time":"2026-09-19T16:15:43.630Z","priority":"6","pid":"2830187","message":" 16:15:43.271800 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:43.630Z","priority":"6","pid":"2830187","message":" 16:15:43.271954 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:43.630Z","priority":"6","pid":"2830187","message":" 16:15:43.271973 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:43.631Z","priority":"6","pid":"2830187","message":" 16:15:43.271998 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:43.631Z","priority":"6","pid":"2830187","message":" 16:15:43.272012 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:43.632Z","priority":"6","pid":"2830187","message":" 16:15:43.272061 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:43.633Z","priority":"6","pid":"2830187","message":" 16:15:43.272083 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:43.633Z","priority":"6","pid":"2830187","message":" 16:15:43.272141 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:43.634Z","priority":"6","pid":"2830187","message":" 16:15:43.272152 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:43.634Z","priority":"6","pid":"2830187","message":" 16:15:43.272161 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:43.634Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:43.634Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:43.635Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:43.635Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60102"}

data: {"time":"2026-09-19T16:15:43.636Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:43.636Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:43.637Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:43.637Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:43.637Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:43.637Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:43.637Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:43.638Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:43.638Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:43.638Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:43.638Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:43.638Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:43.639Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:43.639Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:43.639Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:43.639Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:43.640Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:43.640Z","priority":"6","pid":"2830187","message":" Testnum 77"}

data: {"time":"2026-09-19T16:15:43.640Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:43.641Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:43.642Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:43.643Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:43.643Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:43.643Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:43.643Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind77"}

data: {"time":"2026-09-19T16:15:43.643Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:43.643Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:43.644Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:43.644Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.644Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:43.645Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:43.646Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:43.646Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:43.646Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:43.646Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.647Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:43.647Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:43.648Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:43.648Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:43.649Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:43.650Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:43.650Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:43.650Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.650Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:43.650Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:43.651Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.651Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:43.652Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:43.652Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:43.652Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:43.652Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:43.653Z","priority":"6","pid":"2830187","message":"=== End of file valgrind77"}

data: {"time":"2026-09-19T16:15:43.653Z","priority":"6","pid":"2830187","message":"test 0078 [HTTP with -z \"newer date\"]"}

data: {"time":"2026-09-19T16:15:43.654Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind78 ../src/curl -q --output log/curl78.out  --include --trace-ascii log/trace78 --trace-time http://127.0.0.1:36137/78 -z \"dec 12 11:00:00 1999 GMT\" > log/stdout78 2> log/stderr78"}

data: {"time":"2026-09-19T16:15:43.658Z","priority":"6","pid":"2830187","message":" 78: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:43.658Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:43.658Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:43.658Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 78"}

data: {"time":"2026-09-19T16:15:43.658Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:43.658Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind78 ../src/curl -q --output log/curl78.out  --include --trace-ascii log/trace78 --trace-time http://127.0.0.1:36137/78 -z \"dec 12 11:00:00 1999 GMT\" > log/stdout78 2> log/stderr78"}

data: {"time":"2026-09-19T16:15:43.659Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:43.659Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:43.659Z","priority":"6","pid":"2830187","message":" 16:15:43.495332 ====> Client connect"}

data: {"time":"2026-09-19T16:15:43.660Z","priority":"6","pid":"2830187","message":" 16:15:43.495375 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:43.660Z","priority":"6","pid":"2830187","message":" 16:15:43.495577 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:43.660Z","priority":"6","pid":"2830187","message":" 16:15:43.495595 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:43.661Z","priority":"6","pid":"2830187","message":" 16:15:43.495611 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:43.662Z","priority":"6","pid":"2830187","message":" 16:15:43.495621 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:43.662Z","priority":"6","pid":"2830187","message":" 16:15:43.495659 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:43.663Z","priority":"6","pid":"2830187","message":" 16:15:43.495688 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:43.869Z","priority":"6","pid":"2830187","message":" 16:15:43.495792 Response sent (56 bytes) and written tCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind79 ../src/curl -q --output log/curl79.out  --include --trace-ascii log/trace79 --trace-time ftp://127.0.0.1:36137/we/want/that/page/79 -x 127.0.0.1:36137 > log/stdout79 2> log/stderr79"}

data: {"time":"2026-09-19T16:15:45.114Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind80 ../src/curl -q --output log/curl80.out  --include --trace-ascii log/trace80 --trace-time http://test.80:36137/we/want/that/page/80 -p --proxy1.0 127.0.0.1:34615 --user iam:myself --proxy-user youare:yourself -A \"\" > log/stdout80 2> log/stderr80"}

data: {"time":"2026-09-19T16:15:45.119Z","priority":"6","pid":"2830187","message":"o log/server.response"}

data: {"time":"2026-09-19T16:15:45.119Z","priority":"6","pid":"2830187","message":" 16:15:43.495807 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:45.120Z","priority":"6","pid":"2830187","message":" 16:15:43.495819 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:45.120Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:45.120Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:45.121Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:45.121Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60104"}

data: {"time":"2026-09-19T16:15:45.121Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:45.122Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:45.122Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:45.122Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:45.123Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:45.123Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:45.123Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:45.123Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:45.123Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:45.123Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:45.124Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:45.124Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:45.125Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:45.125Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:45.125Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:45.125Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:45.126Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:45.126Z","priority":"6","pid":"2830187","message":" Testnum 78"}

data: {"time":"2026-09-19T16:15:45.127Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:45.127Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:45.127Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:45.127Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:45.127Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:45.128Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:45.128Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind78"}

data: {"time":"2026-09-19T16:15:45.128Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:45.129Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:45.129Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:45.130Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.130Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:45.130Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:45.131Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:45.131Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:45.132Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:45.132Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.133Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:45.133Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:45.134Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:45.134Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:45.135Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:45.135Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:45.136Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:45.136Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.136Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:45.137Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:45.137Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.138Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:45.138Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:45.138Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:45.139Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.139Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:45.140Z","priority":"6","pid":"2830187","message":"=== End of file valgrind78"}

data: {"time":"2026-09-19T16:15:45.140Z","priority":"6","pid":"2830187","message":"test 0079 [FTP over HTTP proxy]"}

data: {"time":"2026-09-19T16:15:45.141Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind79 ../src/curl -q --output log/curl79.out  --include --trace-ascii log/trace79 --trace-time ftp://127.0.0.1:36137/we/want/that/page/79 -x 127.0.0.1:36137 > log/stdout79 2> log/stderr79"}

data: {"time":"2026-09-19T16:15:45.142Z","priority":"6","pid":"2830187","message":" 79: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:45.143Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:45.143Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:45.143Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 79"}

data: {"time":"2026-09-19T16:15:45.144Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:45.145Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind79 ../src/curl -q --output log/curl79.out  --include --trace-ascii log/trace79 --trace-time ftp://127.0.0.1:36137/we/want/that/page/79 -x 127.0.0.1:36137 > log/stdout79 2> log/stderr79"}

data: {"time":"2026-09-19T16:15:45.146Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:45.146Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:45.147Z","priority":"6","pid":"2830187","message":" 16:15:43.774103 ====> Client connect"}

data: {"time":"2026-09-19T16:15:45.147Z","priority":"6","pid":"2830187","message":" 16:15:43.774146 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:45.148Z","priority":"6","pid":"2830187","message":" 16:15:43.774410 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:45.148Z","priority":"6","pid":"2830187","message":" 16:15:43.774474 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:45.148Z","priority":"6","pid":"2830187","message":" 16:15:43.774495 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:45.149Z","priority":"6","pid":"2830187","message":" 16:15:43.774506 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:45.149Z","priority":"6","pid":"2830187","message":" 16:15:43.774556 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:45.150Z","priority":"6","pid":"2830187","message":" 16:15:43.774582 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:45.150Z","priority":"6","pid":"2830187","message":" 16:15:43.774670 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:45.150Z","priority":"6","pid":"2830187","message":" 16:15:43.774683 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:45.151Z","priority":"6","pid":"2830187","message":" 16:15:43.774692 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:45.151Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:45.151Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:45.152Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:45.152Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60116"}

data: {"time":"2026-09-19T16:15:45.152Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:45.153Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:45.153Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:45.153Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:45.153Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:45.153Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:45.154Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:45.154Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:45.154Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:45.154Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:45.154Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:45.155Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:45.155Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:45.155Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:45.155Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:45.156Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:45.156Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:45.156Z","priority":"6","pid":"2830187","message":" Testnum 79"}

data: {"time":"2026-09-19T16:15:45.156Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:45.157Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:45.157Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:45.157Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:45.157Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:45.158Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:45.158Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind79"}

data: {"time":"2026-09-19T16:15:45.158Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:45.159Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:45.159Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:45.159Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.160Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:45.160Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:45.160Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:45.161Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:45.161Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:45.162Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.162Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:45.163Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:45.163Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:45.163Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:45.164Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:45.164Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:45.164Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:45.165Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.165Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:45.165Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:45.166Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.166Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:45.167Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:45.167Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:45.167Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.167Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:45.167Z","priority":"6","pid":"2830187","message":"=== End of file valgrind79"}

data: {"time":"2026-09-19T16:15:45.169Z","priority":"6","pid":"2830187","message":"startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --connect 127.0.0.1 --keepalive 30 --pidfile \"log/server/http2_server.pid\" --logfile \"log/http2_server.log\" --logdir \"log\" --portfile log/server/http2_server.port --config log/server.cmd --id 2 --ipv4 --port 0 --srcdir \"/build/curl/src/curl/tests\""}

data: {"time":"2026-09-19T16:15:45.169Z","priority":"6","pid":"2830187","message":"RUN: HTTP2 server is on PID 83544 port 34615"}

data: {"time":"2026-09-19T16:15:45.170Z","priority":"6","pid":"2830187","message":"* pid http-proxy => 83544 83544"}

data: {"time":"2026-09-19T16:15:45.170Z","priority":"6","pid":"2830187","message":"test 0080 [HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication]"}

data: {"time":"2026-09-19T16:15:45.172Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind80 ../src/curl -q --output log/curl80.out  --include --trace-ascii log/trace80 --trace-time http://test.80:36137/we/want/that/page/80 -p --proxy1.0 127.0.0.1:34615 --user iam:myself --proxy-user youare:yourself -A \"\" > log/stdout80 2> log/stderr80"}

data: {"time":"2026-09-19T16:15:45.172Z","priority":"6","pid":"2830187","message":" 80: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:45.173Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:45.173Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:45.174Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 80"}

data: {"time":"2026-09-19T16:15:45.174Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:45.175Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind80 ../src/curl -q --output log/curl80.out  --include --trace-ascii log/trace80 --trace-time http://test.80:36137/we/want/that/page/80 -p --proxy1.0 127.0.0.1:34615 --user iam:myself --proxy-user youare:yourself -A \"\" > log/stdout80 2> log/stderr80"}

data: {"time":"2026-09-19T16:15:45.176Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:45.176Z","priority":"6","pid":"2830187","message":"=== Start of file http2_server.log"}

data: {"time":"2026-09-19T16:15:45.177Z","priority":"6","pid":"2830187","message":" 16:15:43.039277 Run as proxy, CONNECT to host 127.0.0.1"}

data: {"time":"2026-09-19T16:15:45.177Z","priority":"6","pid":"2830187","message":" 16:15:43.039551 Running HTTP IPv4 version on port 34615"}

data: {"time":"2026-09-19T16:15:45.177Z","priority":"6","pid":"2830187","message":" 16:15:43.039673 Wrote pid 83544 to log/server/http2_server.pid"}

data: {"time":"2026-09-19T16:15:45.178Z","priority":"6","pid":"2830187","message":" 16:15:43.039717 Wrote port 34615 to log/server/http2_server.port"}

data: {"time":"2026-09-19T16:15:45.179Z","priority":"6","pid":"2830187","message":"=== End of file http2_server.log"}

data: {"time":"2026-09-19T16:15:45.179Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:45.179Z","priority":"6","pid":"2830187","message":" 16:15:43.989765 ====> Client connect"}

data: {"time":"2026-09-19T16:15:45.179Z","priority":"6","pid":"2830187","message":" 16:15:43.989830 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:45.179Z","priority":"6","pid":"2830187","message":" 16:15:43.989866 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:45.412Z","priority":"6","pid":"2830187","message":" 16:15:43.989CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind82 ../src/curl -q --output log/curl82.out  --include --trace-ascii log/trace82 --trace-time http://127.0.0.1:36137/82 --proxy-user testuser:testpass -x http://127.0.0.1:36137 > log/stdout82 2> log/stderr82"}

data: {"time":"2026-09-19T16:15:45.669Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind83 ../src/curl -q --output log/curl83.out  --include --trace-ascii log/trace83 --trace-time http://test.83:36137/we/want/that/page/83 -p -x 127.0.0.1:34615 --user 'iam:my:;self' > log/stdout83 2> log/stderr83"}

data: {"time":"2026-09-19T16:15:45.674Z","priority":"6","pid":"2830187","message":"878 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:45.674Z","priority":"6","pid":"2830187","message":" 16:15:43.989895 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:45.674Z","priority":"6","pid":"2830187","message":" 16:15:43.989906 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:45.675Z","priority":"6","pid":"2830187","message":" 16:15:43.989941 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:45.676Z","priority":"6","pid":"2830187","message":" 16:15:43.989963 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:45.676Z","priority":"6","pid":"2830187","message":" 16:15:43.990057 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:45.677Z","priority":"6","pid":"2830187","message":" 16:15:43.990069 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:45.678Z","priority":"6","pid":"2830187","message":" 16:15:43.990079 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:45.678Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:45.678Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:45.678Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:45.678Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60122"}

data: {"time":"2026-09-19T16:15:45.679Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:45.679Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:45.679Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:45.680Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:45.680Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:45.680Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:45.680Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:45.680Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:45.681Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:45.681Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:45.681Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:45.681Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:45.681Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:45.682Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:45.682Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:45.682Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:45.683Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:45.683Z","priority":"6","pid":"2830187","message":" Testnum 80"}

data: {"time":"2026-09-19T16:15:45.683Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:45.683Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:45.684Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:45.684Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:45.684Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:45.684Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:45.684Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind80"}

data: {"time":"2026-09-19T16:15:45.685Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:45.685Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:45.685Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:45.685Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.686Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:45.686Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:45.687Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:45.687Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:45.687Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:45.688Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.688Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:45.689Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:45.689Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:45.689Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:45.690Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:45.690Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:45.690Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:45.691Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.691Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:45.692Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:45.692Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.692Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:45.693Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:45.693Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:45.693Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.694Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:45.694Z","priority":"6","pid":"2830187","message":"=== End of file valgrind80"}

data: {"time":"2026-09-19T16:15:45.695Z","priority":"6","pid":"2830187","message":"test 0082 [HTTP with proxy requiring NTLM, but we send Basic]"}

data: {"time":"2026-09-19T16:15:45.696Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind82 ../src/curl -q --output log/curl82.out  --include --trace-ascii log/trace82 --trace-time http://127.0.0.1:36137/82 --proxy-user testuser:testpass -x http://127.0.0.1:36137 > log/stdout82 2> log/stderr82"}

data: {"time":"2026-09-19T16:15:45.696Z","priority":"6","pid":"2830187","message":" 82: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:45.697Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:45.697Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:45.697Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 82"}

data: {"time":"2026-09-19T16:15:45.697Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:45.698Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind82 ../src/curl -q --output log/curl82.out  --include --trace-ascii log/trace82 --trace-time http://127.0.0.1:36137/82 --proxy-user testuser:testpass -x http://127.0.0.1:36137 > log/stdout82 2> log/stderr82"}

data: {"time":"2026-09-19T16:15:45.699Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:45.699Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:45.699Z","priority":"6","pid":"2830187","message":" 16:15:45.290633 ====> Client connect"}

data: {"time":"2026-09-19T16:15:45.699Z","priority":"6","pid":"2830187","message":" 16:15:45.290674 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:45.700Z","priority":"6","pid":"2830187","message":" 16:15:45.290793 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:45.700Z","priority":"6","pid":"2830187","message":" 16:15:45.290806 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:45.700Z","priority":"6","pid":"2830187","message":" 16:15:45.290820 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:45.701Z","priority":"6","pid":"2830187","message":" 16:15:45.290828 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:45.701Z","priority":"6","pid":"2830187","message":" 16:15:45.290855 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:45.701Z","priority":"6","pid":"2830187","message":" 16:15:45.290873 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:45.702Z","priority":"6","pid":"2830187","message":" 16:15:45.290921 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:45.702Z","priority":"6","pid":"2830187","message":" 16:15:45.290929 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:45.702Z","priority":"6","pid":"2830187","message":" 16:15:45.290936 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:45.703Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:45.703Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:45.703Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:45.704Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60132"}

data: {"time":"2026-09-19T16:15:45.704Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:45.704Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:45.705Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:45.705Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:45.706Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:45.706Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:45.706Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:45.706Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:45.706Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:45.706Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:45.706Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:45.707Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:45.707Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:45.707Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:45.708Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:45.708Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:45.708Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:45.708Z","priority":"6","pid":"2830187","message":" Testnum 82"}

data: {"time":"2026-09-19T16:15:45.709Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:45.709Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:45.709Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:45.709Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:45.709Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:45.710Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:45.710Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind82"}

data: {"time":"2026-09-19T16:15:45.711Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:45.711Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:45.711Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:45.712Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.713Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:45.713Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:45.713Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:45.713Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:45.714Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:45.715Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.715Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:45.715Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:45.715Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:45.716Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:45.716Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:45.717Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:45.717Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:45.718Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.718Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:45.719Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:45.719Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.719Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:45.719Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:45.720Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:45.720Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:45.720Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:45.721Z","priority":"6","pid":"2830187","message":"=== End of file valgrind82"}

data: {"time":"2026-09-19T16:15:45.721Z","priority":"6","pid":"2830187","message":"test 0083 [HTTP over proxy-tunnel with site authentication]"}

data: {"time":"2026-09-19T16:15:45.723Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind83 ../src/curl -q --output log/curl83.out  --include --trace-ascii log/trace83 --trace-time http://test.83:36137/we/want/that/page/83 -p -x 127.0.0.1:34615 --user 'iam:my:;self' > log/stdout83 2> log/stderr83"}

data: {"time":"2026-09-19T16:15:45.723Z","priority":"6","pid":"2830187","message":" 83: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:45.723Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:45.724Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:45.724Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 83"}

data: {"time":"2026-09-19T16:15:45.725Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:45.726Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind83 ../src/curl -q --output log/curl83.out  --include --trace-ascii log/trace83 --trace-time http://test.83:36137/we/want/that/page/83 -p -x 127.0.0.1:34615 --user 'iam:my:;self' > log/stdout83 2> log/stderr83"}

data: {"time":"2026-09-19T16:15:45.727Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:45.727Z","priority":"6","pid":"2830187","message":"=== Start of file http2_server.log"}

data: {"time":"2026-09-19T16:15:45.728Z","priority":"6","pid":"2830187","message":" 16:15:44.567720 ====> Client connect"}

data: {"time":"2026-09-19T16:15:45.728Z","priority":"6","pid":"2830187","message":" 16:15:44.567785 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:45.728Z","priority":"6","pid":"2830187","message":" 16:15:44.568070 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:45.729Z","priority":"6","pid":"2830187","message":" 16:15:44.568100 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:45.729Z","priority":"6","pid":"2830187","message":" 16:15:44.568135 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:45.729Z","priority":"6","pid":"2830187","message":" 16:15:44.568159 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:45.730Z","priority":"6","pid":"2830187","message":" 16:15:44.568213 Wrote request (93 bytes) input to log/proxy.input"}

data: {"time":"2026-09-19T16:15:45.730Z","priority":"6","pid":"2830187","message":" 16:15:44.568239 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:45.731Z","priority":"6","pid":"2830187","message":" 16:15:44.568332 Response sent (56 bytes) and written to log/proxy.response"}

data: {"time":"2026-09-19T16:15:45.732Z","priority":"6","pid":"2830187","message":" 16:15:44.568348 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:45.732Z","priority":"6","pid":"2830187","message":" 16:15:44.569132 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:45.942Z","priority":"6","pid":"2830187","message":"=== End of file htCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind84 ../src/curl -q --output log/curl84.out  --include --trace-ascii log/trace84 --trace-time http://127.0.0.1:36137/we/want/that/page/84 -x 127.0.0.1:36137 --user iam:myself > log/stdout84 2> log/stderr84"}

data: {"time":"2026-09-19T16:15:46.177Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind85 ../src/curl -q --output log/curl85.out  --include --trace-ascii log/trace85 --trace-time http://127.0.0.1:36137/we/want/that/page/85 -x 127.0.0.1:36137 --user iam:myself --proxy-user testing:this > log/stdout85 2> log/stderr85"}

data: {"time":"2026-09-19T16:15:46.181Z","priority":"6","pid":"2830187","message":"tp2_server.log"}

data: {"time":"2026-09-19T16:15:46.182Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.log"}

data: {"time":"2026-09-19T16:15:46.182Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34615..."}

data: {"time":"2026-09-19T16:15:46.183Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34615) from 127.0.0.1 port 51026"}

data: {"time":"2026-09-19T16:15:46.183Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:46.183Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:46.184Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34615"}

data: {"time":"2026-09-19T16:15:46.184Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:46.184Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:46.185Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:46.185Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:46.185Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.185Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.186Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:46.186Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:46.187Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34615 left intact"}

data: {"time":"2026-09-19T16:15:46.187Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.log"}

data: {"time":"2026-09-19T16:15:46.187Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.out"}

data: {"time":"2026-09-19T16:15:46.187Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:15:46.188Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.out"}

data: {"time":"2026-09-19T16:15:46.188Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:46.188Z","priority":"6","pid":"2830187","message":" 16:15:45.527298 ====> Client connect"}

data: {"time":"2026-09-19T16:15:46.188Z","priority":"6","pid":"2830187","message":" 16:15:45.527341 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:46.189Z","priority":"6","pid":"2830187","message":" 16:15:45.527514 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:46.189Z","priority":"6","pid":"2830187","message":" 16:15:45.527530 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:46.189Z","priority":"6","pid":"2830187","message":" 16:15:45.527545 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:46.190Z","priority":"6","pid":"2830187","message":" 16:15:45.527555 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:46.190Z","priority":"6","pid":"2830187","message":" 16:15:45.527590 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:46.191Z","priority":"6","pid":"2830187","message":" 16:15:45.527610 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:46.192Z","priority":"6","pid":"2830187","message":" 16:15:45.527670 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:46.192Z","priority":"6","pid":"2830187","message":" 16:15:45.527702 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:46.192Z","priority":"6","pid":"2830187","message":" 16:15:45.527713 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:46.192Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:46.193Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:46.194Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:46.194Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60140"}

data: {"time":"2026-09-19T16:15:46.194Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:46.195Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:46.196Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:46.196Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:46.196Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:46.197Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:46.197Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:46.199Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.199Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.199Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:46.199Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:46.199Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:46.200Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:46.201Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:46.201Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:46.203Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:46.203Z","priority":"6","pid":"2830187","message":"=== Start of file proxy.response"}

data: {"time":"2026-09-19T16:15:46.203Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.203Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.203Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:15:46.204Z","priority":"6","pid":"2830187","message":"=== End of file proxy.response"}

data: {"time":"2026-09-19T16:15:46.204Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:46.204Z","priority":"6","pid":"2830187","message":" Testnum 83"}

data: {"time":"2026-09-19T16:15:46.204Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:46.204Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:46.205Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.205Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.205Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:46.205Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:46.206Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind83"}

data: {"time":"2026-09-19T16:15:46.206Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:46.207Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:46.207Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:46.207Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.208Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:46.208Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:46.209Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:46.209Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:46.210Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:46.210Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.210Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:46.211Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:46.211Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:46.212Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:46.212Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:46.212Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:46.213Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:46.213Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.214Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:46.214Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:46.214Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.215Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:46.215Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:46.215Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:46.217Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.217Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:46.217Z","priority":"6","pid":"2830187","message":"=== End of file valgrind83"}

data: {"time":"2026-09-19T16:15:46.218Z","priority":"6","pid":"2830187","message":"test 0084 [HTTP over proxy with site authentication]"}

data: {"time":"2026-09-19T16:15:46.221Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind84 ../src/curl -q --output log/curl84.out  --include --trace-ascii log/trace84 --trace-time http://127.0.0.1:36137/we/want/that/page/84 -x 127.0.0.1:36137 --user iam:myself > log/stdout84 2> log/stderr84"}

data: {"time":"2026-09-19T16:15:46.223Z","priority":"6","pid":"2830187","message":" 84: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:46.224Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:46.225Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:46.226Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 84"}

data: {"time":"2026-09-19T16:15:46.227Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:46.229Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind84 ../src/curl -q --output log/curl84.out  --include --trace-ascii log/trace84 --trace-time http://127.0.0.1:36137/we/want/that/page/84 -x 127.0.0.1:36137 --user iam:myself > log/stdout84 2> log/stderr84"}

data: {"time":"2026-09-19T16:15:46.230Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:46.231Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:46.232Z","priority":"6","pid":"2830187","message":" 16:15:45.842929 ====> Client connect"}

data: {"time":"2026-09-19T16:15:46.232Z","priority":"6","pid":"2830187","message":" 16:15:45.842974 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:46.232Z","priority":"6","pid":"2830187","message":" 16:15:45.843148 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:46.232Z","priority":"6","pid":"2830187","message":" 16:15:45.843168 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:46.233Z","priority":"6","pid":"2830187","message":" 16:15:45.843185 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:46.233Z","priority":"6","pid":"2830187","message":" 16:15:45.843195 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:46.234Z","priority":"6","pid":"2830187","message":" 16:15:45.843272 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:46.234Z","priority":"6","pid":"2830187","message":" 16:15:45.843293 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:46.234Z","priority":"6","pid":"2830187","message":" 16:15:45.843371 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:46.235Z","priority":"6","pid":"2830187","message":" 16:15:45.843382 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:46.235Z","priority":"6","pid":"2830187","message":" 16:15:45.843391 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:46.235Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:46.236Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:46.236Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:46.236Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60156"}

data: {"time":"2026-09-19T16:15:46.238Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:46.238Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:46.238Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:46.238Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:46.239Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:46.239Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:46.239Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:46.239Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.240Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.240Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:46.240Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:46.240Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:46.241Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:46.241Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:46.241Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:46.242Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:46.242Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:46.242Z","priority":"6","pid":"2830187","message":" Testnum 84"}

data: {"time":"2026-09-19T16:15:46.242Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:46.242Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:46.243Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.243Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.243Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:46.243Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:46.244Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind84"}

data: {"time":"2026-09-19T16:15:46.244Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:46.244Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:46.245Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:46.245Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.246Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:46.246Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:46.247Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:46.247Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:46.247Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:46.248Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.248Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:46.249Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:46.249Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:46.249Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:46.250Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:46.250Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:46.251Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:46.251Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.251Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:46.252Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:46.252Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.252Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:46.253Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:46.253Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:46.253Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.254Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:46.254Z","priority":"6","pid":"2830187","message":"=== End of file valgrind84"}

data: {"time":"2026-09-19T16:15:46.255Z","priority":"6","pid":"2830187","message":"test 0085 [HTTP over proxy with site and proxy authentication]"}

data: {"time":"2026-09-19T16:15:46.257Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind85 ../src/curl -q --output log/curl85.out  --include --trace-ascii log/trace85 --trace-time http://127.0.0.1:36137/we/want/that/page/85 -x 127.0.0.1:36137 --user iam:myself --proxy-user testing:this > log/stdout85 2> log/stderr85"}

data: {"time":"2026-09-19T16:15:46.258Z","priority":"6","pid":"2830187","message":" 85: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:46.258Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:46.258Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:46.258Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 85"}

data: {"time":"2026-09-19T16:15:46.259Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:46.488Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind85 .CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind86 ../src/curl -q --include --trace-ascii log/trace86 --trace-time \"http://127.0.0.1:36137/[860001-860003]\" -o \"log/dumpit#1.dump\" > log/stdout86 2> log/stderr86"}

data: {"time":"2026-09-19T16:15:46.712Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind87 ../src/curl -q --include --trace-ascii log/trace87 --trace-time \"http://127.0.0.1:36137/[870001-870002]\" -o \"log/dumpit87-#2.dump\" > log/stdout87 2> log/stderr87"}

data: {"time":"2026-09-19T16:15:46.718Z","priority":"6","pid":"2830187","message":"./src/curl -q --output log/curl85.out  --include --trace-ascii log/trace85 --trace-time http://127.0.0.1:36137/we/want/that/page/85 -x 127.0.0.1:36137 --user iam:myself --proxy-user testing:this > log/stdout85 2> log/stderr85"}

data: {"time":"2026-09-19T16:15:46.718Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:46.718Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:46.718Z","priority":"6","pid":"2830187","message":" 16:15:46.068773 ====> Client connect"}

data: {"time":"2026-09-19T16:15:46.719Z","priority":"6","pid":"2830187","message":" 16:15:46.068824 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:46.719Z","priority":"6","pid":"2830187","message":" 16:15:46.068859 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:46.719Z","priority":"6","pid":"2830187","message":" 16:15:46.068873 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:46.720Z","priority":"6","pid":"2830187","message":" 16:15:46.068889 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:46.720Z","priority":"6","pid":"2830187","message":" 16:15:46.068899 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:46.720Z","priority":"6","pid":"2830187","message":" 16:15:46.068938 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:46.721Z","priority":"6","pid":"2830187","message":" 16:15:46.068958 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:46.721Z","priority":"6","pid":"2830187","message":" 16:15:46.069044 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:46.722Z","priority":"6","pid":"2830187","message":" 16:15:46.069056 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:46.722Z","priority":"6","pid":"2830187","message":" 16:15:46.069066 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:46.722Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:46.723Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:46.723Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:46.723Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60164"}

data: {"time":"2026-09-19T16:15:46.724Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:46.724Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:46.724Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:46.725Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:46.725Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:46.725Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:46.725Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:46.726Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.726Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.726Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:46.726Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:46.727Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:46.727Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:46.728Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:46.728Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:46.728Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:46.728Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:46.729Z","priority":"6","pid":"2830187","message":" Testnum 85"}

data: {"time":"2026-09-19T16:15:46.729Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:46.729Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:46.730Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.730Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.730Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:46.730Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:46.731Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind85"}

data: {"time":"2026-09-19T16:15:46.731Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:46.731Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:46.732Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:46.732Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.733Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:46.733Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:46.733Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:46.733Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:46.733Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:46.734Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.734Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:46.735Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:46.735Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:46.735Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:46.736Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:46.736Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:46.736Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:46.737Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.737Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:46.737Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:46.738Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.738Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:46.739Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:46.739Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:46.740Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.740Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:46.741Z","priority":"6","pid":"2830187","message":"=== End of file valgrind85"}

data: {"time":"2026-09-19T16:15:46.741Z","priority":"6","pid":"2830187","message":"test 0086 [HTTP, urlglob []-retrieval and -o #[num] usage]"}

data: {"time":"2026-09-19T16:15:46.743Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind86 ../src/curl -q --include --trace-ascii log/trace86 --trace-time \"http://127.0.0.1:36137/[860001-860003]\" -o \"log/dumpit#1.dump\" > log/stdout86 2> log/stderr86"}

data: {"time":"2026-09-19T16:15:46.744Z","priority":"6","pid":"2830187","message":" 86: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:46.745Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:46.746Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:46.746Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 86"}

data: {"time":"2026-09-19T16:15:46.746Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:46.750Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind86 ../src/curl -q --include --trace-ascii log/trace86 --trace-time \"http://127.0.0.1:36137/[860001-860003]\" -o \"log/dumpit#1.dump\" > log/stdout86 2> log/stderr86"}

data: {"time":"2026-09-19T16:15:46.751Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:46.751Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:46.752Z","priority":"6","pid":"2830187","message":" 16:15:46.371878 ====> Client connect"}

data: {"time":"2026-09-19T16:15:46.753Z","priority":"6","pid":"2830187","message":" 16:15:46.371939 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:46.754Z","priority":"6","pid":"2830187","message":" 16:15:46.372267 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:46.755Z","priority":"6","pid":"2830187","message":" 16:15:46.372300 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:46.755Z","priority":"6","pid":"2830187","message":" 16:15:46.372316 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:46.756Z","priority":"6","pid":"2830187","message":" 16:15:46.372363 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:46.756Z","priority":"6","pid":"2830187","message":" 16:15:46.372419 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:46.756Z","priority":"6","pid":"2830187","message":" 16:15:46.372445 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:46.757Z","priority":"6","pid":"2830187","message":" 16:15:46.372506 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:46.758Z","priority":"6","pid":"2830187","message":" 16:15:46.372516 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:46.758Z","priority":"6","pid":"2830187","message":" 16:15:46.372525 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:46.758Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:46.759Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:46.759Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:46.759Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 60180"}

data: {"time":"2026-09-19T16:15:46.760Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:46.760Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:46.760Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:46.760Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:46.761Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:46.761Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:46.761Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:46.761Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.761Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.762Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:46.762Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:46.762Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:46.763Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:46.763Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:46.763Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:46.763Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:46.764Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:46.764Z","priority":"6","pid":"2830187","message":" Testnum 86"}

data: {"time":"2026-09-19T16:15:46.764Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:46.764Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:46.765Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:46.765Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:46.765Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:46.765Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:46.765Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind86"}

data: {"time":"2026-09-19T16:15:46.766Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:46.766Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:46.767Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:46.767Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.767Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:46.768Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:46.768Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:46.768Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:46.769Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:46.770Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.770Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:46.770Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:46.770Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:46.771Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:46.771Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:46.772Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:46.772Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:46.772Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.773Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:46.773Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:46.774Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.774Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:46.775Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:46.775Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:46.776Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:46.776Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:46.776Z","priority":"6","pid":"2830187","message":"=== End of file valgrind86"}

data: {"time":"2026-09-19T16:15:47.028Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind88 ../src/curl -q --output log/curl88.out  --include --trace-ascii log/trace88 --trace-time http://127.0.0.1:36137/88 -T log/put88 -u testuser:testpass --digest > log/stdout88 2> log/stderr88"}

data: {"time":"2026-09-19T16:15:47.264Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind92 ../src/curl -q --output log/curl92.out  --include --trace-ascii log/trace92 --trace-time http://127.0.0.1:36137/want/92 -C 87 > log/stdout92 2> log/stderr92"}

data: {"time":"2026-09-19T16:15:47.269Z","priority":"6","pid":"2830187","message":"test 0087 [urlglob with out of range -o #[num] usage]"}

data: {"time":"2026-09-19T16:15:47.271Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind87 ../src/curl -q --include --trace-ascii log/trace87 --trace-time \"http://127.0.0.1:36137/[870001-870002]\" -o \"log/dumpit87-#2.dump\" > log/stdout87 2> log/stderr87"}

data: {"time":"2026-09-19T16:15:47.271Z","priority":"6","pid":"2830187","message":" 87: output (log/dumpit87-#2.dump) FAILED:"}

data: {"time":"2026-09-19T16:15:47.272Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:15:46.716503995 +0000"}

data: {"time":"2026-09-19T16:15:47.273Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:15:46.715668542 +0000"}

data: {"time":"2026-09-19T16:15:47.273Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:15:47.273Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:47.273Z","priority":"6","pid":"2830187","message":"-Funny-head: yesyes[CR][LF]"}

data: {"time":"2026-09-19T16:15:47.273Z","priority":"6","pid":"2830187","message":"-Content-Length: 16[CR][LF]"}

data: {"time":"2026-09-19T16:15:47.273Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:15:47.274Z","priority":"6","pid":"2830187","message":"-two is nice too[LF]"}

data: {"time":"2026-09-19T16:15:47.274Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 87"}

data: {"time":"2026-09-19T16:15:47.274Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:15:47.274Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:15:47.275Z","priority":"6","pid":"2830187","message":" Funny-head: yesyes[CR][LF]"}

data: {"time":"2026-09-19T16:15:47.275Z","priority":"6","pid":"2830187","message":" Content-Length: 16[CR][LF]"}

data: {"time":"2026-09-19T16:15:47.275Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:15:47.275Z","priority":"6","pid":"2830187","message":" two is nice too[LF]"}

data: {"time":"2026-09-19T16:15:47.276Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:15:47.276Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:47.277Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind87 ../src/curl -q --include --trace-ascii log/trace87 --trace-time \"http://127.0.0.1:36137/[870001-870002]\" -o \"log/dumpit87-#2.dump\" > log/stdout87 2> log/stderr87"}

data: {"time":"2026-09-19T16:15:47.278Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:47.278Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:47.278Z","priority":"6","pid":"2830187","message":" 16:15:46.615131 ====> Client connect"}

data: {"time":"2026-09-19T16:15:47.279Z","priority":"6","pid":"2830187","message":" 16:15:46.615205 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:47.280Z","priority":"6","pid":"2830187","message":" 16:15:46.615459 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:47.280Z","priority":"6","pid":"2830187","message":" 16:15:46.615480 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:47.284Z","priority":"6","pid":"2830187","message":" 16:15:46.615496 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:47.284Z","priority":"6","pid":"2830187","message":" 16:15:46.615506 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:47.284Z","priority":"6","pid":"2830187","message":" 16:15:46.615546 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:47.284Z","priority":"6","pid":"2830187","message":" 16:15:46.615567 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:47.284Z","priority":"6","pid":"2830187","message":" 16:15:46.615661 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:47.285Z","priority":"6","pid":"2830187","message":" 16:15:46.615675 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:47.285Z","priority":"6","pid":"2830187","message":" 16:15:46.615686 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:47.286Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:47.287Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:47.287Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:47.288Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 46430"}

data: {"time":"2026-09-19T16:15:47.289Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:47.289Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:47.289Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:47.290Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:47.291Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:47.291Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:47.291Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:47.291Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:47.291Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:47.291Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:47.292Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:47.292Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:47.292Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:47.293Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:47.293Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:47.293Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:47.294Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:47.294Z","priority":"6","pid":"2830187","message":" Testnum 87"}

data: {"time":"2026-09-19T16:15:47.294Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:47.294Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:47.295Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:47.295Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:47.295Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:47.295Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:47.295Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind87"}

data: {"time":"2026-09-19T16:15:47.296Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:47.296Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:47.297Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:47.297Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.297Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:47.297Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:47.298Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:47.298Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:47.298Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:47.299Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.299Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:47.300Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:47.300Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:47.301Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:47.301Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:47.301Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:47.301Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:47.302Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.302Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:47.303Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:47.303Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.303Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:47.304Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:47.304Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:47.304Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.304Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:47.304Z","priority":"6","pid":"2830187","message":"=== End of file valgrind87"}

data: {"time":"2026-09-19T16:15:47.305Z","priority":"6","pid":"2830187","message":"test 0088 [HTTP PUT with Digest authorization]"}

data: {"time":"2026-09-19T16:15:47.306Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind88 ../src/curl -q --output log/curl88.out  --include --trace-ascii log/trace88 --trace-time http://127.0.0.1:36137/88 -T log/put88 -u testuser:testpass --digest > log/stdout88 2> log/stderr88"}

data: {"time":"2026-09-19T16:15:47.306Z","priority":"6","pid":"2830187","message":" 88: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:47.307Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:47.307Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:47.308Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 88"}

data: {"time":"2026-09-19T16:15:47.308Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:47.309Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind88 ../src/curl -q --output log/curl88.out  --include --trace-ascii log/trace88 --trace-time http://127.0.0.1:36137/88 -T log/put88 -u testuser:testpass --digest > log/stdout88 2> log/stderr88"}

data: {"time":"2026-09-19T16:15:47.309Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:47.310Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:47.310Z","priority":"6","pid":"2830187","message":" 16:15:46.900011 ====> Client connect"}

data: {"time":"2026-09-19T16:15:47.311Z","priority":"6","pid":"2830187","message":" 16:15:46.900065 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:47.311Z","priority":"6","pid":"2830187","message":" 16:15:46.900252 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:47.311Z","priority":"6","pid":"2830187","message":" 16:15:46.900275 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:47.311Z","priority":"6","pid":"2830187","message":" 16:15:46.900325 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:47.312Z","priority":"6","pid":"2830187","message":" 16:15:46.900339 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:47.312Z","priority":"6","pid":"2830187","message":" 16:15:46.900386 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:47.313Z","priority":"6","pid":"2830187","message":" 16:15:46.900414 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:47.313Z","priority":"6","pid":"2830187","message":" 16:15:46.900531 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:47.314Z","priority":"6","pid":"2830187","message":" 16:15:46.900544 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:47.314Z","priority":"6","pid":"2830187","message":" 16:15:46.900554 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:47.314Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:47.315Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:47.315Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:47.315Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 46434"}

data: {"time":"2026-09-19T16:15:47.316Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:47.317Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:47.317Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:47.317Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:47.317Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:47.317Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:47.317Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:47.317Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:47.318Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:47.318Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:47.318Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:47.319Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:47.319Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:47.320Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:47.320Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:47.320Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:47.320Z","priority":"6","pid":"2830187","message":"=== Start of file put88"}

data: {"time":"2026-09-19T16:15:47.320Z","priority":"6","pid":"2830187","message":" This is data we upload with PUT"}

data: {"time":"2026-09-19T16:15:47.320Z","priority":"6","pid":"2830187","message":" a second line"}

data: {"time":"2026-09-19T16:15:47.321Z","priority":"6","pid":"2830187","message":" line three"}

data: {"time":"2026-09-19T16:15:47.321Z","priority":"6","pid":"2830187","message":" four is the number of lines"}

data: {"time":"2026-09-19T16:15:47.321Z","priority":"6","pid":"2830187","message":"=== End of file put88"}

data: {"time":"2026-09-19T16:15:47.321Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:47.321Z","priority":"6","pid":"2830187","message":" auth_required"}

data: {"time":"2026-09-19T16:15:47.322Z","priority":"6","pid":"2830187","message":" Testnum 88"}

data: {"time":"2026-09-19T16:15:47.322Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:47.322Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:47.323Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:47.323Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:47.323Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:47.323Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:47.324Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind88"}

data: {"time":"2026-09-19T16:15:47.324Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:47.325Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:47.325Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:47.325Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.325Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:47.326Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:47.326Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:47.327Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:47.327Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:47.327Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.328Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:47.328Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:47.329Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:47.329Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:47.330Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:47.330Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:47.330Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:47.330Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.331Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:47.331Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:47.332Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.332Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:47.332Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:47.332Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:47.333Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.333Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:47.333Z","priority":"6","pid":"2830187","message":"=== End of file valgrind88"}

data: {"time":"2026-09-19T16:15:47.334Z","priority":"6","pid":"2830187","message":"test 0092 [HTTP resume transfer with the whole file already downloaded]"}

data: {"time":"2026-09-19T16:15:47.551Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usrCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind93 ../src/curl -q --output log/curl93.out  --include --trace-ascii log/trace93 --trace-time http://127.0.0.1:36137/93 -x 127.0.0.1:36137 > log/stdout93 2> log/stderr93"}

data: {"time":"2026-09-19T16:15:47.786Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind94 ../src/curl -q --output log/curl94.out  --include --trace-ascii log/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:36137 > log/stdout94 2> log/stderr94"}

data: {"time":"2026-09-19T16:15:47.790Z","priority":"6","pid":"2830187","message":"/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind92 ../src/curl -q --output log/curl92.out  --include --trace-ascii log/trace92 --trace-time http://127.0.0.1:36137/want/92 -C 87 > log/stdout92 2> log/stderr92"}

data: {"time":"2026-09-19T16:15:47.791Z","priority":"6","pid":"2830187","message":" 92: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:47.792Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:47.792Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:47.792Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 92"}

data: {"time":"2026-09-19T16:15:47.793Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:47.794Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind92 ../src/curl -q --output log/curl92.out  --include --trace-ascii log/trace92 --trace-time http://127.0.0.1:36137/want/92 -C 87 > log/stdout92 2> log/stderr92"}

data: {"time":"2026-09-19T16:15:47.794Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:47.795Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:47.795Z","priority":"6","pid":"2830187","message":" 16:15:47.147264 ====> Client connect"}

data: {"time":"2026-09-19T16:15:47.796Z","priority":"6","pid":"2830187","message":" 16:15:47.147336 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:47.796Z","priority":"6","pid":"2830187","message":" 16:15:47.147466 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:47.796Z","priority":"6","pid":"2830187","message":" 16:15:47.147479 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:47.797Z","priority":"6","pid":"2830187","message":" 16:15:47.147493 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:47.797Z","priority":"6","pid":"2830187","message":" 16:15:47.147501 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:47.798Z","priority":"6","pid":"2830187","message":" 16:15:47.147530 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:47.798Z","priority":"6","pid":"2830187","message":" 16:15:47.147547 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:47.799Z","priority":"6","pid":"2830187","message":" 16:15:47.147594 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:47.799Z","priority":"6","pid":"2830187","message":" 16:15:47.147623 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:47.799Z","priority":"6","pid":"2830187","message":" 16:15:47.147635 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:47.800Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:47.800Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:47.800Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:47.801Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 46436"}

data: {"time":"2026-09-19T16:15:47.801Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:47.801Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:47.801Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:47.802Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:47.802Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:47.803Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:47.803Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:47.803Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:47.805Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:47.805Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:47.805Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:47.805Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:47.805Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:47.806Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:47.807Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:47.807Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:47.807Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:47.809Z","priority":"6","pid":"2830187","message":" Testnum 92"}

data: {"time":"2026-09-19T16:15:47.809Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:47.810Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:47.811Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:47.811Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:47.811Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:47.811Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:47.812Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind92"}

data: {"time":"2026-09-19T16:15:47.812Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:47.813Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:47.813Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:47.815Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.815Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:47.815Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:47.815Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:47.816Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:47.816Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:47.817Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.817Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:47.817Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:47.818Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:47.818Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:47.819Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:47.819Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:47.820Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:47.820Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.821Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:47.821Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:47.821Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.821Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:47.822Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:47.822Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:47.822Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.823Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:47.823Z","priority":"6","pid":"2830187","message":"=== End of file valgrind92"}

data: {"time":"2026-09-19T16:15:47.824Z","priority":"6","pid":"2830187","message":"test 0093 [HTTP GET with failed proxy auth]"}

data: {"time":"2026-09-19T16:15:47.825Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind93 ../src/curl -q --output log/curl93.out  --include --trace-ascii log/trace93 --trace-time http://127.0.0.1:36137/93 -x 127.0.0.1:36137 > log/stdout93 2> log/stderr93"}

data: {"time":"2026-09-19T16:15:47.826Z","priority":"6","pid":"2830187","message":" 93: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:47.826Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:47.826Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:47.827Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 93"}

data: {"time":"2026-09-19T16:15:47.827Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:47.828Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind93 ../src/curl -q --output log/curl93.out  --include --trace-ascii log/trace93 --trace-time http://127.0.0.1:36137/93 -x 127.0.0.1:36137 > log/stdout93 2> log/stderr93"}

data: {"time":"2026-09-19T16:15:47.829Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:47.829Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:47.829Z","priority":"6","pid":"2830187","message":" 16:15:47.445324 ====> Client connect"}

data: {"time":"2026-09-19T16:15:47.830Z","priority":"6","pid":"2830187","message":" 16:15:47.445384 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:47.830Z","priority":"6","pid":"2830187","message":" 16:15:47.445570 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:47.830Z","priority":"6","pid":"2830187","message":" 16:15:47.445590 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:47.831Z","priority":"6","pid":"2830187","message":" 16:15:47.445610 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:47.831Z","priority":"6","pid":"2830187","message":" 16:15:47.445621 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:47.832Z","priority":"6","pid":"2830187","message":" 16:15:47.445668 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:47.832Z","priority":"6","pid":"2830187","message":" 16:15:47.445695 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:47.832Z","priority":"6","pid":"2830187","message":" 16:15:47.445766 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:47.833Z","priority":"6","pid":"2830187","message":" 16:15:47.445780 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:47.833Z","priority":"6","pid":"2830187","message":" 16:15:47.445792 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:47.833Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:47.834Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:47.834Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:47.834Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 46442"}

data: {"time":"2026-09-19T16:15:47.834Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:47.835Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:47.836Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:47.836Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:47.836Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:47.836Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:47.836Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:47.836Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:47.836Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:47.837Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:47.837Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:47.837Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:47.837Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:47.838Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:47.838Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:47.838Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:47.839Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:47.839Z","priority":"6","pid":"2830187","message":" Testnum 93"}

data: {"time":"2026-09-19T16:15:47.840Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:47.840Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:47.840Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:47.840Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:47.840Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:47.841Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:47.841Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind93"}

data: {"time":"2026-09-19T16:15:47.842Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:47.842Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:47.842Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:47.842Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.842Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:47.843Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:47.843Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:47.844Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:47.844Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:47.845Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.845Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:47.845Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:47.845Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:47.845Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:47.846Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:47.846Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:47.847Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:47.847Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.847Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:47.848Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:47.848Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.848Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:47.849Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:47.849Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:47.849Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:47.849Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:47.850Z","priority":"6","pid":"2830187","message":"=== End of file valgrind93"}

data: {"time":"2026-09-19T16:15:47.850Z","priority":"6","pid":"2830187","message":"test 0094 [HTTPS GET with failed proxy auth (CONNECT 1.0)]"}

data: {"time":"2026-09-19T16:15:47.851Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind94 ../src/curl -q --output log/curl94.out  --include --trace-ascii log/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:36137 > log/stdout94 2> log/stderr94"}

data: {"time":"2026-09-19T16:15:47.852Z","priority":"6","pid":"2830187","message":" 94: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:47.852Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:47.852Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:47.853Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 94"}

data: {"time":"2026-09-19T16:15:47.853Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:48.106Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind95 ../src/curl -q --output log/curl95.out  --include --trace-ascii log/trace95 --trace-time http://test.95:36137/we/want/that/page/95 -p -x 127.0.0.1:34615 -d \"datatopost=ohthatsfunyesyes\" > log/stdout95 2> log/stderr95"}

data: {"time":"2026-09-19T16:15:48.119Z","priority":"6","pid":"2830187","message":"ppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind94 ../src/curl -q --output log/curl94.out  --include --trace-ascii log/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:36137 > log/stdout94 2> log/stderr94"}

data: {"time":"2026-09-19T16:15:48.120Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:48.120Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:48.121Z","priority":"6","pid":"2830187","message":" 16:15:47.675997 ====> Client connect"}

data: {"time":"2026-09-19T16:15:48.121Z","priority":"6","pid":"2830187","message":" 16:15:47.676066 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:48.121Z","priority":"6","pid":"2830187","message":" 16:15:47.676102 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:48.121Z","priority":"6","pid":"2830187","message":" 16:15:47.676113 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:48.121Z","priority":"6","pid":"2830187","message":" 16:15:47.676129 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.121Z","priority":"6","pid":"2830187","message":" 16:15:47.676138 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:48.122Z","priority":"6","pid":"2830187","message":" 16:15:47.676170 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:48.122Z","priority":"6","pid":"2830187","message":" 16:15:47.676190 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:48.123Z","priority":"6","pid":"2830187","message":" 16:15:47.676421 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:48.123Z","priority":"6","pid":"2830187","message":" 16:15:47.676441 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:48.123Z","priority":"6","pid":"2830187","message":" 16:15:47.676451 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:48.124Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:48.124Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:48.124Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:48.125Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 46458"}

data: {"time":"2026-09-19T16:15:48.125Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:48.125Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.125Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:48.126Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:48.126Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:48.126Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:48.126Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:48.127Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.127Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.127Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:48.127Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:48.127Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:48.128Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:48.128Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:48.128Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:48.128Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:48.129Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:48.129Z","priority":"6","pid":"2830187","message":" Testnum 94"}

data: {"time":"2026-09-19T16:15:48.129Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:48.129Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:48.129Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.129Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.129Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:48.129Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:48.130Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind94"}

data: {"time":"2026-09-19T16:15:48.130Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:48.130Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:48.131Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:48.131Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.131Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:48.131Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:48.132Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:48.132Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:48.132Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:48.132Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.133Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:48.133Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:48.133Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:48.134Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:48.134Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:48.135Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:48.135Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:48.135Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.135Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:48.136Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:48.136Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.136Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:48.136Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:48.137Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:48.137Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.137Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:48.137Z","priority":"6","pid":"2830187","message":"=== End of file valgrind94"}

data: {"time":"2026-09-19T16:15:48.138Z","priority":"6","pid":"2830187","message":"test 0095 [HTTP over proxytunnel using POST]"}

data: {"time":"2026-09-19T16:15:48.139Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind95 ../src/curl -q --output log/curl95.out  --include --trace-ascii log/trace95 --trace-time http://test.95:36137/we/want/that/page/95 -p -x 127.0.0.1:34615 -d \"datatopost=ohthatsfunyesyes\" > log/stdout95 2> log/stderr95"}

data: {"time":"2026-09-19T16:15:48.140Z","priority":"6","pid":"2830187","message":" 95: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:48.140Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:48.140Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:48.141Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 95"}

data: {"time":"2026-09-19T16:15:48.141Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:48.142Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind95 ../src/curl -q --output log/curl95.out  --include --trace-ascii log/trace95 --trace-time http://test.95:36137/we/want/that/page/95 -p -x 127.0.0.1:34615 -d \"datatopost=ohthatsfunyesyes\" > log/stdout95 2> log/stderr95"}

data: {"time":"2026-09-19T16:15:48.143Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:48.143Z","priority":"6","pid":"2830187","message":"=== Start of file http2_server.log"}

data: {"time":"2026-09-19T16:15:48.143Z","priority":"6","pid":"2830187","message":" 16:15:47.001320 ====> Client connect"}

data: {"time":"2026-09-19T16:15:48.144Z","priority":"6","pid":"2830187","message":" 16:15:47.001366 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:48.144Z","priority":"6","pid":"2830187","message":" 16:15:47.001515 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:48.144Z","priority":"6","pid":"2830187","message":" 16:15:47.001531 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:48.144Z","priority":"6","pid":"2830187","message":" 16:15:47.001546 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.145Z","priority":"6","pid":"2830187","message":" 16:15:47.001556 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:48.145Z","priority":"6","pid":"2830187","message":" 16:15:47.001591 Wrote request (93 bytes) input to log/proxy.input"}

data: {"time":"2026-09-19T16:15:48.146Z","priority":"6","pid":"2830187","message":" 16:15:47.001612 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:48.146Z","priority":"6","pid":"2830187","message":" 16:15:47.001664 Response sent (56 bytes) and written to log/proxy.response"}

data: {"time":"2026-09-19T16:15:48.147Z","priority":"6","pid":"2830187","message":" 16:15:47.001675 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:48.147Z","priority":"6","pid":"2830187","message":" 16:15:47.001684 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:48.147Z","priority":"6","pid":"2830187","message":"=== End of file http2_server.log"}

data: {"time":"2026-09-19T16:15:48.147Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.log"}

data: {"time":"2026-09-19T16:15:48.148Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34615..."}

data: {"time":"2026-09-19T16:15:48.148Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34615) from 127.0.0.1 port 60832"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34615"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.149Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:48.150Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:48.150Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34615 left intact"}

data: {"time":"2026-09-19T16:15:48.151Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.log"}

data: {"time":"2026-09-19T16:15:48.151Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.out"}

data: {"time":"2026-09-19T16:15:48.151Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:15:48.151Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.out"}

data: {"time":"2026-09-19T16:15:48.151Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:48.151Z","priority":"6","pid":"2830187","message":" 16:15:47.962049 ====> Client connect"}

data: {"time":"2026-09-19T16:15:48.151Z","priority":"6","pid":"2830187","message":" 16:15:47.962090 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:48.152Z","priority":"6","pid":"2830187","message":" 16:15:47.962275 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:48.152Z","priority":"6","pid":"2830187","message":" 16:15:47.962304 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:48.152Z","priority":"6","pid":"2830187","message":" 16:15:47.962321 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.153Z","priority":"6","pid":"2830187","message":" 16:15:47.962331 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:48.153Z","priority":"6","pid":"2830187","message":" 16:15:47.962372 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:48.153Z","priority":"6","pid":"2830187","message":" 16:15:47.962393 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:48.154Z","priority":"6","pid":"2830187","message":" 16:15:47.962450 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:48.154Z","priority":"6","pid":"2830187","message":" 16:15:47.962460 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:48.154Z","priority":"6","pid":"2830187","message":" 16:15:47.962469 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:48.155Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:48.155Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:48.155Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:48.156Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 46466"}

data: {"time":"2026-09-19T16:15:48.156Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:48.156Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.156Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:48.157Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:48.157Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:48.157Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:48.158Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:48.158Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.158Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.158Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:48.159Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:48.159Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:48.159Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:48.159Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:48.159Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:48.159Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:48.160Z","priority":"6","pid":"2830187","message":"=== Start of file proxy.response"}

data: {"time":"2026-09-19T16:15:48.160Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.160Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.160Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:15:48.161Z","priority":"6","pid":"2830187","message":"=== End of file proxy.response"}

data: {"time":"2026-09-19T16:15:48.161Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:48.161Z","priority":"6","pid":"2830187","message":" Testnum 95"}

data: {"time":"2026-09-19T16:15:48.161Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:48.162Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:48.162Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.162Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.163Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:48.163Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:48.163Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind95"}

data: {"time":"2026-09-19T16:15:48.164Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:48.164Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:48.164Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:48.165Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.165Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:48.166Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:48.166Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:48.166Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:48.166Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:48.167Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.167Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:48.168Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:48.168Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:48.169Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:48.169Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:48.170Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:48.170Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:48.170Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.170Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:48.171Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:48.171Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.171Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:48.172Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:48.172Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:48.172Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.390Z","priority":"6","pid":"2830187","message":" valgrind:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind97 ../src/curl -q --output log/curl97.out  --include --trace-ascii log/trace97 --trace-time -d \"hejsanallabarn\" -H \"Content-Type: silly/type\" http://127.0.0.1:36137/97 > log/stdout97 2> log/stderr97"}

data: {"time":"2026-09-19T16:15:48.650Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind98 ../src/curl -q --output log/curl98.out  --include --trace-ascii log/trace98 --trace-time -T - -H \"Transfer-Encoding:\" -H \"Content-Length: 14\" http://127.0.0.1:36137/98 <log/stdin-for-98 > log/stdout98 2> log/stderr98"}

data: {"time":"2026-09-19T16:15:48.880Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind99 ../src/curl -q --output log/curl99.out  --include --trace-ascii log/trace99 --trace-time http://127.0.0.1:36137/99 -C 9999999999 > log/stdout99 2> log/stderr99"}

data: {"time":"2026-09-19T16:15:48.883Z","priority":"6","pid":"2830187","message":"  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:48.884Z","priority":"6","pid":"2830187","message":"=== End of file valgrind95"}

data: {"time":"2026-09-19T16:15:48.884Z","priority":"6","pid":"2830187","message":"test 0097 [HTTP POST with custom content-type]"}

data: {"time":"2026-09-19T16:15:48.885Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind97 ../src/curl -q --output log/curl97.out  --include --trace-ascii log/trace97 --trace-time -d \"hejsanallabarn\" -H \"Content-Type: silly/type\" http://127.0.0.1:36137/97 > log/stdout97 2> log/stderr97"}

data: {"time":"2026-09-19T16:15:48.886Z","priority":"6","pid":"2830187","message":" 97: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:48.886Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:48.887Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:48.887Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 97"}

data: {"time":"2026-09-19T16:15:48.887Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:48.889Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind97 ../src/curl -q --output log/curl97.out  --include --trace-ascii log/trace97 --trace-time -d \"hejsanallabarn\" -H \"Content-Type: silly/type\" http://127.0.0.1:36137/97 > log/stdout97 2> log/stderr97"}

data: {"time":"2026-09-19T16:15:48.889Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:48.889Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:48.890Z","priority":"6","pid":"2830187","message":" 16:15:48.282358 ====> Client connect"}

data: {"time":"2026-09-19T16:15:48.890Z","priority":"6","pid":"2830187","message":" 16:15:48.282403 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:48.890Z","priority":"6","pid":"2830187","message":" 16:15:48.282585 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:48.891Z","priority":"6","pid":"2830187","message":" 16:15:48.282601 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:48.891Z","priority":"6","pid":"2830187","message":" 16:15:48.282617 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.892Z","priority":"6","pid":"2830187","message":" 16:15:48.282627 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:48.892Z","priority":"6","pid":"2830187","message":" 16:15:48.282661 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:48.892Z","priority":"6","pid":"2830187","message":" 16:15:48.282681 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:48.893Z","priority":"6","pid":"2830187","message":" 16:15:48.282750 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:48.893Z","priority":"6","pid":"2830187","message":" 16:15:48.282761 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:48.894Z","priority":"6","pid":"2830187","message":" 16:15:48.282770 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:48.894Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:48.894Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:48.894Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:48.895Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 46470"}

data: {"time":"2026-09-19T16:15:48.895Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:48.896Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.896Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:48.896Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:48.896Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:48.897Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:48.897Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:48.897Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.898Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.898Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:48.898Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:48.898Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:48.898Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:48.899Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:48.899Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:48.899Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:48.900Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:48.900Z","priority":"6","pid":"2830187","message":" Testnum 97"}

data: {"time":"2026-09-19T16:15:48.900Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:48.900Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:48.901Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.901Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.902Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:48.902Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:48.902Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind97"}

data: {"time":"2026-09-19T16:15:48.903Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:48.904Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:48.904Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:48.906Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.906Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:48.906Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:48.907Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:48.907Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:48.908Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:48.908Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.909Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:48.910Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:48.911Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:48.912Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:48.913Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:48.914Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:48.915Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:48.915Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.915Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:48.915Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:48.915Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.916Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:48.916Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:48.917Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:48.917Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.917Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:48.918Z","priority":"6","pid":"2830187","message":"=== End of file valgrind97"}

data: {"time":"2026-09-19T16:15:48.918Z","priority":"6","pid":"2830187","message":"test 0098 [HTTP PUT from stdin with set size, disabling chunked transfer-encoding]"}

data: {"time":"2026-09-19T16:15:48.920Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind98 ../src/curl -q --output log/curl98.out  --include --trace-ascii log/trace98 --trace-time -T - -H \"Transfer-Encoding:\" -H \"Content-Length: 14\" http://127.0.0.1:36137/98 <log/stdin-for-98 > log/stdout98 2> log/stderr98"}

data: {"time":"2026-09-19T16:15:48.921Z","priority":"6","pid":"2830187","message":" 98: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:48.921Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:48.922Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:48.922Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 98"}

data: {"time":"2026-09-19T16:15:48.922Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:48.924Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind98 ../src/curl -q --output log/curl98.out  --include --trace-ascii log/trace98 --trace-time -T - -H \"Transfer-Encoding:\" -H \"Content-Length: 14\" http://127.0.0.1:36137/98 <log/stdin-for-98 > log/stdout98 2> log/stderr98"}

data: {"time":"2026-09-19T16:15:48.925Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:48.925Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:48.925Z","priority":"6","pid":"2830187","message":" 16:15:48.519074 ====> Client connect"}

data: {"time":"2026-09-19T16:15:48.925Z","priority":"6","pid":"2830187","message":" 16:15:48.519133 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:48.926Z","priority":"6","pid":"2830187","message":" 16:15:48.519408 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:48.926Z","priority":"6","pid":"2830187","message":" 16:15:48.519439 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:48.926Z","priority":"6","pid":"2830187","message":" 16:15:48.519475 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.927Z","priority":"6","pid":"2830187","message":" 16:15:48.519487 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:48.927Z","priority":"6","pid":"2830187","message":" 16:15:48.519530 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:48.928Z","priority":"6","pid":"2830187","message":" 16:15:48.519564 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:48.928Z","priority":"6","pid":"2830187","message":" 16:15:48.519660 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:48.928Z","priority":"6","pid":"2830187","message":" 16:15:48.519673 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:48.929Z","priority":"6","pid":"2830187","message":" 16:15:48.519683 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:48.929Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:48.929Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:48.930Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:48.930Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 46476"}

data: {"time":"2026-09-19T16:15:48.931Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:48.931Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:48.931Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:48.931Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:48.931Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:48.932Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:48.932Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:48.933Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.933Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.933Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:48.933Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:48.933Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:48.933Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:48.933Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:48.934Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:48.934Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:48.934Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:48.935Z","priority":"6","pid":"2830187","message":" Testnum 98"}

data: {"time":"2026-09-19T16:15:48.935Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:48.935Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:48.935Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:48.936Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:48.936Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:48.936Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:48.937Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-98"}

data: {"time":"2026-09-19T16:15:48.937Z","priority":"6","pid":"2830187","message":" data on stdin"}

data: {"time":"2026-09-19T16:15:48.937Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-98"}

data: {"time":"2026-09-19T16:15:48.937Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind98"}

data: {"time":"2026-09-19T16:15:48.938Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:48.938Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:48.939Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:48.940Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.940Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:48.940Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:48.940Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:48.940Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:48.941Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:48.941Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.942Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:48.942Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:48.943Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:48.943Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:48.944Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:48.944Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:48.945Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:48.945Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.946Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:48.946Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:48.946Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.947Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:48.947Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:48.948Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:48.948Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:48.948Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:48.949Z","priority":"6","pid":"2830187","message":"=== End of file valgrind98"}

data: {"time":"2026-09-19T16:15:48.949Z","priority":"6","pid":"2830187","message":"test 0099 [HTTP GET with large-file resume point and failed resume]"}

data: {"time":"2026-09-19T16:15:50.142Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind99 ../src/curl -q --output log/curl99.out  CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind100 ../src/curl -q --output log/curl100.out  --include --trace-ascii log/trace100 --trace-time ftp://127.0.0.1:40545/test-100/ > log/stdout100 2> log/stderr100"}

data: {"time":"2026-09-19T16:15:50.396Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind101 ../src/curl -q --output log/curl101.out  --include --trace-ascii log/trace101 --trace-time ftp://127.0.0.1:40545/ -P 127.0.0.1 > log/stdout101 2> log/stderr101"}

data: {"time":"2026-09-19T16:15:50.401Z","priority":"6","pid":"2830187","message":"--include --trace-ascii log/trace99 --trace-time http://127.0.0.1:36137/99 -C 9999999999 > log/stdout99 2> log/stderr99"}

data: {"time":"2026-09-19T16:15:50.403Z","priority":"6","pid":"2830187","message":" 99: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:50.403Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:50.404Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:50.404Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 99"}

data: {"time":"2026-09-19T16:15:50.404Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:50.406Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind99 ../src/curl -q --output log/curl99.out  --include --trace-ascii log/trace99 --trace-time http://127.0.0.1:36137/99 -C 9999999999 > log/stdout99 2> log/stderr99"}

data: {"time":"2026-09-19T16:15:50.406Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:50.406Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:15:50.407Z","priority":"6","pid":"2830187","message":" 16:15:48.769067 ====> Client connect"}

data: {"time":"2026-09-19T16:15:50.407Z","priority":"6","pid":"2830187","message":" 16:15:48.769116 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:15:50.407Z","priority":"6","pid":"2830187","message":" 16:15:48.769151 Read 93 bytes"}

data: {"time":"2026-09-19T16:15:50.408Z","priority":"6","pid":"2830187","message":" 16:15:48.769169 Process 93 bytes request"}

data: {"time":"2026-09-19T16:15:50.408Z","priority":"6","pid":"2830187","message":" 16:15:48.769186 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:50.408Z","priority":"6","pid":"2830187","message":" 16:15:48.769196 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:15:50.409Z","priority":"6","pid":"2830187","message":" 16:15:48.769269 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:15:50.410Z","priority":"6","pid":"2830187","message":" 16:15:48.769300 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:15:50.410Z","priority":"6","pid":"2830187","message":" 16:15:48.769415 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:15:50.410Z","priority":"6","pid":"2830187","message":" 16:15:48.769429 special request received, no persistency"}

data: {"time":"2026-09-19T16:15:50.410Z","priority":"6","pid":"2830187","message":" 16:15:48.769441 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:15:50.411Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:15:50.411Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:15:50.411Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:15:50.412Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 46478"}

data: {"time":"2026-09-19T16:15:50.413Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:15:50.413Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:15:50.413Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:15:50.413Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:15:50.413Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:15:50.413Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:15:50.413Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:15:50.413Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:50.414Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:15:50.414Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:15:50.414Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:15:50.414Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:15:50.415Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:15:50.415Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:15:50.415Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:50.416Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:15:50.416Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:50.416Z","priority":"6","pid":"2830187","message":" Testnum 99"}

data: {"time":"2026-09-19T16:15:50.416Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:50.417Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:15:50.417Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:15:50.417Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:15:50.418Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:15:50.418Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:15:50.418Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind99"}

data: {"time":"2026-09-19T16:15:50.418Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:50.419Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:50.419Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:50.420Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.420Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:50.420Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:50.420Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:50.421Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:50.421Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:50.421Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.422Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:50.422Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:50.422Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:50.423Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:50.423Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:50.424Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:50.424Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:50.425Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.425Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:50.425Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:50.425Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.426Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:50.426Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:50.426Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:50.427Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.427Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:50.427Z","priority":"6","pid":"2830187","message":"=== End of file valgrind99"}

data: {"time":"2026-09-19T16:15:50.429Z","priority":"6","pid":"2830187","message":"startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile \"log/server/ftp_server.pid\" --logfile \"log/ftp_server.log\" --logdir \"log\" --portfile \"log/server/ftp_server.port\" --srcdir \"/build/curl/src/curl/tests\" --proto ftp --ipv4 --port 0 --addr \"127.0.0.1\""}

data: {"time":"2026-09-19T16:15:50.429Z","priority":"6","pid":"2830187","message":"PINGPONG runs on port 40545 (log/server/ftp_server.port)"}

data: {"time":"2026-09-19T16:15:50.430Z","priority":"6","pid":"2830187","message":"RUN: FTP server is PID 84550 port 40545"}

data: {"time":"2026-09-19T16:15:50.431Z","priority":"6","pid":"2830187","message":"* pid ftp => 84550 84550"}

data: {"time":"2026-09-19T16:15:50.431Z","priority":"6","pid":"2830187","message":"test 0100 [FTP dir list PASV]"}

data: {"time":"2026-09-19T16:15:50.431Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind100 ../src/curl -q --output log/curl100.out  --include --trace-ascii log/trace100 --trace-time ftp://127.0.0.1:40545/test-100/ > log/stdout100 2> log/stderr100"}

data: {"time":"2026-09-19T16:15:50.432Z","priority":"6","pid":"2830187","message":" 100: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:50.432Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:50.433Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:50.433Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 100"}

data: {"time":"2026-09-19T16:15:50.434Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:50.435Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind100 ../src/curl -q --output log/curl100.out  --include --trace-ascii log/trace100 --trace-time ftp://127.0.0.1:40545/test-100/ > log/stdout100 2> log/stderr100"}

data: {"time":"2026-09-19T16:15:50.435Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:50.436Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:50.436Z","priority":"6","pid":"2830187","message":" 16:15:49.046804 FTP server listens on port IPv4/40545"}

data: {"time":"2026-09-19T16:15:50.436Z","priority":"6","pid":"2830187","message":" 16:15:49.047022 logged pid 84550 in log/server/ftp_server.pid"}

data: {"time":"2026-09-19T16:15:50.436Z","priority":"6","pid":"2830187","message":" 16:15:49.047094 Awaiting input"}

data: {"time":"2026-09-19T16:15:50.437Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:50.437Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:50.438Z","priority":"6","pid":"2830187","message":" 16:15:49.118096 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:50.438Z","priority":"6","pid":"2830187","message":" 16:15:49.118320 Listening on port 40545"}

data: {"time":"2026-09-19T16:15:50.438Z","priority":"6","pid":"2830187","message":" 16:15:49.118384 Wrote pid 84551 to log/server/ftp_sockctrl.pid"}

data: {"time":"2026-09-19T16:15:50.439Z","priority":"6","pid":"2830187","message":" 16:15:49.118428 Wrote port 40545 to log/server/ftp_server.port"}

data: {"time":"2026-09-19T16:15:50.439Z","priority":"6","pid":"2830187","message":" 16:15:49.118462 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:50.439Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:50.440Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:50.440Z","priority":"6","pid":"2830187","message":" Testnum 100"}

data: {"time":"2026-09-19T16:15:50.440Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:50.440Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind100"}

data: {"time":"2026-09-19T16:15:50.441Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:50.441Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:50.442Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:50.442Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.442Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:50.443Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:50.444Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:50.444Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:50.444Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:50.444Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.444Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:50.445Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:50.445Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:50.447Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:50.447Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:50.448Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:50.448Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:50.448Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.451Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:50.452Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:50.452Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.453Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:50.454Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:50.455Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:50.455Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.455Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:50.456Z","priority":"6","pid":"2830187","message":"=== End of file valgrind100"}

data: {"time":"2026-09-19T16:15:50.457Z","priority":"6","pid":"2830187","message":"test 0101 [FTP dir list, PORT with specified IP]"}

data: {"time":"2026-09-19T16:15:50.462Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind101 ../src/curl -q --output log/curl101.out  --include --trace-ascii log/trace101 --trace-time ftp://127.0.0.1:40545/ -P 127.0.0.1 > log/stdout101 2> log/stderr101"}

data: {"time":"2026-09-19T16:15:50.463Z","priority":"6","pid":"2830187","message":" 101: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:50.464Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:50.464Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:50.467Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 101"}

data: {"time":"2026-09-19T16:15:50.467Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:50.469Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind101 ../src/curl -q --output log/curl101.out  --include --trace-ascii log/trace101 --trace-time ftp://127.0.0.1:40545/ -P 127.0.0.1 > log/stdout101 2> log/stderr101"}

data: {"time":"2026-09-19T16:15:50.470Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:50.471Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:50.472Z","priority":"6","pid":"2830187","message":" 16:15:50.188309 ====> Client connect"}

data: {"time":"2026-09-19T16:15:50.474Z","priority":"6","pid":"2830187","message":" 16:15:50.188838 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.739Z","priority":"6","pid":"2830187","message":" 16:15:50.189408 < CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind102 ../src/curl -q --output log/curl102.out  --include --trace-ascii log/trace102 --trace-time ftp://127.0.0.1:40545/102 > log/stdout102 2> log/stderr102"}

data: {"time":"2026-09-19T16:15:50.754Z","priority":"6","pid":"2830187","message":"\"USER anonymous\""}

data: {"time":"2026-09-19T16:15:50.754Z","priority":"6","pid":"2830187","message":" 16:15:50.189483 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.754Z","priority":"6","pid":"2830187","message":" 16:15:50.189896 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:50.755Z","priority":"6","pid":"2830187","message":" 16:15:50.189960 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.755Z","priority":"6","pid":"2830187","message":" 16:15:50.190258 < \"PWD\""}

data: {"time":"2026-09-19T16:15:50.755Z","priority":"6","pid":"2830187","message":" 16:15:50.190320 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.756Z","priority":"6","pid":"2830187","message":" 16:15:50.190667 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:50.756Z","priority":"6","pid":"2830187","message":" 16:15:50.190714 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:50.756Z","priority":"6","pid":"2830187","message":" 16:15:50.190735 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:50.757Z","priority":"6","pid":"2830187","message":" 16:15:50.194601 DATA sockfilt for passive data channel started (pid 84616)"}

data: {"time":"2026-09-19T16:15:50.758Z","priority":"6","pid":"2830187","message":" 16:15:50.194851 DATA sockfilt for passive data channel listens on port 35073"}

data: {"time":"2026-09-19T16:15:50.759Z","priority":"6","pid":"2830187","message":" 16:15:50.195121 > \"229 Entering Passive Mode (|||35073|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.759Z","priority":"6","pid":"2830187","message":" 16:15:50.195173 Client has been notified that upcoming DATA connection is awaited on port 35073"}

data: {"time":"2026-09-19T16:15:50.760Z","priority":"6","pid":"2830187","message":" 16:15:50.195640 Client connects to port 35073"}

data: {"time":"2026-09-19T16:15:50.760Z","priority":"6","pid":"2830187","message":" 16:15:50.195722 ====> Client established passive DATA connection on port 35073"}

data: {"time":"2026-09-19T16:15:50.760Z","priority":"6","pid":"2830187","message":" 16:15:50.195893 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:50.760Z","priority":"6","pid":"2830187","message":" 16:15:50.196148 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.761Z","priority":"6","pid":"2830187","message":" 16:15:50.196261 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:50.761Z","priority":"6","pid":"2830187","message":" 16:15:50.196324 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.761Z","priority":"6","pid":"2830187","message":" 16:15:50.196656 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:50.762Z","priority":"6","pid":"2830187","message":" 16:15:50.196768 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.762Z","priority":"6","pid":"2830187","message":" 16:15:50.196934 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:50.763Z","priority":"6","pid":"2830187","message":" 16:15:50.196961 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:50.763Z","priority":"6","pid":"2830187","message":" 16:15:50.197417 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:50.763Z","priority":"6","pid":"2830187","message":" 16:15:50.197469 DATA sockfilt for passive data channel quits (pid 84616)"}

data: {"time":"2026-09-19T16:15:50.763Z","priority":"6","pid":"2830187","message":" 16:15:50.197945 DATA sockfilt for passive data channel quit (pid 84616)"}

data: {"time":"2026-09-19T16:15:50.764Z","priority":"6","pid":"2830187","message":" 16:15:50.197990 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:50.764Z","priority":"6","pid":"2830187","message":" 16:15:50.198039 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.765Z","priority":"6","pid":"2830187","message":" 16:15:50.238034 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:50.765Z","priority":"6","pid":"2830187","message":" 16:15:50.238375 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.765Z","priority":"6","pid":"2830187","message":" 16:15:50.238479 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:50.765Z","priority":"6","pid":"2830187","message":" 16:15:50.239203 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:50.766Z","priority":"6","pid":"2830187","message":" 16:15:50.239397 Awaiting input"}

data: {"time":"2026-09-19T16:15:50.766Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:50.766Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:50.767Z","priority":"6","pid":"2830187","message":" 16:15:50.259931 ====> Client connect"}

data: {"time":"2026-09-19T16:15:50.767Z","priority":"6","pid":"2830187","message":" 16:15:50.260534 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.767Z","priority":"6","pid":"2830187","message":" 16:15:50.260581 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.768Z","priority":"6","pid":"2830187","message":" 16:15:50.260713 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:50.769Z","priority":"6","pid":"2830187","message":" 16:15:50.260732 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.769Z","priority":"6","pid":"2830187","message":" 16:15:50.260744 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.769Z","priority":"6","pid":"2830187","message":" 16:15:50.260911 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:50.769Z","priority":"6","pid":"2830187","message":" 16:15:50.260928 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.769Z","priority":"6","pid":"2830187","message":" 16:15:50.261333 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.770Z","priority":"6","pid":"2830187","message":" 16:15:50.261356 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.770Z","priority":"6","pid":"2830187","message":" 16:15:50.261372 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.771Z","priority":"6","pid":"2830187","message":" 16:15:50.261490 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:50.771Z","priority":"6","pid":"2830187","message":" 16:15:50.261510 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.771Z","priority":"6","pid":"2830187","message":" 16:15:50.261802 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.772Z","priority":"6","pid":"2830187","message":" 16:15:50.261823 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.772Z","priority":"6","pid":"2830187","message":" 16:15:50.261836 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.772Z","priority":"6","pid":"2830187","message":" 16:15:50.261937 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:50.773Z","priority":"6","pid":"2830187","message":" 16:15:50.261954 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.773Z","priority":"6","pid":"2830187","message":" 16:15:50.262198 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.773Z","priority":"6","pid":"2830187","message":" 16:15:50.262220 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.774Z","priority":"6","pid":"2830187","message":" 16:15:50.262233 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.774Z","priority":"6","pid":"2830187","message":" 16:15:50.262348 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:50.774Z","priority":"6","pid":"2830187","message":" 16:15:50.262364 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.775Z","priority":"6","pid":"2830187","message":" 16:15:50.266750 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.775Z","priority":"6","pid":"2830187","message":" 16:15:50.266781 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.775Z","priority":"6","pid":"2830187","message":" 16:15:50.266809 '229 Entering Passive Mode (|||35073|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.776Z","priority":"6","pid":"2830187","message":" 16:15:50.267388 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:50.776Z","priority":"6","pid":"2830187","message":" 16:15:50.267411 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.776Z","priority":"6","pid":"2830187","message":" 16:15:50.267763 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.777Z","priority":"6","pid":"2830187","message":" 16:15:50.267785 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.778Z","priority":"6","pid":"2830187","message":" 16:15:50.267809 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.778Z","priority":"6","pid":"2830187","message":" 16:15:50.267903 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:50.778Z","priority":"6","pid":"2830187","message":" 16:15:50.267919 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.778Z","priority":"6","pid":"2830187","message":" 16:15:50.268211 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.778Z","priority":"6","pid":"2830187","message":" 16:15:50.268233 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.779Z","priority":"6","pid":"2830187","message":" 16:15:50.268246 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.779Z","priority":"6","pid":"2830187","message":" 16:15:50.268339 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:50.779Z","priority":"6","pid":"2830187","message":" 16:15:50.268357 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.780Z","priority":"6","pid":"2830187","message":" 16:15:50.268526 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.780Z","priority":"6","pid":"2830187","message":" 16:15:50.268544 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.780Z","priority":"6","pid":"2830187","message":" 16:15:50.268798 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.781Z","priority":"6","pid":"2830187","message":" 16:15:50.269882 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.781Z","priority":"6","pid":"2830187","message":" 16:15:50.269903 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.781Z","priority":"6","pid":"2830187","message":" 16:15:50.269917 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.782Z","priority":"6","pid":"2830187","message":" 16:15:50.309496 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:50.782Z","priority":"6","pid":"2830187","message":" 16:15:50.309593 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.783Z","priority":"6","pid":"2830187","message":" 16:15:50.309930 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.783Z","priority":"6","pid":"2830187","message":" 16:15:50.309951 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.783Z","priority":"6","pid":"2830187","message":" 16:15:50.309973 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.784Z","priority":"6","pid":"2830187","message":" 16:15:50.310233 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:50.784Z","priority":"6","pid":"2830187","message":" 16:15:50.310309 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:50.784Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:50.784Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:50.785Z","priority":"6","pid":"2830187","message":" 16:15:50.265997 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:50.785Z","priority":"6","pid":"2830187","message":" 16:15:50.266224 Listening on port 35073"}

data: {"time":"2026-09-19T16:15:50.785Z","priority":"6","pid":"2830187","message":" 16:15:50.266293 Wrote pid 84616 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:50.786Z","priority":"6","pid":"2830187","message":" 16:15:50.266328 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:50.786Z","priority":"6","pid":"2830187","message":" 16:15:50.266520 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:50.787Z","priority":"6","pid":"2830187","message":" 16:15:50.267327 ====> Client connect"}

data: {"time":"2026-09-19T16:15:50.787Z","priority":"6","pid":"2830187","message":" 16:15:50.268906 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:50.787Z","priority":"6","pid":"2830187","message":" 16:15:50.268936 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:50.788Z","priority":"6","pid":"2830187","message":" 16:15:50.268950 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:50.788Z","priority":"6","pid":"2830187","message":" 16:15:50.269005 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:50.788Z","priority":"6","pid":"2830187","message":" 16:15:50.269022 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:50.789Z","priority":"6","pid":"2830187","message":" 16:15:50.269309 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:50.789Z","priority":"6","pid":"2830187","message":" 16:15:50.269327 quits"}

data: {"time":"2026-09-19T16:15:50.789Z","priority":"6","pid":"2830187","message":" 16:15:50.269449 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:50.790Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:50.791Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:50.791Z","priority":"6","pid":"2830187","message":" Testnum 101"}

data: {"time":"2026-09-19T16:15:50.791Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:50.791Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind101"}

data: {"time":"2026-09-19T16:15:50.791Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:50.791Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:50.792Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:50.792Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.792Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:50.793Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:50.793Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:50.794Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:50.794Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:50.795Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.795Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:50.795Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:50.796Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:50.796Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:50.797Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:50.797Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:50.798Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:50.798Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.798Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:50.798Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:50.799Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.799Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:50.800Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:50.800Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:50.801Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:50.801Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:50.801Z","priority":"6","pid":"2830187","message":"=== End of file valgrind101"}

data: {"time":"2026-09-19T16:15:50.801Z","priority":"6","pid":"2830187","message":"test 0102 [FTP RETR PASV]"}

data: {"time":"2026-09-19T16:15:50.803Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind102 ../src/curl -q --output log/curl102.out  --include --trace-ascii log/trace102 --trace-time ftp://127.0.0.1:40545/102 > log/stdout102 2> log/stderr102"}

data: {"time":"2026-09-19T16:15:50.803Z","priority":"6","pid":"2830187","message":" 102: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:50.804Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:50.804Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:50.804Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 102"}

data: {"time":"2026-09-19T16:15:50.805Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:50.806Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind102 ../src/curl -q --output log/curl102.out  --include --trace-ascii log/trace102 --trace-time ftp://127.0.0.1:40545/102 > log/stdout102 2> log/stderr102"}

data: {"time":"2026-09-19T16:15:50.806Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:50.807Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:50.807Z","priority":"6","pid":"2830187","message":" 16:15:50.524000 ====> Client connect"}

data: {"time":"2026-09-19T16:15:50.808Z","priority":"6","pid":"2830187","message":" 16:15:50.524305 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.808Z","priority":"6","pid":"2830187","message":" 16:15:50.524855 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:50.809Z","priority":"6","pid":"2830187","message":" 16:15:50.524909 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.809Z","priority":"6","pid":"2830187","message":" 16:15:50.525192 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:50.809Z","priority":"6","pid":"2830187","message":" 16:15:50.525383 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.810Z","priority":"6","pid":"2830187","message":" 16:15:50.525501 < \"PWD\""}

data: {"time":"2026-09-19T16:15:50.810Z","priority":"6","pid":"2830187","message":" 16:15:50.525551 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:50.811Z","priority":"6","pid":"2830187","message":" 16:15:50.525919 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:50.811Z","priority":"6","pid":"2830187","message":" 16:15:50.525962 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:50.812Z","priority":"6","pid":"2830187","message":" 16:15:50.525982 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:50.812Z","priority":"6","pid":"2830187","message":" 16:15:50.529394 DATA sockfilt for passive data channel started (pid 84682)"}

data: {"time":"2026-09-19T16:15:51.068Z","priority":"6","pid":"2830187","message":" 16:15:50.529623 DATA sockfilt for passive data CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind103 ../src/curl -q --output log/curl103.out  --include --trace-ascii log/trace103 --trace-time ftp://127.0.0.1:40545/a/path/103 -P - > log/stdout103 2> log/stderr103"}

data: {"time":"2026-09-19T16:15:51.071Z","priority":"6","pid":"2830187","message":"channel listens on port 44817"}

data: {"time":"2026-09-19T16:15:51.072Z","priority":"6","pid":"2830187","message":" 16:15:50.530021 > \"229 Entering Passive Mode (|||44817|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.072Z","priority":"6","pid":"2830187","message":" 16:15:50.530080 Client has been notified that upcoming DATA connection is awaited on port 44817"}

data: {"time":"2026-09-19T16:15:51.073Z","priority":"6","pid":"2830187","message":" 16:15:50.530280 Client connects to port 44817"}

data: {"time":"2026-09-19T16:15:51.073Z","priority":"6","pid":"2830187","message":" 16:15:50.530329 ====> Client established passive DATA connection on port 44817"}

data: {"time":"2026-09-19T16:15:51.073Z","priority":"6","pid":"2830187","message":" 16:15:50.530480 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:51.075Z","priority":"6","pid":"2830187","message":" 16:15:50.530664 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.075Z","priority":"6","pid":"2830187","message":" 16:15:50.530809 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:51.075Z","priority":"6","pid":"2830187","message":" 16:15:50.530873 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.075Z","priority":"6","pid":"2830187","message":" 16:15:50.531090 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:51.076Z","priority":"6","pid":"2830187","message":" 16:15:50.531140 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.076Z","priority":"6","pid":"2830187","message":" 16:15:50.531301 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:51.076Z","priority":"6","pid":"2830187","message":" 16:15:50.531327 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.078Z","priority":"6","pid":"2830187","message":" 16:15:50.531727 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.078Z","priority":"6","pid":"2830187","message":" 16:15:50.531777 DATA sockfilt for passive data channel quits (pid 84682)"}

data: {"time":"2026-09-19T16:15:51.080Z","priority":"6","pid":"2830187","message":" 16:15:50.532209 DATA sockfilt for passive data channel quit (pid 84682)"}

data: {"time":"2026-09-19T16:15:51.080Z","priority":"6","pid":"2830187","message":" 16:15:50.532258 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.082Z","priority":"6","pid":"2830187","message":" 16:15:50.532327 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.082Z","priority":"6","pid":"2830187","message":" 16:15:50.573008 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:51.083Z","priority":"6","pid":"2830187","message":" 16:15:50.573137 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.083Z","priority":"6","pid":"2830187","message":" 16:15:50.574164 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:51.085Z","priority":"6","pid":"2830187","message":" 16:15:50.574315 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:51.085Z","priority":"6","pid":"2830187","message":" 16:15:50.574485 Awaiting input"}

data: {"time":"2026-09-19T16:15:51.085Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:51.085Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:51.086Z","priority":"6","pid":"2830187","message":" 16:15:50.595623 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.087Z","priority":"6","pid":"2830187","message":" 16:15:50.596160 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.088Z","priority":"6","pid":"2830187","message":" 16:15:50.596191 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.089Z","priority":"6","pid":"2830187","message":" 16:15:50.596208 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:51.090Z","priority":"6","pid":"2830187","message":" 16:15:50.596222 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.091Z","priority":"6","pid":"2830187","message":" 16:15:50.596234 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.091Z","priority":"6","pid":"2830187","message":" 16:15:50.596402 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.092Z","priority":"6","pid":"2830187","message":" 16:15:50.596426 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.093Z","priority":"6","pid":"2830187","message":" 16:15:50.596752 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.093Z","priority":"6","pid":"2830187","message":" 16:15:50.596796 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.096Z","priority":"6","pid":"2830187","message":" 16:15:50.596806 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.096Z","priority":"6","pid":"2830187","message":" 16:15:50.596875 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.096Z","priority":"6","pid":"2830187","message":" 16:15:50.596886 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.096Z","priority":"6","pid":"2830187","message":" 16:15:50.597015 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.096Z","priority":"6","pid":"2830187","message":" 16:15:50.597027 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.099Z","priority":"6","pid":"2830187","message":" 16:15:50.597042 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.099Z","priority":"6","pid":"2830187","message":" 16:15:50.597100 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.099Z","priority":"6","pid":"2830187","message":" 16:15:50.597111 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.099Z","priority":"6","pid":"2830187","message":" 16:15:50.597446 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.100Z","priority":"6","pid":"2830187","message":" 16:15:50.597463 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.101Z","priority":"6","pid":"2830187","message":" 16:15:50.597478 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.102Z","priority":"6","pid":"2830187","message":" 16:15:50.597588 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.102Z","priority":"6","pid":"2830187","message":" 16:15:50.597610 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.102Z","priority":"6","pid":"2830187","message":" 16:15:50.601494 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.103Z","priority":"6","pid":"2830187","message":" 16:15:50.601522 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.104Z","priority":"6","pid":"2830187","message":" 16:15:50.601549 '229 Entering Passive Mode (|||44817|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.105Z","priority":"6","pid":"2830187","message":" 16:15:50.602008 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.107Z","priority":"6","pid":"2830187","message":" 16:15:50.602026 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.107Z","priority":"6","pid":"2830187","message":" 16:15:50.602313 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.107Z","priority":"6","pid":"2830187","message":" 16:15:50.602329 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.107Z","priority":"6","pid":"2830187","message":" 16:15:50.602351 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.107Z","priority":"6","pid":"2830187","message":" 16:15:50.602500 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.108Z","priority":"6","pid":"2830187","message":" 16:15:50.602516 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.108Z","priority":"6","pid":"2830187","message":" 16:15:50.602689 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.109Z","priority":"6","pid":"2830187","message":" 16:15:50.602703 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.109Z","priority":"6","pid":"2830187","message":" 16:15:50.602714 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.110Z","priority":"6","pid":"2830187","message":" 16:15:50.602786 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.110Z","priority":"6","pid":"2830187","message":" 16:15:50.602800 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.111Z","priority":"6","pid":"2830187","message":" 16:15:50.603164 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.111Z","priority":"6","pid":"2830187","message":" 16:15:50.603181 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.112Z","priority":"6","pid":"2830187","message":" 16:15:50.603194 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.112Z","priority":"6","pid":"2830187","message":" 16:15:50.604182 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.112Z","priority":"6","pid":"2830187","message":" 16:15:50.604200 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.112Z","priority":"6","pid":"2830187","message":" 16:15:50.604213 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.113Z","priority":"6","pid":"2830187","message":" 16:15:50.644431 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.113Z","priority":"6","pid":"2830187","message":" 16:15:50.644497 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.113Z","priority":"6","pid":"2830187","message":" 16:15:50.645027 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.114Z","priority":"6","pid":"2830187","message":" 16:15:50.645065 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.114Z","priority":"6","pid":"2830187","message":" 16:15:50.645079 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.114Z","priority":"6","pid":"2830187","message":" 16:15:50.645880 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:51.115Z","priority":"6","pid":"2830187","message":" 16:15:50.646010 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:51.115Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:51.116Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:51.116Z","priority":"6","pid":"2830187","message":" 16:15:50.600847 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:51.116Z","priority":"6","pid":"2830187","message":" 16:15:50.600968 Listening on port 44817"}

data: {"time":"2026-09-19T16:15:51.116Z","priority":"6","pid":"2830187","message":" 16:15:50.601015 Wrote pid 84682 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:51.117Z","priority":"6","pid":"2830187","message":" 16:15:50.601063 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:51.117Z","priority":"6","pid":"2830187","message":" 16:15:50.601277 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:51.117Z","priority":"6","pid":"2830187","message":" 16:15:50.601964 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.118Z","priority":"6","pid":"2830187","message":" 16:15:50.603231 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.118Z","priority":"6","pid":"2830187","message":" 16:15:50.603252 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.118Z","priority":"6","pid":"2830187","message":" 16:15:50.603264 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.119Z","priority":"6","pid":"2830187","message":" 16:15:50.603299 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:51.119Z","priority":"6","pid":"2830187","message":" 16:15:50.603312 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:51.120Z","priority":"6","pid":"2830187","message":" 16:15:50.603597 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:51.120Z","priority":"6","pid":"2830187","message":" 16:15:50.603615 quits"}

data: {"time":"2026-09-19T16:15:51.120Z","priority":"6","pid":"2830187","message":" 16:15:50.603746 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:51.120Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:51.120Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:51.120Z","priority":"6","pid":"2830187","message":" REPLY EPSV 500 no such command"}

data: {"time":"2026-09-19T16:15:51.121Z","priority":"6","pid":"2830187","message":" Testnum 102"}

data: {"time":"2026-09-19T16:15:51.121Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:51.121Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind102"}

data: {"time":"2026-09-19T16:15:51.121Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:51.122Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:51.122Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:51.122Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.122Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:51.123Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:51.123Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:51.123Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:51.124Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:51.124Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.124Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:51.125Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:51.125Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:51.126Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:51.126Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:51.127Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:51.127Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:51.127Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.128Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:51.128Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:51.128Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.129Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:51.129Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:51.130Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:51.130Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.130Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:51.130Z","priority":"6","pid":"2830187","message":"=== End of file valgrind102"}

data: {"time":"2026-09-19T16:15:51.131Z","priority":"6","pid":"2830187","message":"test 0103 [FTP RETR PORT with CWD]"}

data: {"time":"2026-09-19T16:15:51.132Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind103 ../src/curl -q --output log/curl103.out  --include --trace-ascii log/trace103 --trace-time ftp://127.0.0.1:40545/a/path/103 -P - > log/stdout103 2> log/stderr103"}

data: {"time":"2026-09-19T16:15:51.133Z","priority":"6","pid":"2830187","message":" 103: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:51.133Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:51.133Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:51.133Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 103"}

data: {"time":"2026-09-19T16:15:51.133Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:51.134Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind103 ../src/curl -q --output log/curl103.out  --include --trace-ascii log/trace103 --trace-time ftp://127.0.0.1:40545/a/path/103 -P - > log/stdout103 2> log/stderr103"}

data: {"time":"2026-09-19T16:15:51.135Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:51.135Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:51.136Z","priority":"6","pid":"2830187","message":" 16:15:50.850445 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.136Z","priority":"6","pid":"2830187","message":" 16:15:50.851116 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.137Z","priority":"6","pid":"2830187","message":" 16:15:50.851307 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:51.137Z","priority":"6","pid":"2830187","message":" 16:15:50.851435 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.138Z","priority":"6","pid":"2830187","message":" 16:15:50.851707 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:51.139Z","priority":"6","pid":"2830187","message":" 16:15:50.851757 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.139Z","priority":"6","pid":"2830187","message":" 16:15:50.851985 < \"PWD\""}

data: {"time":"2026-09-19T16:15:51.139Z","priority":"6","pid":"2830187","message":" 16:15:50.852036 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.139Z","priority":"6","pid":"2830187","message":" 16:15:50.852282 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:51.140Z","priority":"6","pid":"2830187","message":" 16:15:50.852329 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:51.140Z","priority":"6","pid":"2830187","message":" 16:15:50.852361 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:51.140Z","priority":"6","pid":"2830187","message":" 16:15:50.854957 DATA sockfilt for passive data channel started (pid 84747)"}

data: {"time":"2026-09-19T16:15:51.141Z","priority":"6","pid":"2830187","message":" 16:15:50.855092 DATA sockfilt for passive data channel listens on port 44183"}

data: {"time":"2026-09-19T16:15:51.142Z","priority":"6","pid":"2830187","message":" 16:15:50.855135 > \"229 Entering Passive Mode (|||44183|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.142Z","priority":"6","pid":"2830187","message":" 16:15:50.855152 Client has been notified that upcoming DATA connection is awaited on port 44183"}

data: {"time":"2026-09-19T16:15:51.142Z","priority":"6","pid":"2830187","message":" 16:15:50.855469 Client connects to port 44183"}

data: {"time":"2026-09-19T16:15:51.142Z","priority":"6","pid":"2830187","message":" 16:15:50.855512 ====> Client established passive DATA connection on port 44183"}

data: {"time":"2026-09-19T16:15:51.144Z","priority":"6","pid":"2830187","message":" 16:15:50.855796 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:51.144Z","priority":"6","pid":"2830187","message":" 16:15:50.855838 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.145Z","priority":"6","pid":"2830187","message":" 16:15:50.856103 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:51.405Z","priority":"6","pid":"2830187","message":" 16:15:50.856151 > \"213 17[CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind104 ../src/curl -q --output log/curl104.out  --include --trace-ascii log/trace104 --trace-time ftp://127.0.0.1:40545/a/path/104 --head > log/stdout104 2> log/stderr104"}

data: {"time":"2026-09-19T16:15:51.409Z","priority":"6","pid":"2830187","message":"CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.409Z","priority":"6","pid":"2830187","message":" 16:15:50.856436 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:51.410Z","priority":"6","pid":"2830187","message":" 16:15:50.856505 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.410Z","priority":"6","pid":"2830187","message":" 16:15:50.856636 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:51.411Z","priority":"6","pid":"2830187","message":" 16:15:50.856661 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.411Z","priority":"6","pid":"2830187","message":" 16:15:50.857079 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.412Z","priority":"6","pid":"2830187","message":" 16:15:50.857125 DATA sockfilt for passive data channel quits (pid 84747)"}

data: {"time":"2026-09-19T16:15:51.412Z","priority":"6","pid":"2830187","message":" 16:15:50.857596 DATA sockfilt for passive data channel quit (pid 84747)"}

data: {"time":"2026-09-19T16:15:51.412Z","priority":"6","pid":"2830187","message":" 16:15:50.857647 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.413Z","priority":"6","pid":"2830187","message":" 16:15:50.857765 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.413Z","priority":"6","pid":"2830187","message":" 16:15:50.897978 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:51.414Z","priority":"6","pid":"2830187","message":" 16:15:50.898051 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.414Z","priority":"6","pid":"2830187","message":" 16:15:50.898452 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:51.415Z","priority":"6","pid":"2830187","message":" 16:15:50.898510 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:51.415Z","priority":"6","pid":"2830187","message":" 16:15:50.898626 Awaiting input"}

data: {"time":"2026-09-19T16:15:51.415Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:51.415Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:51.416Z","priority":"6","pid":"2830187","message":" 16:15:50.922039 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.416Z","priority":"6","pid":"2830187","message":" 16:15:50.922488 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.416Z","priority":"6","pid":"2830187","message":" 16:15:50.922523 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.417Z","priority":"6","pid":"2830187","message":" 16:15:50.922655 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:51.417Z","priority":"6","pid":"2830187","message":" 16:15:50.922681 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.418Z","priority":"6","pid":"2830187","message":" 16:15:50.922693 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.418Z","priority":"6","pid":"2830187","message":" 16:15:50.922830 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.419Z","priority":"6","pid":"2830187","message":" 16:15:50.922848 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.419Z","priority":"6","pid":"2830187","message":" 16:15:50.923162 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.419Z","priority":"6","pid":"2830187","message":" 16:15:50.923179 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.420Z","priority":"6","pid":"2830187","message":" 16:15:50.923245 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.420Z","priority":"6","pid":"2830187","message":" 16:15:50.923333 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.421Z","priority":"6","pid":"2830187","message":" 16:15:50.923348 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.421Z","priority":"6","pid":"2830187","message":" 16:15:50.923561 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.422Z","priority":"6","pid":"2830187","message":" 16:15:50.923577 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.422Z","priority":"6","pid":"2830187","message":" 16:15:50.923589 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.422Z","priority":"6","pid":"2830187","message":" 16:15:50.923661 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.422Z","priority":"6","pid":"2830187","message":" 16:15:50.923674 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.423Z","priority":"6","pid":"2830187","message":" 16:15:50.923850 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.423Z","priority":"6","pid":"2830187","message":" 16:15:50.923864 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.424Z","priority":"6","pid":"2830187","message":" 16:15:50.923877 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.424Z","priority":"6","pid":"2830187","message":" 16:15:50.923960 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.424Z","priority":"6","pid":"2830187","message":" 16:15:50.923973 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.425Z","priority":"6","pid":"2830187","message":" 16:15:50.926956 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.425Z","priority":"6","pid":"2830187","message":" 16:15:50.926974 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.426Z","priority":"6","pid":"2830187","message":" 16:15:50.926984 '229 Entering Passive Mode (|||44183|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.426Z","priority":"6","pid":"2830187","message":" 16:15:50.927411 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.426Z","priority":"6","pid":"2830187","message":" 16:15:50.927429 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.427Z","priority":"6","pid":"2830187","message":" 16:15:50.927654 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.427Z","priority":"6","pid":"2830187","message":" 16:15:50.927669 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.427Z","priority":"6","pid":"2830187","message":" 16:15:50.927679 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.428Z","priority":"6","pid":"2830187","message":" 16:15:50.927803 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.428Z","priority":"6","pid":"2830187","message":" 16:15:50.927824 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.429Z","priority":"6","pid":"2830187","message":" 16:15:50.927944 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.430Z","priority":"6","pid":"2830187","message":" 16:15:50.927955 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.430Z","priority":"6","pid":"2830187","message":" 16:15:50.927963 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.430Z","priority":"6","pid":"2830187","message":" 16:15:50.928060 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.430Z","priority":"6","pid":"2830187","message":" 16:15:50.928081 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.430Z","priority":"6","pid":"2830187","message":" 16:15:50.928473 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.430Z","priority":"6","pid":"2830187","message":" 16:15:50.928493 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.431Z","priority":"6","pid":"2830187","message":" 16:15:50.928507 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.431Z","priority":"6","pid":"2830187","message":" 16:15:50.929468 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.431Z","priority":"6","pid":"2830187","message":" 16:15:50.929490 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.432Z","priority":"6","pid":"2830187","message":" 16:15:50.929584 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.432Z","priority":"6","pid":"2830187","message":" 16:15:50.969480 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.432Z","priority":"6","pid":"2830187","message":" 16:15:50.969539 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.433Z","priority":"6","pid":"2830187","message":" 16:15:50.969861 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.433Z","priority":"6","pid":"2830187","message":" 16:15:50.969880 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.433Z","priority":"6","pid":"2830187","message":" 16:15:50.969892 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.434Z","priority":"6","pid":"2830187","message":" 16:15:50.970163 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:51.434Z","priority":"6","pid":"2830187","message":" 16:15:50.970979 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:51.434Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:51.434Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:51.435Z","priority":"6","pid":"2830187","message":" 16:15:50.926507 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:51.435Z","priority":"6","pid":"2830187","message":" 16:15:50.926623 Listening on port 44183"}

data: {"time":"2026-09-19T16:15:51.435Z","priority":"6","pid":"2830187","message":" 16:15:50.926663 Wrote pid 84747 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:51.436Z","priority":"6","pid":"2830187","message":" 16:15:50.926688 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:51.436Z","priority":"6","pid":"2830187","message":" 16:15:50.926785 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:51.437Z","priority":"6","pid":"2830187","message":" 16:15:50.927204 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.437Z","priority":"6","pid":"2830187","message":" 16:15:50.928556 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.437Z","priority":"6","pid":"2830187","message":" 16:15:50.928582 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.438Z","priority":"6","pid":"2830187","message":" 16:15:50.928598 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.438Z","priority":"6","pid":"2830187","message":" 16:15:50.928641 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:51.438Z","priority":"6","pid":"2830187","message":" 16:15:50.928658 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:51.439Z","priority":"6","pid":"2830187","message":" 16:15:50.928934 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:51.440Z","priority":"6","pid":"2830187","message":" 16:15:50.928952 quits"}

data: {"time":"2026-09-19T16:15:51.440Z","priority":"6","pid":"2830187","message":" 16:15:50.929072 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:51.440Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:51.440Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:51.440Z","priority":"6","pid":"2830187","message":" Testnum 103"}

data: {"time":"2026-09-19T16:15:51.440Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:51.440Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind103"}

data: {"time":"2026-09-19T16:15:51.440Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:51.441Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:51.442Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:51.442Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.442Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:51.442Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:51.442Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:51.443Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:51.443Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:51.443Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.444Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:51.445Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:51.445Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:51.445Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:51.445Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:51.446Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:51.446Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:51.447Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.448Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:51.448Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:51.448Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.448Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:51.448Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:51.449Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:51.450Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.450Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:51.450Z","priority":"6","pid":"2830187","message":"=== End of file valgrind103"}

data: {"time":"2026-09-19T16:15:51.451Z","priority":"6","pid":"2830187","message":"test 0104 [FTP --head to get file size only]"}

data: {"time":"2026-09-19T16:15:51.452Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind104 ../src/curl -q --output log/curl104.out  --include --trace-ascii log/trace104 --trace-time ftp://127.0.0.1:40545/a/path/104 --head > log/stdout104 2> log/stderr104"}

data: {"time":"2026-09-19T16:15:51.452Z","priority":"6","pid":"2830187","message":" 104: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:51.452Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:51.453Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:51.453Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 104"}

data: {"time":"2026-09-19T16:15:51.454Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:51.455Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind104 ../src/curl -q --output log/curl104.out  --include --trace-ascii log/trace104 --trace-time ftp://127.0.0.1:40545/a/path/104 --head > log/stdout104 2> log/stderr104"}

data: {"time":"2026-09-19T16:15:51.456Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:51.456Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:51.456Z","priority":"6","pid":"2830187","message":" 16:15:51.183852 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.457Z","priority":"6","pid":"2830187","message":" 16:15:51.184613 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.458Z","priority":"6","pid":"2830187","message":" 16:15:51.184861 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:51.458Z","priority":"6","pid":"2830187","message":" 16:15:51.184994 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.459Z","priority":"6","pid":"2830187","message":" 16:15:51.185326 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:51.459Z","priority":"6","pid":"2830187","message":" 16:15:51.185425 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.460Z","priority":"6","pid":"2830187","message":" 16:15:51.185723 < \"PWD\""}

data: {"time":"2026-09-19T16:15:51.460Z","priority":"6","pid":"2830187","message":" 16:15:51.185778 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.460Z","priority":"6","pid":"2830187","message":" 16:15:51.186037 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:51.461Z","priority":"6","pid":"2830187","message":" 16:15:51.186076 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:51.461Z","priority":"6","pid":"2830187","message":" 16:15:51.186096 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:51.462Z","priority":"6","pid":"2830187","message":" 16:15:51.189245 DATA sockfilt for passive data channel started (pid 84812)"}

data: {"time":"2026-09-19T16:15:51.462Z","priority":"6","pid":"2830187","message":" 16:15:51.189483 DATA sockfilt for passive data channel listens on port 45423"}

data: {"time":"2026-09-19T16:15:51.463Z","priority":"6","pid":"2830187","message":" 16:15:51.189669 > \"229 Entering Passive Mode (|||45423|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.464Z","priority":"6","pid":"2830187","message":" 16:15:51.189701 Client has been notified that upcoming DATA connection is awaited on port 45423"}

data: {"time":"2026-09-19T16:15:51.464Z","priority":"6","pid":"2830187","message":" 16:15:51.190085 Client connects to port 45423"}

data: {"time":"2026-09-19T16:15:51.464Z","priority":"6","pid":"2830187","message":" 16:15:51.190143 ====> Client established passive DATA connection on port 45423"}

data: {"time":"2026-09-19T16:15:51.465Z","priority":"6","pid":"2830187","message":" 16:15:51.190409 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:51.465Z","priority":"6","pid":"2830187","message":" 16:15:51.190545 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.465Z","priority":"6","pid":"2830187","message":" 16:15:51.190778 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:51.466Z","priority":"6","pid":"2830187","message":" 16:15:51.190885 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.466Z","priority":"6","pid":"2830187","message":" 16:15:51.191164 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:51.466Z","priority":"6","pid":"2830187","message":" 16:15:51.191224 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.467Z","priority":"6","pid":"2830187","message":" 16:15:51.191402 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:51.467Z","priority":"6","pid":"2830187","message":" 16:15:51.191435 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.467Z","priority":"6","pid":"2830187","message":" 16:15:51.191963 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.468Z","priority":"6","pid":"2830187","message":" 16:15:51.192059 DATA sockfilt for passive data channel quits (pid 84812)"}

data: {"time":"2026-09-19T16:15:51.468Z","priority":"6","pid":"2830187","message":" 16:15:51.192533 DATA sockfilt for passive data channel quit (pid 84812)"}

data: {"time":"2026-09-19T16:15:51.469Z","priority":"6","pid":"2830187","message":" 16:15:51.192583 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.726Z","priority":"6","pid":"2830187","message":" 16:15:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind105 ../src/curl -q --output log/curl105.out  --include --trace-ascii log/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:40545/105 --use-ascii > log/stdout105 2> log/stderr105"}

data: {"time":"2026-09-19T16:15:51.740Z","priority":"6","pid":"2830187","message":"51.192684 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.741Z","priority":"6","pid":"2830187","message":" 16:15:51.236640 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:51.741Z","priority":"6","pid":"2830187","message":" 16:15:51.236735 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.742Z","priority":"6","pid":"2830187","message":" 16:15:51.237472 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:51.742Z","priority":"6","pid":"2830187","message":" 16:15:51.237618 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:51.744Z","priority":"6","pid":"2830187","message":" 16:15:51.237737 Awaiting input"}

data: {"time":"2026-09-19T16:15:51.744Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:51.744Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:51.744Z","priority":"6","pid":"2830187","message":" 16:15:51.255439 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.745Z","priority":"6","pid":"2830187","message":" 16:15:51.255872 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.745Z","priority":"6","pid":"2830187","message":" 16:15:51.255910 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.746Z","priority":"6","pid":"2830187","message":" 16:15:51.256019 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:51.746Z","priority":"6","pid":"2830187","message":" 16:15:51.256043 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.747Z","priority":"6","pid":"2830187","message":" 16:15:51.256056 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.747Z","priority":"6","pid":"2830187","message":" 16:15:51.256271 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.747Z","priority":"6","pid":"2830187","message":" 16:15:51.256297 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.748Z","priority":"6","pid":"2830187","message":" 16:15:51.256690 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.748Z","priority":"6","pid":"2830187","message":" 16:15:51.256712 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.748Z","priority":"6","pid":"2830187","message":" 16:15:51.256801 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.749Z","priority":"6","pid":"2830187","message":" 16:15:51.256899 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.749Z","priority":"6","pid":"2830187","message":" 16:15:51.256914 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.750Z","priority":"6","pid":"2830187","message":" 16:15:51.257215 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.750Z","priority":"6","pid":"2830187","message":" 16:15:51.257234 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.750Z","priority":"6","pid":"2830187","message":" 16:15:51.257249 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.751Z","priority":"6","pid":"2830187","message":" 16:15:51.257350 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.752Z","priority":"6","pid":"2830187","message":" 16:15:51.257371 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.752Z","priority":"6","pid":"2830187","message":" 16:15:51.257566 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.752Z","priority":"6","pid":"2830187","message":" 16:15:51.257583 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.752Z","priority":"6","pid":"2830187","message":" 16:15:51.257596 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.753Z","priority":"6","pid":"2830187","message":" 16:15:51.257694 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.753Z","priority":"6","pid":"2830187","message":" 16:15:51.257708 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.754Z","priority":"6","pid":"2830187","message":" 16:15:51.261302 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.754Z","priority":"6","pid":"2830187","message":" 16:15:51.261323 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.754Z","priority":"6","pid":"2830187","message":" 16:15:51.261347 '229 Entering Passive Mode (|||45423|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.754Z","priority":"6","pid":"2830187","message":" 16:15:51.261982 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.754Z","priority":"6","pid":"2830187","message":" 16:15:51.262008 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.755Z","priority":"6","pid":"2830187","message":" 16:15:51.262218 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.755Z","priority":"6","pid":"2830187","message":" 16:15:51.262234 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.756Z","priority":"6","pid":"2830187","message":" 16:15:51.262256 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.756Z","priority":"6","pid":"2830187","message":" 16:15:51.262390 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.756Z","priority":"6","pid":"2830187","message":" 16:15:51.262408 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.757Z","priority":"6","pid":"2830187","message":" 16:15:51.262697 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.757Z","priority":"6","pid":"2830187","message":" 16:15:51.262716 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.757Z","priority":"6","pid":"2830187","message":" 16:15:51.262727 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.758Z","priority":"6","pid":"2830187","message":" 16:15:51.262811 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.758Z","priority":"6","pid":"2830187","message":" 16:15:51.262828 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.758Z","priority":"6","pid":"2830187","message":" 16:15:51.263233 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.759Z","priority":"6","pid":"2830187","message":" 16:15:51.263257 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.759Z","priority":"6","pid":"2830187","message":" 16:15:51.263272 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.759Z","priority":"6","pid":"2830187","message":" 16:15:51.264392 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.760Z","priority":"6","pid":"2830187","message":" 16:15:51.264410 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.760Z","priority":"6","pid":"2830187","message":" 16:15:51.264476 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.761Z","priority":"6","pid":"2830187","message":" 16:15:51.308133 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:51.761Z","priority":"6","pid":"2830187","message":" 16:15:51.308180 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.761Z","priority":"6","pid":"2830187","message":" 16:15:51.308534 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.762Z","priority":"6","pid":"2830187","message":" 16:15:51.308554 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.762Z","priority":"6","pid":"2830187","message":" 16:15:51.308567 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.762Z","priority":"6","pid":"2830187","message":" 16:15:51.309160 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:51.763Z","priority":"6","pid":"2830187","message":" 16:15:51.309287 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:51.763Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:51.764Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:51.764Z","priority":"6","pid":"2830187","message":" 16:15:51.260722 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:51.764Z","priority":"6","pid":"2830187","message":" 16:15:51.260853 Listening on port 45423"}

data: {"time":"2026-09-19T16:15:51.765Z","priority":"6","pid":"2830187","message":" 16:15:51.260913 Wrote pid 84812 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:51.765Z","priority":"6","pid":"2830187","message":" 16:15:51.260942 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:51.766Z","priority":"6","pid":"2830187","message":" 16:15:51.261121 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:51.766Z","priority":"6","pid":"2830187","message":" 16:15:51.261696 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.766Z","priority":"6","pid":"2830187","message":" 16:15:51.263316 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.767Z","priority":"6","pid":"2830187","message":" 16:15:51.263341 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:51.767Z","priority":"6","pid":"2830187","message":" 16:15:51.263354 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:51.768Z","priority":"6","pid":"2830187","message":" 16:15:51.263392 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:51.768Z","priority":"6","pid":"2830187","message":" 16:15:51.263407 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:51.769Z","priority":"6","pid":"2830187","message":" 16:15:51.263851 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:51.769Z","priority":"6","pid":"2830187","message":" 16:15:51.263868 quits"}

data: {"time":"2026-09-19T16:15:51.769Z","priority":"6","pid":"2830187","message":" 16:15:51.263985 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:51.769Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:51.769Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:51.770Z","priority":"6","pid":"2830187","message":" Testnum 104"}

data: {"time":"2026-09-19T16:15:51.770Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:51.770Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind104"}

data: {"time":"2026-09-19T16:15:51.770Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:51.771Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:51.771Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:51.772Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.772Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:51.772Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:51.773Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:51.773Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:51.773Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:51.774Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.774Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:51.775Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:51.776Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:51.776Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:51.777Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:51.777Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:51.778Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:51.778Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.779Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:51.779Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:51.779Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.779Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:51.780Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:51.780Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:51.780Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:51.781Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:51.781Z","priority":"6","pid":"2830187","message":"=== End of file valgrind104"}

data: {"time":"2026-09-19T16:15:51.782Z","priority":"6","pid":"2830187","message":"test 0105 [FTP user+password in URL and ASCII transfer]"}

data: {"time":"2026-09-19T16:15:51.783Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind105 ../src/curl -q --output log/curl105.out  --include --trace-ascii log/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:40545/105 --use-ascii > log/stdout105 2> log/stderr105"}

data: {"time":"2026-09-19T16:15:51.784Z","priority":"6","pid":"2830187","message":" 105: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:51.784Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:51.784Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:51.785Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 105"}

data: {"time":"2026-09-19T16:15:51.785Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:51.787Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind105 ../src/curl -q --output log/curl105.out  --include --trace-ascii log/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:40545/105 --use-ascii > log/stdout105 2> log/stderr105"}

data: {"time":"2026-09-19T16:15:51.787Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:51.787Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:51.787Z","priority":"6","pid":"2830187","message":" 16:15:51.507387 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.788Z","priority":"6","pid":"2830187","message":" 16:15:51.507787 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.789Z","priority":"6","pid":"2830187","message":" 16:15:51.508489 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:51.789Z","priority":"6","pid":"2830187","message":" 16:15:51.508760 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.789Z","priority":"6","pid":"2830187","message":" 16:15:51.508905 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:51.790Z","priority":"6","pid":"2830187","message":" 16:15:51.508961 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.790Z","priority":"6","pid":"2830187","message":" 16:15:51.509257 < \"PWD\""}

data: {"time":"2026-09-19T16:15:51.790Z","priority":"6","pid":"2830187","message":" 16:15:51.509321 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.791Z","priority":"6","pid":"2830187","message":" 16:15:51.509718 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:51.791Z","priority":"6","pid":"2830187","message":" 16:15:51.509769 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:51.792Z","priority":"6","pid":"2830187","message":" 16:15:51.509792 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:51.792Z","priority":"6","pid":"2830187","message":" 16:15:51.513391 DATA sockfilt for passive data channel started (pid 84877)"}

data: {"time":"2026-09-19T16:15:51.793Z","priority":"6","pid":"2830187","message":" 16:15:51.513626 DATA sockfilt for passive data channel listens on port 35993"}

data: {"time":"2026-09-19T16:15:51.793Z","priority":"6","pid":"2830187","message":" 16:15:51.513860 > \"229 Entering Passive Mode (|||35993|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.794Z","priority":"6","pid":"2830187","message":" 16:15:51.513905 Client has been notified that upcoming DATA connection is awaited on port 35993"}

data: {"time":"2026-09-19T16:15:51.794Z","priority":"6","pid":"2830187","message":" 16:15:51.514228 Client connects to port 35993"}

data: {"time":"2026-09-19T16:15:51.794Z","priority":"6","pid":"2830187","message":" 16:15:51.514289 ====> Client established passive DATA connection on port 35993"}

data: {"time":"2026-09-19T16:15:51.795Z","priority":"6","pid":"2830187","message":" 16:15:51.514692 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:51.795Z","priority":"6","pid":"2830187","message":" 16:15:51.514757 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.795Z","priority":"6","pid":"2830187","message":" 16:15:51.515129 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:51.796Z","priority":"6","pid":"2830187","message":" 16:15:51.515206 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.796Z","priority":"6","pid":"2830187","message":" 16:15:51.515512 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:51.797Z","priority":"6","pid":"2830187","message":" 16:15:51.515575 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.797Z","priority":"6","pid":"2830187","message":" 16:15:51.515768 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:51.797Z","priority":"6","pid":"2830187","message":" 16:15:51.515799 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.798Z","priority":"6","pid":"2830187","message":" 16:15:51.516272 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.798Z","priority":"6","pid":"2830187","message":" 16:15:51.516327 DATA sockfilt for passive data channel quits (pid 84877)"}

data: {"time":"2026-09-19T16:15:51.798Z","priority":"6","pid":"2830187","message":" 16:15:51.516854 DATA sockfilt for passive data channel quit (pid 84877)"}

data: {"time":"2026-09-19T16:15:51.799Z","priority":"6","pid":"2830187","message":" 16:15:51.516905 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:51.800Z","priority":"6","pid":"2830187","message":" 16:15:51.516965 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.800Z","priority":"6","pid":"2830187","message":" 16:15:51.557112 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:51.800Z","priority":"6","pid":"2830187","message":" 16:15:51.557237 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:51.800Z","priority":"6","pid":"2830187","message":" 16:15:51.558298 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:51.800Z","priority":"6","pid":"2830187","message":" 16:15:51.558495 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:51.800Z","priority":"6","pid":"2830187","message":" 16:15:51.558626 Awaiting input"}

data: {"time":"2026-09-19T16:15:51.801Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:51.801Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:51.802Z","priority":"6","pid":"2830187","message":" 16:15:51.578890 ====> Client connect"}

data: {"time":"2026-09-19T16:15:51.802Z","priority":"6","pid":"2830187","message":" 16:15:51.579704 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:51.802Z","priority":"6","pid":"2830187","message":" 16:15:51.579744 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.066Z","priority":"6","pid":"2830187","message":" 16:15:51.5797CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind106 ../src/curl -q --output log/curl106.out  --include --trace-ascii log/trace106 --trace-time \"ftp://127.0.0.1:40545//path%20with%20%20spaces//and%20things2/106;type=A\" > log/stdout106 2> log/stderr106"}

data: {"time":"2026-09-19T16:15:52.085Z","priority":"6","pid":"2830187","message":"72 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:52.086Z","priority":"6","pid":"2830187","message":" 16:15:51.579787 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.086Z","priority":"6","pid":"2830187","message":" 16:15:51.579798 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.086Z","priority":"6","pid":"2830187","message":" 16:15:51.579960 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.086Z","priority":"6","pid":"2830187","message":" 16:15:51.579985 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.087Z","priority":"6","pid":"2830187","message":" 16:15:51.580300 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.087Z","priority":"6","pid":"2830187","message":" 16:15:51.580320 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.087Z","priority":"6","pid":"2830187","message":" 16:15:51.580346 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.088Z","priority":"6","pid":"2830187","message":" 16:15:51.580446 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.088Z","priority":"6","pid":"2830187","message":" 16:15:51.580464 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.089Z","priority":"6","pid":"2830187","message":" 16:15:51.580737 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.089Z","priority":"6","pid":"2830187","message":" 16:15:51.580757 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.089Z","priority":"6","pid":"2830187","message":" 16:15:51.580770 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.089Z","priority":"6","pid":"2830187","message":" 16:15:51.580870 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.090Z","priority":"6","pid":"2830187","message":" 16:15:51.580889 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.090Z","priority":"6","pid":"2830187","message":" 16:15:51.581121 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.090Z","priority":"6","pid":"2830187","message":" 16:15:51.581146 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.091Z","priority":"6","pid":"2830187","message":" 16:15:51.581159 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.091Z","priority":"6","pid":"2830187","message":" 16:15:51.581310 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.091Z","priority":"6","pid":"2830187","message":" 16:15:51.581331 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.092Z","priority":"6","pid":"2830187","message":" 16:15:51.585442 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.092Z","priority":"6","pid":"2830187","message":" 16:15:51.585473 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.092Z","priority":"6","pid":"2830187","message":" 16:15:51.585502 '229 Entering Passive Mode (|||35993|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.093Z","priority":"6","pid":"2830187","message":" 16:15:51.586241 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.093Z","priority":"6","pid":"2830187","message":" 16:15:51.586270 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.094Z","priority":"6","pid":"2830187","message":" 16:15:51.586539 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.094Z","priority":"6","pid":"2830187","message":" 16:15:51.586562 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.094Z","priority":"6","pid":"2830187","message":" 16:15:51.586576 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.094Z","priority":"6","pid":"2830187","message":" 16:15:51.586762 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.095Z","priority":"6","pid":"2830187","message":" 16:15:51.586788 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.096Z","priority":"6","pid":"2830187","message":" 16:15:51.586992 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.096Z","priority":"6","pid":"2830187","message":" 16:15:51.587013 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.096Z","priority":"6","pid":"2830187","message":" 16:15:51.587027 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.096Z","priority":"6","pid":"2830187","message":" 16:15:51.587132 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.096Z","priority":"6","pid":"2830187","message":" 16:15:51.587148 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.097Z","priority":"6","pid":"2830187","message":" 16:15:51.587589 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.097Z","priority":"6","pid":"2830187","message":" 16:15:51.587613 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.097Z","priority":"6","pid":"2830187","message":" 16:15:51.587626 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.098Z","priority":"6","pid":"2830187","message":" 16:15:51.588749 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.098Z","priority":"6","pid":"2830187","message":" 16:15:51.588772 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.099Z","priority":"6","pid":"2830187","message":" 16:15:51.588787 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.099Z","priority":"6","pid":"2830187","message":" 16:15:51.628543 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.099Z","priority":"6","pid":"2830187","message":" 16:15:51.628614 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.100Z","priority":"6","pid":"2830187","message":" 16:15:51.629086 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.100Z","priority":"6","pid":"2830187","message":" 16:15:51.629115 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.100Z","priority":"6","pid":"2830187","message":" 16:15:51.629131 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.101Z","priority":"6","pid":"2830187","message":" 16:15:51.629953 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:52.101Z","priority":"6","pid":"2830187","message":" 16:15:51.630136 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:52.101Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:52.102Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:52.102Z","priority":"6","pid":"2830187","message":" 16:15:51.584715 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:52.103Z","priority":"6","pid":"2830187","message":" 16:15:51.584891 Listening on port 35993"}

data: {"time":"2026-09-19T16:15:52.103Z","priority":"6","pid":"2830187","message":" 16:15:51.584959 Wrote pid 84877 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:52.103Z","priority":"6","pid":"2830187","message":" 16:15:51.585002 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:52.103Z","priority":"6","pid":"2830187","message":" 16:15:51.585239 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:52.103Z","priority":"6","pid":"2830187","message":" 16:15:51.585906 ====> Client connect"}

data: {"time":"2026-09-19T16:15:52.104Z","priority":"6","pid":"2830187","message":" 16:15:51.587677 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.104Z","priority":"6","pid":"2830187","message":" 16:15:51.587711 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.104Z","priority":"6","pid":"2830187","message":" 16:15:51.587725 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.105Z","priority":"6","pid":"2830187","message":" 16:15:51.587781 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:52.105Z","priority":"6","pid":"2830187","message":" 16:15:51.587800 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:52.106Z","priority":"6","pid":"2830187","message":" 16:15:51.588136 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:52.106Z","priority":"6","pid":"2830187","message":" 16:15:51.588156 quits"}

data: {"time":"2026-09-19T16:15:52.106Z","priority":"6","pid":"2830187","message":" 16:15:51.588276 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:52.106Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:52.107Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:52.107Z","priority":"6","pid":"2830187","message":" REPLY EPSV 500 no such command"}

data: {"time":"2026-09-19T16:15:52.107Z","priority":"6","pid":"2830187","message":" Testnum 105"}

data: {"time":"2026-09-19T16:15:52.108Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:52.108Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind105"}

data: {"time":"2026-09-19T16:15:52.108Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:52.109Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:52.109Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:52.109Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.110Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:52.110Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:52.110Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:52.111Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:52.111Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:52.111Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.112Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:52.112Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:52.113Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:52.113Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:52.114Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:52.114Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:52.114Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:52.114Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.115Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:52.116Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:52.116Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.116Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:52.116Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:52.116Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:52.117Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.117Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:52.118Z","priority":"6","pid":"2830187","message":"=== End of file valgrind105"}

data: {"time":"2026-09-19T16:15:52.118Z","priority":"6","pid":"2830187","message":"test 0106 [FTP GET with type=A style ASCII URL using %20 codes]"}

data: {"time":"2026-09-19T16:15:52.119Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind106 ../src/curl -q --output log/curl106.out  --include --trace-ascii log/trace106 --trace-time \"ftp://127.0.0.1:40545//path%20with%20%20spaces//and%20things2/106;type=A\" > log/stdout106 2> log/stderr106"}

data: {"time":"2026-09-19T16:15:52.120Z","priority":"6","pid":"2830187","message":" 106: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:52.120Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:52.120Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:52.121Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 106"}

data: {"time":"2026-09-19T16:15:52.121Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:52.122Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind106 ../src/curl -q --output log/curl106.out  --include --trace-ascii log/trace106 --trace-time \"ftp://127.0.0.1:40545//path%20with%20%20spaces//and%20things2/106;type=A\" > log/stdout106 2> log/stderr106"}

data: {"time":"2026-09-19T16:15:52.123Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:52.123Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:52.123Z","priority":"6","pid":"2830187","message":" 16:15:51.838904 ====> Client connect"}

data: {"time":"2026-09-19T16:15:52.124Z","priority":"6","pid":"2830187","message":" 16:15:51.839230 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.125Z","priority":"6","pid":"2830187","message":" 16:15:51.839773 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:52.125Z","priority":"6","pid":"2830187","message":" 16:15:51.839991 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.126Z","priority":"6","pid":"2830187","message":" 16:15:51.840102 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:52.126Z","priority":"6","pid":"2830187","message":" 16:15:51.840237 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.126Z","priority":"6","pid":"2830187","message":" 16:15:51.840515 < \"PWD\""}

data: {"time":"2026-09-19T16:15:52.127Z","priority":"6","pid":"2830187","message":" 16:15:51.840565 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.127Z","priority":"6","pid":"2830187","message":" 16:15:51.840789 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:52.127Z","priority":"6","pid":"2830187","message":" 16:15:51.840830 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:52.127Z","priority":"6","pid":"2830187","message":" 16:15:51.840850 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:52.128Z","priority":"6","pid":"2830187","message":" 16:15:51.843785 DATA sockfilt for passive data channel started (pid 84942)"}

data: {"time":"2026-09-19T16:15:52.128Z","priority":"6","pid":"2830187","message":" 16:15:51.843938 DATA sockfilt for passive data channel listens on port 40025"}

data: {"time":"2026-09-19T16:15:52.129Z","priority":"6","pid":"2830187","message":" 16:15:51.843990 > \"229 Entering Passive Mode (|||40025|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.129Z","priority":"6","pid":"2830187","message":" 16:15:51.844010 Client has been notified that upcoming DATA connection is awaited on port 40025"}

data: {"time":"2026-09-19T16:15:52.130Z","priority":"6","pid":"2830187","message":" 16:15:51.844311 Client connects to port 40025"}

data: {"time":"2026-09-19T16:15:52.130Z","priority":"6","pid":"2830187","message":" 16:15:51.844461 ====> Client established passive DATA connection on port 40025"}

data: {"time":"2026-09-19T16:15:52.130Z","priority":"6","pid":"2830187","message":" 16:15:51.844624 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:52.131Z","priority":"6","pid":"2830187","message":" 16:15:51.844705 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.131Z","priority":"6","pid":"2830187","message":" 16:15:51.844890 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:52.132Z","priority":"6","pid":"2830187","message":" 16:15:51.845012 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.132Z","priority":"6","pid":"2830187","message":" 16:15:51.845165 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:52.132Z","priority":"6","pid":"2830187","message":" 16:15:51.845209 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.132Z","priority":"6","pid":"2830187","message":" 16:15:51.845445 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:52.132Z","priority":"6","pid":"2830187","message":" 16:15:51.845466 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:52.133Z","priority":"6","pid":"2830187","message":" 16:15:51.845706 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:52.133Z","priority":"6","pid":"2830187","message":" 16:15:51.845737 DATA sockfilt for passive data channel quits (pid 84942)"}

data: {"time":"2026-09-19T16:15:52.134Z","priority":"6","pid":"2830187","message":" 16:15:51.846060 DATA sockfilt for passive data channel quit (pid 84942)"}

data: {"time":"2026-09-19T16:15:52.134Z","priority":"6","pid":"2830187","message":" 16:15:51.846091 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:52.135Z","priority":"6","pid":"2830187","message":" 16:15:51.846123 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.135Z","priority":"6","pid":"2830187","message":" 16:15:51.886121 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:52.135Z","priority":"6","pid":"2830187","message":" 16:15:51.886224 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.136Z","priority":"6","pid":"2830187","message":" 16:15:51.887249 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:52.136Z","priority":"6","pid":"2830187","message":" 16:15:51.887458 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:52.136Z","priority":"6","pid":"2830187","message":" 16:15:51.887612 Awaiting input"}

data: {"time":"2026-09-19T16:15:52.137Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:52.137Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:52.137Z","priority":"6","pid":"2830187","message":" 16:15:51.910479 ====> Client connect"}

data: {"time":"2026-09-19T16:15:52.137Z","priority":"6","pid":"2830187","message":" 16:15:51.911101 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.138Z","priority":"6","pid":"2830187","message":" 16:15:51.911129 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.139Z","priority":"6","pid":"2830187","message":" 16:15:51.911145 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:52.139Z","priority":"6","pid":"2830187","message":" 16:15:51.911160 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.139Z","priority":"6","pid":"2830187","message":" 16:15:51.911171 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.140Z","priority":"6","pid":"2830187","message":" 16:15:51.911282 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.140Z","priority":"6","pid":"2830187","message":" 16:15:51.911296 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.140Z","priority":"6","pid":"2830187","message":" 16:15:51.911555 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.472Z","priority":"6","pid":"2830187","message":" 16:15:51.911571 > 33 bytes data, server =CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind107 ../src/curl -q --output log/curl107.out  --include --trace-ascii log/trace107 --trace-time ftp://127.0.0.1:40545/107 -T log/test107.txt > log/stdout107 2> log/stderr107"}

data: {"time":"2026-09-19T16:15:52.476Z","priority":"6","pid":"2830187","message":"> client"}

data: {"time":"2026-09-19T16:15:52.477Z","priority":"6","pid":"2830187","message":" 16:15:51.911593 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.477Z","priority":"6","pid":"2830187","message":" 16:15:51.911666 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.477Z","priority":"6","pid":"2830187","message":" 16:15:51.911680 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.478Z","priority":"6","pid":"2830187","message":" 16:15:51.911874 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.478Z","priority":"6","pid":"2830187","message":" 16:15:51.911897 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.479Z","priority":"6","pid":"2830187","message":" 16:15:51.911921 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.479Z","priority":"6","pid":"2830187","message":" 16:15:51.912164 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.479Z","priority":"6","pid":"2830187","message":" 16:15:51.912183 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.480Z","priority":"6","pid":"2830187","message":" 16:15:51.912317 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.480Z","priority":"6","pid":"2830187","message":" 16:15:51.912330 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.481Z","priority":"6","pid":"2830187","message":" 16:15:51.912342 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.481Z","priority":"6","pid":"2830187","message":" 16:15:51.912424 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.481Z","priority":"6","pid":"2830187","message":" 16:15:51.912437 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.481Z","priority":"6","pid":"2830187","message":" 16:15:51.915769 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.482Z","priority":"6","pid":"2830187","message":" 16:15:51.915795 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.482Z","priority":"6","pid":"2830187","message":" 16:15:51.915805 '229 Entering Passive Mode (|||40025|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.483Z","priority":"6","pid":"2830187","message":" 16:15:51.916242 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.483Z","priority":"6","pid":"2830187","message":" 16:15:51.916256 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.483Z","priority":"6","pid":"2830187","message":" 16:15:51.916397 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.484Z","priority":"6","pid":"2830187","message":" 16:15:51.916410 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.484Z","priority":"6","pid":"2830187","message":" 16:15:51.916454 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.484Z","priority":"6","pid":"2830187","message":" 16:15:51.916523 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.485Z","priority":"6","pid":"2830187","message":" 16:15:51.916534 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.485Z","priority":"6","pid":"2830187","message":" 16:15:51.916664 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.486Z","priority":"6","pid":"2830187","message":" 16:15:51.916679 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.486Z","priority":"6","pid":"2830187","message":" 16:15:51.916704 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.486Z","priority":"6","pid":"2830187","message":" 16:15:51.916802 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.486Z","priority":"6","pid":"2830187","message":" 16:15:51.916816 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.487Z","priority":"6","pid":"2830187","message":" 16:15:51.917007 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.488Z","priority":"6","pid":"2830187","message":" 16:15:51.917019 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.488Z","priority":"6","pid":"2830187","message":" 16:15:51.917028 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.488Z","priority":"6","pid":"2830187","message":" 16:15:51.917875 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.489Z","priority":"6","pid":"2830187","message":" 16:15:51.917890 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.490Z","priority":"6","pid":"2830187","message":" 16:15:51.917899 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.490Z","priority":"6","pid":"2830187","message":" 16:15:51.957648 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.490Z","priority":"6","pid":"2830187","message":" 16:15:51.957716 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.490Z","priority":"6","pid":"2830187","message":" 16:15:51.958007 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.490Z","priority":"6","pid":"2830187","message":" 16:15:51.958028 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.491Z","priority":"6","pid":"2830187","message":" 16:15:51.958043 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.491Z","priority":"6","pid":"2830187","message":" 16:15:51.958878 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:52.492Z","priority":"6","pid":"2830187","message":" 16:15:51.959050 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:52.492Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:52.492Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:52.493Z","priority":"6","pid":"2830187","message":" 16:15:51.915254 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:52.493Z","priority":"6","pid":"2830187","message":" 16:15:51.915371 Listening on port 40025"}

data: {"time":"2026-09-19T16:15:52.493Z","priority":"6","pid":"2830187","message":" 16:15:51.915441 Wrote pid 84942 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:52.494Z","priority":"6","pid":"2830187","message":" 16:15:51.915467 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:52.494Z","priority":"6","pid":"2830187","message":" 16:15:51.915577 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:52.495Z","priority":"6","pid":"2830187","message":" 16:15:51.915998 ====> Client connect"}

data: {"time":"2026-09-19T16:15:52.495Z","priority":"6","pid":"2830187","message":" 16:15:51.916969 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.495Z","priority":"6","pid":"2830187","message":" 16:15:51.916991 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.495Z","priority":"6","pid":"2830187","message":" 16:15:51.917257 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.496Z","priority":"6","pid":"2830187","message":" 16:15:51.917302 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:52.496Z","priority":"6","pid":"2830187","message":" 16:15:51.917314 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:52.496Z","priority":"6","pid":"2830187","message":" 16:15:51.917484 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:52.497Z","priority":"6","pid":"2830187","message":" 16:15:51.917497 quits"}

data: {"time":"2026-09-19T16:15:52.497Z","priority":"6","pid":"2830187","message":" 16:15:51.917576 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:52.497Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:52.498Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:52.498Z","priority":"6","pid":"2830187","message":" Testnum 106"}

data: {"time":"2026-09-19T16:15:52.498Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:52.498Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind106"}

data: {"time":"2026-09-19T16:15:52.498Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:52.499Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:52.499Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:52.500Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.500Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:52.500Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:52.501Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:52.501Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:52.501Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:52.502Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.502Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:52.503Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:52.503Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:52.503Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:52.504Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:52.504Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:52.504Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:52.505Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.505Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:52.505Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:52.505Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.506Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:52.506Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:52.507Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:52.507Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.507Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:52.507Z","priority":"6","pid":"2830187","message":"=== End of file valgrind106"}

data: {"time":"2026-09-19T16:15:52.508Z","priority":"6","pid":"2830187","message":"test 0107 [FTP PASV upload file]"}

data: {"time":"2026-09-19T16:15:52.509Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind107 ../src/curl -q --output log/curl107.out  --include --trace-ascii log/trace107 --trace-time ftp://127.0.0.1:40545/107 -T log/test107.txt > log/stdout107 2> log/stderr107"}

data: {"time":"2026-09-19T16:15:52.510Z","priority":"6","pid":"2830187","message":" 107: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:52.510Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:52.510Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:52.510Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 107"}

data: {"time":"2026-09-19T16:15:52.511Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:52.512Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind107 ../src/curl -q --output log/curl107.out  --include --trace-ascii log/trace107 --trace-time ftp://127.0.0.1:40545/107 -T log/test107.txt > log/stdout107 2> log/stderr107"}

data: {"time":"2026-09-19T16:15:52.513Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:52.513Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:52.513Z","priority":"6","pid":"2830187","message":" 16:15:52.187157 ====> Client connect"}

data: {"time":"2026-09-19T16:15:52.514Z","priority":"6","pid":"2830187","message":" 16:15:52.187848 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.514Z","priority":"6","pid":"2830187","message":" 16:15:52.188078 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:52.514Z","priority":"6","pid":"2830187","message":" 16:15:52.188147 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.515Z","priority":"6","pid":"2830187","message":" 16:15:52.188613 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:52.515Z","priority":"6","pid":"2830187","message":" 16:15:52.188812 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.515Z","priority":"6","pid":"2830187","message":" 16:15:52.189013 < \"PWD\""}

data: {"time":"2026-09-19T16:15:52.516Z","priority":"6","pid":"2830187","message":" 16:15:52.189088 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.516Z","priority":"6","pid":"2830187","message":" 16:15:52.189429 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:52.516Z","priority":"6","pid":"2830187","message":" 16:15:52.189512 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:52.517Z","priority":"6","pid":"2830187","message":" 16:15:52.189540 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:52.517Z","priority":"6","pid":"2830187","message":" 16:15:52.193904 DATA sockfilt for passive data channel started (pid 85007)"}

data: {"time":"2026-09-19T16:15:52.518Z","priority":"6","pid":"2830187","message":" 16:15:52.194119 DATA sockfilt for passive data channel listens on port 44795"}

data: {"time":"2026-09-19T16:15:52.518Z","priority":"6","pid":"2830187","message":" 16:15:52.194197 > \"229 Entering Passive Mode (|||44795|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.519Z","priority":"6","pid":"2830187","message":" 16:15:52.194221 Client has been notified that upcoming DATA connection is awaited on port 44795"}

data: {"time":"2026-09-19T16:15:52.519Z","priority":"6","pid":"2830187","message":" 16:15:52.194735 Client connects to port 44795"}

data: {"time":"2026-09-19T16:15:52.520Z","priority":"6","pid":"2830187","message":" 16:15:52.194800 ====> Client established passive DATA connection on port 44795"}

data: {"time":"2026-09-19T16:15:52.520Z","priority":"6","pid":"2830187","message":" 16:15:52.194957 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:52.520Z","priority":"6","pid":"2830187","message":" 16:15:52.195183 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.521Z","priority":"6","pid":"2830187","message":" 16:15:52.195359 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:52.521Z","priority":"6","pid":"2830187","message":" 16:15:52.195454 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.521Z","priority":"6","pid":"2830187","message":" 16:15:52.195658 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:52.522Z","priority":"6","pid":"2830187","message":" 16:15:52.195815 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.522Z","priority":"6","pid":"2830187","message":" 16:15:52.196150 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:52.522Z","priority":"6","pid":"2830187","message":" 16:15:52.196178 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:52.523Z","priority":"6","pid":"2830187","message":" 16:15:52.196711 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:52.523Z","priority":"6","pid":"2830187","message":" 16:15:52.196776 DATA sockfilt for passive data channel quits (pid 85007)"}

data: {"time":"2026-09-19T16:15:52.524Z","priority":"6","pid":"2830187","message":" 16:15:52.197315 DATA sockfilt for passive data channel quit (pid 85007)"}

data: {"time":"2026-09-19T16:15:52.524Z","priority":"6","pid":"2830187","message":" 16:15:52.197454 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:52.524Z","priority":"6","pid":"2830187","message":" 16:15:52.197861 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.524Z","priority":"6","pid":"2830187","message":" 16:15:52.237142 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:52.525Z","priority":"6","pid":"2830187","message":" 16:15:52.237268 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.525Z","priority":"6","pid":"2830187","message":" 16:15:52.238296 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:52.525Z","priority":"6","pid":"2830187","message":" 16:15:52.238518 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:52.526Z","priority":"6","pid":"2830187","message":" 16:15:52.238672 Awaiting input"}

data: {"time":"2026-09-19T16:15:52.526Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:52.526Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:52.526Z","priority":"6","pid":"2830187","message":" 16:15:52.258626 ====> Client connect"}

data: {"time":"2026-09-19T16:15:52.527Z","priority":"6","pid":"2830187","message":" 16:15:52.259254 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.527Z","priority":"6","pid":"2830187","message":" 16:15:52.259297 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.528Z","priority":"6","pid":"2830187","message":" 16:15:52.259325 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:52.528Z","priority":"6","pid":"2830187","message":" 16:15:52.259340 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.529Z","priority":"6","pid":"2830187","message":" 16:15:52.259352 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.529Z","priority":"6","pid":"2830187","message":" 16:15:52.259499 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.529Z","priority":"6","pid":"2830187","message":" 16:15:52.259516 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.530Z","priority":"6","pid":"2830187","message":" 16:15:52.259944 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.530Z","priority":"6","pid":"2830187","message":" 16:15:52.259967 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.530Z","priority":"6","pid":"2830187","message":" 16:15:52.259982 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.531Z","priority":"6","pid":"2830187","message":" 16:15:52.260158 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.531Z","priority":"6","pid":"2830187","message":" 16:15:52.260184 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.532Z","priority":"6","pid":"2830187","message":" 16:15:52.260381 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.532Z","priority":"6","pid":"2830187","message":" 16:15:52.260402 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.532Z","priority":"6","pid":"2830187","message":" 16:15:52.260428 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.533Z","priority":"6","pid":"2830187","message":" 16:15:52.260593 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.533Z","priority":"6","pid":"2830187","message":" 16:15:52.260613 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.533Z","priority":"6","pid":"2830187","message":" 16:15:52.260839 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.533Z","priority":"6","pid":"2830187","message":" 16:15:52.260861 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.785Z","priority":"6","pid":"2830187","message":" 16:15:52.260873 '257 \"/CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind108 ../src/curl -q --output log/curl108.out  --include --trace-ascii log/trace108 --trace-time ftp://127.0.0.1:40545/CWD/STOR/RETR/108 -T log/upload108 -P - > log/stdout108 2> log/stderr108"}

data: {"time":"2026-09-19T16:15:52.799Z","priority":"6","pid":"2830187","message":"\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.800Z","priority":"6","pid":"2830187","message":" 16:15:52.260992 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.800Z","priority":"6","pid":"2830187","message":" 16:15:52.261011 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.800Z","priority":"6","pid":"2830187","message":" 16:15:52.265973 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.800Z","priority":"6","pid":"2830187","message":" 16:15:52.265995 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.801Z","priority":"6","pid":"2830187","message":" 16:15:52.266009 '229 Entering Passive Mode (|||44795|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.801Z","priority":"6","pid":"2830187","message":" 16:15:52.266302 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.802Z","priority":"6","pid":"2830187","message":" 16:15:52.266323 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.802Z","priority":"6","pid":"2830187","message":" 16:15:52.266725 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.802Z","priority":"6","pid":"2830187","message":" 16:15:52.266744 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.803Z","priority":"6","pid":"2830187","message":" 16:15:52.266788 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.803Z","priority":"6","pid":"2830187","message":" 16:15:52.266943 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.803Z","priority":"6","pid":"2830187","message":" 16:15:52.266959 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.804Z","priority":"6","pid":"2830187","message":" 16:15:52.267120 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.804Z","priority":"6","pid":"2830187","message":" 16:15:52.267135 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.805Z","priority":"6","pid":"2830187","message":" 16:15:52.267195 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.805Z","priority":"6","pid":"2830187","message":" 16:15:52.267265 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.805Z","priority":"6","pid":"2830187","message":" 16:15:52.267279 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.806Z","priority":"6","pid":"2830187","message":" 16:15:52.267447 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.807Z","priority":"6","pid":"2830187","message":" 16:15:52.267464 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.807Z","priority":"6","pid":"2830187","message":" 16:15:52.267485 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.807Z","priority":"6","pid":"2830187","message":" 16:15:52.269634 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.808Z","priority":"6","pid":"2830187","message":" 16:15:52.269655 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.808Z","priority":"6","pid":"2830187","message":" 16:15:52.269668 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.808Z","priority":"6","pid":"2830187","message":" 16:15:52.308514 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.809Z","priority":"6","pid":"2830187","message":" 16:15:52.308594 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.809Z","priority":"6","pid":"2830187","message":" 16:15:52.309073 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.810Z","priority":"6","pid":"2830187","message":" 16:15:52.309103 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.810Z","priority":"6","pid":"2830187","message":" 16:15:52.309117 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.810Z","priority":"6","pid":"2830187","message":" 16:15:52.309920 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:52.810Z","priority":"6","pid":"2830187","message":" 16:15:52.310115 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:52.810Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:52.811Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:52.812Z","priority":"6","pid":"2830187","message":" 16:15:52.265315 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:52.812Z","priority":"6","pid":"2830187","message":" 16:15:52.265473 Listening on port 44795"}

data: {"time":"2026-09-19T16:15:52.812Z","priority":"6","pid":"2830187","message":" 16:15:52.265523 Wrote pid 85007 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:52.812Z","priority":"6","pid":"2830187","message":" 16:15:52.265554 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:52.812Z","priority":"6","pid":"2830187","message":" 16:15:52.265709 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:52.812Z","priority":"6","pid":"2830187","message":" 16:15:52.266391 ====> Client connect"}

data: {"time":"2026-09-19T16:15:52.812Z","priority":"6","pid":"2830187","message":" 16:15:52.267572 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.813Z","priority":"6","pid":"2830187","message":" 16:15:52.267595 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.813Z","priority":"6","pid":"2830187","message":" 16:15:52.267667 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.813Z","priority":"6","pid":"2830187","message":" 16:15:52.267929 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:52.814Z","priority":"6","pid":"2830187","message":" 16:15:52.267951 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:52.814Z","priority":"6","pid":"2830187","message":" 16:15:52.268532 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:52.815Z","priority":"6","pid":"2830187","message":" 16:15:52.268555 quits"}

data: {"time":"2026-09-19T16:15:52.815Z","priority":"6","pid":"2830187","message":" 16:15:52.268684 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:52.815Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:52.815Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:52.815Z","priority":"6","pid":"2830187","message":" Testnum 107"}

data: {"time":"2026-09-19T16:15:52.816Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:52.816Z","priority":"6","pid":"2830187","message":"=== Start of file test107.txt"}

data: {"time":"2026-09-19T16:15:52.816Z","priority":"6","pid":"2830187","message":" data"}

data: {"time":"2026-09-19T16:15:52.817Z","priority":"6","pid":"2830187","message":"     to"}

data: {"time":"2026-09-19T16:15:52.817Z","priority":"6","pid":"2830187","message":"       see"}

data: {"time":"2026-09-19T16:15:52.817Z","priority":"6","pid":"2830187","message":" that FTP"}

data: {"time":"2026-09-19T16:15:52.818Z","priority":"6","pid":"2830187","message":" works"}

data: {"time":"2026-09-19T16:15:52.818Z","priority":"6","pid":"2830187","message":"   so does it?"}

data: {"time":"2026-09-19T16:15:52.818Z","priority":"6","pid":"2830187","message":"=== End of file test107.txt"}

data: {"time":"2026-09-19T16:15:52.818Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind107"}

data: {"time":"2026-09-19T16:15:52.818Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:52.819Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:52.819Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:52.819Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.820Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:52.820Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:52.821Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:52.821Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:52.821Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:52.821Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.822Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:52.822Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:52.822Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:52.823Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:52.823Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:52.824Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:52.824Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:52.824Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.824Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:52.825Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:52.825Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.825Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:52.825Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:52.826Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:52.826Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:52.826Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:52.827Z","priority":"6","pid":"2830187","message":"=== End of file valgrind107"}

data: {"time":"2026-09-19T16:15:52.827Z","priority":"6","pid":"2830187","message":"test 0108 [FTP PORT upload with CWD]"}

data: {"time":"2026-09-19T16:15:52.828Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind108 ../src/curl -q --output log/curl108.out  --include --trace-ascii log/trace108 --trace-time ftp://127.0.0.1:40545/CWD/STOR/RETR/108 -T log/upload108 -P - > log/stdout108 2> log/stderr108"}

data: {"time":"2026-09-19T16:15:52.828Z","priority":"6","pid":"2830187","message":" 108: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:52.828Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:52.829Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:52.829Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 108"}

data: {"time":"2026-09-19T16:15:52.829Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:52.830Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind108 ../src/curl -q --output log/curl108.out  --include --trace-ascii log/trace108 --trace-time ftp://127.0.0.1:40545/CWD/STOR/RETR/108 -T log/upload108 -P - > log/stdout108 2> log/stderr108"}

data: {"time":"2026-09-19T16:15:52.831Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:52.831Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:52.831Z","priority":"6","pid":"2830187","message":" 16:15:52.568641 ====> Client connect"}

data: {"time":"2026-09-19T16:15:52.832Z","priority":"6","pid":"2830187","message":" 16:15:52.569401 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.832Z","priority":"6","pid":"2830187","message":" 16:15:52.569703 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:52.833Z","priority":"6","pid":"2830187","message":" 16:15:52.569962 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.833Z","priority":"6","pid":"2830187","message":" 16:15:52.570220 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:52.833Z","priority":"6","pid":"2830187","message":" 16:15:52.570275 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.833Z","priority":"6","pid":"2830187","message":" 16:15:52.570655 < \"PWD\""}

data: {"time":"2026-09-19T16:15:52.834Z","priority":"6","pid":"2830187","message":" 16:15:52.570722 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.834Z","priority":"6","pid":"2830187","message":" 16:15:52.571043 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:52.835Z","priority":"6","pid":"2830187","message":" 16:15:52.571097 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:52.835Z","priority":"6","pid":"2830187","message":" 16:15:52.571120 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:52.835Z","priority":"6","pid":"2830187","message":" 16:15:52.574584 DATA sockfilt for passive data channel started (pid 85076)"}

data: {"time":"2026-09-19T16:15:52.836Z","priority":"6","pid":"2830187","message":" 16:15:52.574818 DATA sockfilt for passive data channel listens on port 43443"}

data: {"time":"2026-09-19T16:15:52.836Z","priority":"6","pid":"2830187","message":" 16:15:52.574895 > \"229 Entering Passive Mode (|||43443|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.837Z","priority":"6","pid":"2830187","message":" 16:15:52.574946 Client has been notified that upcoming DATA connection is awaited on port 43443"}

data: {"time":"2026-09-19T16:15:52.837Z","priority":"6","pid":"2830187","message":" 16:15:52.575584 Client connects to port 43443"}

data: {"time":"2026-09-19T16:15:52.838Z","priority":"6","pid":"2830187","message":" 16:15:52.575653 ====> Client established passive DATA connection on port 43443"}

data: {"time":"2026-09-19T16:15:52.838Z","priority":"6","pid":"2830187","message":" 16:15:52.575936 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:52.838Z","priority":"6","pid":"2830187","message":" 16:15:52.576114 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.839Z","priority":"6","pid":"2830187","message":" 16:15:52.576434 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:52.839Z","priority":"6","pid":"2830187","message":" 16:15:52.576654 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.839Z","priority":"6","pid":"2830187","message":" 16:15:52.576855 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:52.840Z","priority":"6","pid":"2830187","message":" 16:15:52.576975 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.840Z","priority":"6","pid":"2830187","message":" 16:15:52.577157 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:52.840Z","priority":"6","pid":"2830187","message":" 16:15:52.577192 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:52.841Z","priority":"6","pid":"2830187","message":" 16:15:52.577680 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:52.841Z","priority":"6","pid":"2830187","message":" 16:15:52.577745 DATA sockfilt for passive data channel quits (pid 85076)"}

data: {"time":"2026-09-19T16:15:52.842Z","priority":"6","pid":"2830187","message":" 16:15:52.578193 DATA sockfilt for passive data channel quit (pid 85076)"}

data: {"time":"2026-09-19T16:15:52.842Z","priority":"6","pid":"2830187","message":" 16:15:52.578240 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:52.843Z","priority":"6","pid":"2830187","message":" 16:15:52.586102 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.843Z","priority":"6","pid":"2830187","message":" 16:15:52.618009 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:52.843Z","priority":"6","pid":"2830187","message":" 16:15:52.618088 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:52.843Z","priority":"6","pid":"2830187","message":" 16:15:52.618417 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:52.844Z","priority":"6","pid":"2830187","message":" 16:15:52.619130 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:52.845Z","priority":"6","pid":"2830187","message":" 16:15:52.619289 Awaiting input"}

data: {"time":"2026-09-19T16:15:52.845Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:52.845Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:52.845Z","priority":"6","pid":"2830187","message":" 16:15:52.640163 ====> Client connect"}

data: {"time":"2026-09-19T16:15:52.845Z","priority":"6","pid":"2830187","message":" 16:15:52.640653 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.846Z","priority":"6","pid":"2830187","message":" 16:15:52.640693 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.846Z","priority":"6","pid":"2830187","message":" 16:15:52.640800 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:52.847Z","priority":"6","pid":"2830187","message":" 16:15:52.640821 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.847Z","priority":"6","pid":"2830187","message":" 16:15:52.640833 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.847Z","priority":"6","pid":"2830187","message":" 16:15:52.640950 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.848Z","priority":"6","pid":"2830187","message":" 16:15:52.640970 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.848Z","priority":"6","pid":"2830187","message":" 16:15:52.641470 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.849Z","priority":"6","pid":"2830187","message":" 16:15:52.641493 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.849Z","priority":"6","pid":"2830187","message":" 16:15:52.641517 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.849Z","priority":"6","pid":"2830187","message":" 16:15:52.641758 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.850Z","priority":"6","pid":"2830187","message":" 16:15:52.641782 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.850Z","priority":"6","pid":"2830187","message":" 16:15:52.642005 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.851Z","priority":"6","pid":"2830187","message":" 16:15:52.642082 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.851Z","priority":"6","pid":"2830187","message":" 16:15:52.642098 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.851Z","priority":"6","pid":"2830187","message":" 16:15:52.642247 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.852Z","priority":"6","pid":"2830187","message":" 16:15:52.642271 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.852Z","priority":"6","pid":"2830187","message":" 16:15:52.642450 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.852Z","priority":"6","pid":"2830187","message":" 16:15:52.642471 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.853Z","priority":"6","pid":"2830187","message":" 16:15:52.642484 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.853Z","priority":"6","pid":"2830187","message":" 16:15:52.642602 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.853Z","priority":"6","pid":"2830187","message":" 16:15:52.642621 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.854Z","priority":"6","pid":"2830187","message":" 16:15:52.646690 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:52.855Z","priority":"6","pid":"2830187","message":" 16:15:52.646715 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:52.855Z","priority":"6","pid":"2830187","message":" 16:15:52.646732 '229 Entering Passive Mode (|||43443|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:52.855Z","priority":"6","pid":"2830187","message":" 16:15:52.647449 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:52.855Z","priority":"6","pid":"2830187","message":" 16:15:52.647472 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.133Z","priority":"6","pid":"2830187","message":" 16:1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind109 ../src/curl -q --output log/curl109.out  --include --trace-ascii log/trace109 --trace-time ftp://127.0.0.1:40545/109 -T log/upload109 --append > log/stdout109 2> log/stderr109"}

data: {"time":"2026-09-19T16:15:53.137Z","priority":"6","pid":"2830187","message":"5:52.647697 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.137Z","priority":"6","pid":"2830187","message":" 16:15:52.647717 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.138Z","priority":"6","pid":"2830187","message":" 16:15:52.647745 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.139Z","priority":"6","pid":"2830187","message":" 16:15:52.647924 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.139Z","priority":"6","pid":"2830187","message":" 16:15:52.647948 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.139Z","priority":"6","pid":"2830187","message":" 16:15:52.648205 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.139Z","priority":"6","pid":"2830187","message":" 16:15:52.648225 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.140Z","priority":"6","pid":"2830187","message":" 16:15:52.648247 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.140Z","priority":"6","pid":"2830187","message":" 16:15:52.648422 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.140Z","priority":"6","pid":"2830187","message":" 16:15:52.648444 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.141Z","priority":"6","pid":"2830187","message":" 16:15:52.648613 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.141Z","priority":"6","pid":"2830187","message":" 16:15:52.648636 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.141Z","priority":"6","pid":"2830187","message":" 16:15:52.648930 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.142Z","priority":"6","pid":"2830187","message":" 16:15:52.649980 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.142Z","priority":"6","pid":"2830187","message":" 16:15:52.649998 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.143Z","priority":"6","pid":"2830187","message":" 16:15:52.657648 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.143Z","priority":"6","pid":"2830187","message":" 16:15:52.689510 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.143Z","priority":"6","pid":"2830187","message":" 16:15:52.689566 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.144Z","priority":"6","pid":"2830187","message":" 16:15:52.689814 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.144Z","priority":"6","pid":"2830187","message":" 16:15:52.689829 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.144Z","priority":"6","pid":"2830187","message":" 16:15:52.689841 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.145Z","priority":"6","pid":"2830187","message":" 16:15:52.690064 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:53.145Z","priority":"6","pid":"2830187","message":" 16:15:52.690150 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:53.145Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:53.146Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:53.146Z","priority":"6","pid":"2830187","message":" 16:15:52.645608 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:53.146Z","priority":"6","pid":"2830187","message":" 16:15:52.646091 Listening on port 43443"}

data: {"time":"2026-09-19T16:15:53.146Z","priority":"6","pid":"2830187","message":" 16:15:52.646177 Wrote pid 85076 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:53.147Z","priority":"6","pid":"2830187","message":" 16:15:52.646215 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:53.147Z","priority":"6","pid":"2830187","message":" 16:15:52.646373 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:53.148Z","priority":"6","pid":"2830187","message":" 16:15:52.647143 ====> Client connect"}

data: {"time":"2026-09-19T16:15:53.148Z","priority":"6","pid":"2830187","message":" 16:15:52.648999 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.148Z","priority":"6","pid":"2830187","message":" 16:15:52.649052 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.149Z","priority":"6","pid":"2830187","message":" 16:15:52.649067 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.149Z","priority":"6","pid":"2830187","message":" 16:15:52.649118 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:53.149Z","priority":"6","pid":"2830187","message":" 16:15:52.649138 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:53.149Z","priority":"6","pid":"2830187","message":" 16:15:52.649496 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:53.150Z","priority":"6","pid":"2830187","message":" 16:15:52.649514 quits"}

data: {"time":"2026-09-19T16:15:53.150Z","priority":"6","pid":"2830187","message":" 16:15:52.649621 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:53.150Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:53.151Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:53.151Z","priority":"6","pid":"2830187","message":" Testnum 108"}

data: {"time":"2026-09-19T16:15:53.151Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:53.151Z","priority":"6","pid":"2830187","message":"=== Start of file upload108"}

data: {"time":"2026-09-19T16:15:53.151Z","priority":"6","pid":"2830187","message":" Moooooooooooo"}

data: {"time":"2026-09-19T16:15:53.152Z","priority":"6","pid":"2830187","message":"  upload this"}

data: {"time":"2026-09-19T16:15:53.152Z","priority":"6","pid":"2830187","message":"=== End of file upload108"}

data: {"time":"2026-09-19T16:15:53.152Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind108"}

data: {"time":"2026-09-19T16:15:53.152Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:53.153Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:53.153Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:53.153Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.154Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:53.154Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:53.155Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:53.155Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:53.155Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:53.156Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.156Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:53.156Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:53.157Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:53.157Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:53.158Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:53.158Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:53.158Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:53.158Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.159Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:53.159Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:53.159Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.159Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:53.160Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:53.160Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:53.160Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.161Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:53.161Z","priority":"6","pid":"2830187","message":"=== End of file valgrind108"}

data: {"time":"2026-09-19T16:15:53.161Z","priority":"6","pid":"2830187","message":"test 0109 [FTP PASV upload append]"}

data: {"time":"2026-09-19T16:15:53.162Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind109 ../src/curl -q --output log/curl109.out  --include --trace-ascii log/trace109 --trace-time ftp://127.0.0.1:40545/109 -T log/upload109 --append > log/stdout109 2> log/stderr109"}

data: {"time":"2026-09-19T16:15:53.163Z","priority":"6","pid":"2830187","message":" 109: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:53.163Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:53.163Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:53.164Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 109"}

data: {"time":"2026-09-19T16:15:53.164Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:53.165Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind109 ../src/curl -q --output log/curl109.out  --include --trace-ascii log/trace109 --trace-time ftp://127.0.0.1:40545/109 -T log/upload109 --append > log/stdout109 2> log/stderr109"}

data: {"time":"2026-09-19T16:15:53.166Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:53.166Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:53.166Z","priority":"6","pid":"2830187","message":" 16:15:52.895831 ====> Client connect"}

data: {"time":"2026-09-19T16:15:53.167Z","priority":"6","pid":"2830187","message":" 16:15:52.896136 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.168Z","priority":"6","pid":"2830187","message":" 16:15:52.896754 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:53.168Z","priority":"6","pid":"2830187","message":" 16:15:52.896818 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.168Z","priority":"6","pid":"2830187","message":" 16:15:52.897116 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:53.169Z","priority":"6","pid":"2830187","message":" 16:15:52.897165 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.169Z","priority":"6","pid":"2830187","message":" 16:15:52.897536 < \"PWD\""}

data: {"time":"2026-09-19T16:15:53.169Z","priority":"6","pid":"2830187","message":" 16:15:52.897602 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.170Z","priority":"6","pid":"2830187","message":" 16:15:52.897889 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:53.170Z","priority":"6","pid":"2830187","message":" 16:15:52.897933 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:53.170Z","priority":"6","pid":"2830187","message":" 16:15:52.897957 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:53.171Z","priority":"6","pid":"2830187","message":" 16:15:52.901447 DATA sockfilt for passive data channel started (pid 85145)"}

data: {"time":"2026-09-19T16:15:53.171Z","priority":"6","pid":"2830187","message":" 16:15:52.901665 DATA sockfilt for passive data channel listens on port 41683"}

data: {"time":"2026-09-19T16:15:53.172Z","priority":"6","pid":"2830187","message":" 16:15:52.901736 > \"229 Entering Passive Mode (|||41683|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.172Z","priority":"6","pid":"2830187","message":" 16:15:52.901763 Client has been notified that upcoming DATA connection is awaited on port 41683"}

data: {"time":"2026-09-19T16:15:53.173Z","priority":"6","pid":"2830187","message":" 16:15:52.902198 Client connects to port 41683"}

data: {"time":"2026-09-19T16:15:53.174Z","priority":"6","pid":"2830187","message":" 16:15:52.902244 ====> Client established passive DATA connection on port 41683"}

data: {"time":"2026-09-19T16:15:53.174Z","priority":"6","pid":"2830187","message":" 16:15:52.902402 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:53.175Z","priority":"6","pid":"2830187","message":" 16:15:52.902603 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.175Z","priority":"6","pid":"2830187","message":" 16:15:52.902692 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:53.175Z","priority":"6","pid":"2830187","message":" 16:15:52.902742 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.175Z","priority":"6","pid":"2830187","message":" 16:15:52.903028 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:53.176Z","priority":"6","pid":"2830187","message":" 16:15:52.903126 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.176Z","priority":"6","pid":"2830187","message":" 16:15:52.903639 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:53.177Z","priority":"6","pid":"2830187","message":" 16:15:52.903689 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:53.178Z","priority":"6","pid":"2830187","message":" 16:15:52.903732 Fancy that; client wants to DISC, too"}

data: {"time":"2026-09-19T16:15:53.178Z","priority":"6","pid":"2830187","message":" 16:15:52.903892 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:53.178Z","priority":"6","pid":"2830187","message":" 16:15:52.903929 DATA sockfilt for passive data channel quits (pid 85145)"}

data: {"time":"2026-09-19T16:15:53.178Z","priority":"6","pid":"2830187","message":" 16:15:52.904388 DATA sockfilt for passive data channel quit (pid 85145)"}

data: {"time":"2026-09-19T16:15:53.179Z","priority":"6","pid":"2830187","message":" 16:15:52.904428 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:53.179Z","priority":"6","pid":"2830187","message":" 16:15:52.904480 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.180Z","priority":"6","pid":"2830187","message":" 16:15:52.944181 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:53.180Z","priority":"6","pid":"2830187","message":" 16:15:52.944268 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.180Z","priority":"6","pid":"2830187","message":" 16:15:52.945216 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:53.180Z","priority":"6","pid":"2830187","message":" 16:15:52.945410 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:53.180Z","priority":"6","pid":"2830187","message":" 16:15:52.945553 Awaiting input"}

data: {"time":"2026-09-19T16:15:53.180Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:53.181Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:53.181Z","priority":"6","pid":"2830187","message":" 16:15:52.967322 ====> Client connect"}

data: {"time":"2026-09-19T16:15:53.181Z","priority":"6","pid":"2830187","message":" 16:15:52.967954 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.181Z","priority":"6","pid":"2830187","message":" 16:15:52.967985 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.182Z","priority":"6","pid":"2830187","message":" 16:15:52.968044 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:53.182Z","priority":"6","pid":"2830187","message":" 16:15:52.968066 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.183Z","priority":"6","pid":"2830187","message":" 16:15:52.968081 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.183Z","priority":"6","pid":"2830187","message":" 16:15:52.968221 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.183Z","priority":"6","pid":"2830187","message":" 16:15:52.968239 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.184Z","priority":"6","pid":"2830187","message":" 16:15:52.968539 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.184Z","priority":"6","pid":"2830187","message":" 16:15:52.968557 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.184Z","priority":"6","pid":"2830187","message":" 16:15:52.968571 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.184Z","priority":"6","pid":"2830187","message":" 16:15:52.968658 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.185Z","priority":"6","pid":"2830187","message":" 16:15:52.968673 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.185Z","priority":"6","pid":"2830187","message":" 16:15:52.968878 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.185Z","priority":"6","pid":"2830187","message":" 16:15:52.968896 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.186Z","priority":"6","pid":"2830187","message":" 16:15:52.968915 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.186Z","priority":"6","pid":"2830187","message":" 16:15:52.969079 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.186Z","priority":"6","pid":"2830187","message":" 16:15:52.969098 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.186Z","priority":"6","pid":"2830187","message":" 16:15:52.969316 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.187Z","priority":"6","pid":"2830187","message":" 16:15:52.969332 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.187Z","priority":"6","pid":"2830187","message":" 16:15:52.969345 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.187Z","priority":"6","pid":"2830187","message":" 16:15:52.969452 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.188Z","priority":"6","pid":"2830187","message":" 16:15:52.969468 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.188Z","priority":"6","pid":"2830187","message":" 16:15:52.973495 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.188Z","priority":"6","pid":"2830187","message":" 16:15:52.973518 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.188Z","priority":"6","pid":"2830187","message":" 16:15:52.973532 '229 Entering Passive Mode (|||41683|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.188Z","priority":"6","pid":"2830187","message":" 16:15:52.973790 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.189Z","priority":"6","pid":"2830187","message":" 16:15:52.973808 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.189Z","priority":"6","pid":"2830187","message":" 16:15:52.974124 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.189Z","priority":"6","pid":"2830187","message":" 16:15:52.974142 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.189Z","priority":"6","pid":"2830187","message":" 16:15:52.974164 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.190Z","priority":"6","pid":"2830187","message":" 16:15:52.974237 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.190Z","priority":"6","pid":"2830187","message":" 16:15:52.974252 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.190Z","priority":"6","pid":"2830187","message":" 16:15:52.974476 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.190Z","priority":"6","pid":"2830187","message":" 16:15:52.974496 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.440Z","priority":"6","pid":"2830187","message":" 16:15:52.97451CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind110 ../src/curl -q --output log/curl110.out  --include --trace-ascii log/trace110 --trace-time ftp://127.0.0.1:40545/110 -C 20 > log/stdout110 2> log/stderr110"}

data: {"time":"2026-09-19T16:15:53.456Z","priority":"6","pid":"2830187","message":"0 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.457Z","priority":"6","pid":"2830187","message":" 16:15:52.974597 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.458Z","priority":"6","pid":"2830187","message":" 16:15:52.974614 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.458Z","priority":"6","pid":"2830187","message":" 16:15:52.974756 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.458Z","priority":"6","pid":"2830187","message":" 16:15:52.974770 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.459Z","priority":"6","pid":"2830187","message":" 16:15:52.974901 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.459Z","priority":"6","pid":"2830187","message":" 16:15:52.976206 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.459Z","priority":"6","pid":"2830187","message":" 16:15:52.976233 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.460Z","priority":"6","pid":"2830187","message":" 16:15:52.976249 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.461Z","priority":"6","pid":"2830187","message":" 16:15:53.015657 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.461Z","priority":"6","pid":"2830187","message":" 16:15:53.015726 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.461Z","priority":"6","pid":"2830187","message":" 16:15:53.015978 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.461Z","priority":"6","pid":"2830187","message":" 16:15:53.015996 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.462Z","priority":"6","pid":"2830187","message":" 16:15:53.016027 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.462Z","priority":"6","pid":"2830187","message":" 16:15:53.016813 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:53.462Z","priority":"6","pid":"2830187","message":" 16:15:53.016971 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:53.462Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:53.463Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:53.463Z","priority":"6","pid":"2830187","message":" 16:15:52.972491 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:53.463Z","priority":"6","pid":"2830187","message":" 16:15:52.972962 Listening on port 41683"}

data: {"time":"2026-09-19T16:15:53.463Z","priority":"6","pid":"2830187","message":" 16:15:52.973039 Wrote pid 85145 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:53.464Z","priority":"6","pid":"2830187","message":" 16:15:52.973071 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:53.464Z","priority":"6","pid":"2830187","message":" 16:15:52.973231 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:53.464Z","priority":"6","pid":"2830187","message":" 16:15:52.973836 ====> Client connect"}

data: {"time":"2026-09-19T16:15:53.465Z","priority":"6","pid":"2830187","message":" 16:15:52.974859 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.465Z","priority":"6","pid":"2830187","message":" 16:15:52.974882 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.465Z","priority":"6","pid":"2830187","message":" 16:15:52.975018 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.466Z","priority":"6","pid":"2830187","message":" 16:15:52.975239 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:53.466Z","priority":"6","pid":"2830187","message":" 16:15:52.975451 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:53.467Z","priority":"6","pid":"2830187","message":" 16:15:52.975470 Crikey! Client also wants to disconnect"}

data: {"time":"2026-09-19T16:15:53.467Z","priority":"6","pid":"2830187","message":" 16:15:52.975485 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:53.467Z","priority":"6","pid":"2830187","message":" 16:15:52.975659 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:53.467Z","priority":"6","pid":"2830187","message":" 16:15:52.975679 quits"}

data: {"time":"2026-09-19T16:15:53.468Z","priority":"6","pid":"2830187","message":" 16:15:52.975784 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:53.468Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:53.468Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:53.469Z","priority":"6","pid":"2830187","message":" Testnum 109"}

data: {"time":"2026-09-19T16:15:53.469Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:53.469Z","priority":"6","pid":"2830187","message":"=== Start of file upload109"}

data: {"time":"2026-09-19T16:15:53.469Z","priority":"6","pid":"2830187","message":" Moooooooooooo"}

data: {"time":"2026-09-19T16:15:53.469Z","priority":"6","pid":"2830187","message":"  upload this"}

data: {"time":"2026-09-19T16:15:53.470Z","priority":"6","pid":"2830187","message":"=== End of file upload109"}

data: {"time":"2026-09-19T16:15:53.470Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind109"}

data: {"time":"2026-09-19T16:15:53.470Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:53.471Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:53.471Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:53.472Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.472Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:53.472Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:53.472Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:53.472Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:53.473Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:53.473Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.473Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:53.474Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:53.474Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:53.474Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:53.475Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:53.475Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:53.476Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:53.476Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.476Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:53.477Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:53.477Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.478Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:53.478Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:53.478Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:53.478Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.479Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:53.479Z","priority":"6","pid":"2830187","message":"=== End of file valgrind109"}

data: {"time":"2026-09-19T16:15:53.479Z","priority":"6","pid":"2830187","message":"test 0110 [FTP download resume with set limit]"}

data: {"time":"2026-09-19T16:15:53.481Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind110 ../src/curl -q --output log/curl110.out  --include --trace-ascii log/trace110 --trace-time ftp://127.0.0.1:40545/110 -C 20 > log/stdout110 2> log/stderr110"}

data: {"time":"2026-09-19T16:15:53.481Z","priority":"6","pid":"2830187","message":" 110: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:53.482Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:53.482Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:53.482Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 110"}

data: {"time":"2026-09-19T16:15:53.483Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:53.484Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind110 ../src/curl -q --output log/curl110.out  --include --trace-ascii log/trace110 --trace-time ftp://127.0.0.1:40545/110 -C 20 > log/stdout110 2> log/stderr110"}

data: {"time":"2026-09-19T16:15:53.484Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:53.485Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:53.485Z","priority":"6","pid":"2830187","message":" 16:15:53.226909 ====> Client connect"}

data: {"time":"2026-09-19T16:15:53.486Z","priority":"6","pid":"2830187","message":" 16:15:53.227555 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.486Z","priority":"6","pid":"2830187","message":" 16:15:53.227767 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:53.487Z","priority":"6","pid":"2830187","message":" 16:15:53.227959 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.487Z","priority":"6","pid":"2830187","message":" 16:15:53.228062 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:53.488Z","priority":"6","pid":"2830187","message":" 16:15:53.228185 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.488Z","priority":"6","pid":"2830187","message":" 16:15:53.228294 < \"PWD\""}

data: {"time":"2026-09-19T16:15:53.488Z","priority":"6","pid":"2830187","message":" 16:15:53.228375 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.488Z","priority":"6","pid":"2830187","message":" 16:15:53.228609 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:53.488Z","priority":"6","pid":"2830187","message":" 16:15:53.228646 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:53.489Z","priority":"6","pid":"2830187","message":" 16:15:53.228660 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:53.489Z","priority":"6","pid":"2830187","message":" 16:15:53.231556 DATA sockfilt for passive data channel started (pid 85214)"}

data: {"time":"2026-09-19T16:15:53.490Z","priority":"6","pid":"2830187","message":" 16:15:53.231765 DATA sockfilt for passive data channel listens on port 37599"}

data: {"time":"2026-09-19T16:15:53.490Z","priority":"6","pid":"2830187","message":" 16:15:53.231834 > \"229 Entering Passive Mode (|||37599|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.491Z","priority":"6","pid":"2830187","message":" 16:15:53.231858 Client has been notified that upcoming DATA connection is awaited on port 37599"}

data: {"time":"2026-09-19T16:15:53.491Z","priority":"6","pid":"2830187","message":" 16:15:53.232271 Client connects to port 37599"}

data: {"time":"2026-09-19T16:15:53.492Z","priority":"6","pid":"2830187","message":" 16:15:53.232322 ====> Client established passive DATA connection on port 37599"}

data: {"time":"2026-09-19T16:15:53.492Z","priority":"6","pid":"2830187","message":" 16:15:53.232549 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:53.492Z","priority":"6","pid":"2830187","message":" 16:15:53.232597 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.493Z","priority":"6","pid":"2830187","message":" 16:15:53.232849 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:53.493Z","priority":"6","pid":"2830187","message":" 16:15:53.232907 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.493Z","priority":"6","pid":"2830187","message":" 16:15:53.233162 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:53.494Z","priority":"6","pid":"2830187","message":" 16:15:53.233217 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.494Z","priority":"6","pid":"2830187","message":" 16:15:53.233377 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:53.495Z","priority":"6","pid":"2830187","message":" 16:15:53.233402 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:53.495Z","priority":"6","pid":"2830187","message":" 16:15:53.233833 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:53.495Z","priority":"6","pid":"2830187","message":" 16:15:53.233875 DATA sockfilt for passive data channel quits (pid 85214)"}

data: {"time":"2026-09-19T16:15:53.496Z","priority":"6","pid":"2830187","message":" 16:15:53.234362 DATA sockfilt for passive data channel quit (pid 85214)"}

data: {"time":"2026-09-19T16:15:53.496Z","priority":"6","pid":"2830187","message":" 16:15:53.234425 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:53.497Z","priority":"6","pid":"2830187","message":" 16:15:53.234478 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.497Z","priority":"6","pid":"2830187","message":" 16:15:53.275073 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:53.498Z","priority":"6","pid":"2830187","message":" 16:15:53.275158 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.498Z","priority":"6","pid":"2830187","message":" 16:15:53.275415 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:53.499Z","priority":"6","pid":"2830187","message":" 16:15:53.275467 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:53.499Z","priority":"6","pid":"2830187","message":" 16:15:53.275603 Awaiting input"}

data: {"time":"2026-09-19T16:15:53.499Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:53.500Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:53.500Z","priority":"6","pid":"2830187","message":" 16:15:53.298408 ====> Client connect"}

data: {"time":"2026-09-19T16:15:53.500Z","priority":"6","pid":"2830187","message":" 16:15:53.298843 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.501Z","priority":"6","pid":"2830187","message":" 16:15:53.298868 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.501Z","priority":"6","pid":"2830187","message":" 16:15:53.298971 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:53.502Z","priority":"6","pid":"2830187","message":" 16:15:53.299027 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.502Z","priority":"6","pid":"2830187","message":" 16:15:53.299041 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.503Z","priority":"6","pid":"2830187","message":" 16:15:53.299149 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.503Z","priority":"6","pid":"2830187","message":" 16:15:53.299163 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.503Z","priority":"6","pid":"2830187","message":" 16:15:53.299474 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.504Z","priority":"6","pid":"2830187","message":" 16:15:53.299491 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.504Z","priority":"6","pid":"2830187","message":" 16:15:53.299509 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.504Z","priority":"6","pid":"2830187","message":" 16:15:53.299584 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.505Z","priority":"6","pid":"2830187","message":" 16:15:53.299595 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.505Z","priority":"6","pid":"2830187","message":" 16:15:53.299749 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.506Z","priority":"6","pid":"2830187","message":" 16:15:53.299762 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.506Z","priority":"6","pid":"2830187","message":" 16:15:53.299777 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.506Z","priority":"6","pid":"2830187","message":" 16:15:53.299884 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.506Z","priority":"6","pid":"2830187","message":" 16:15:53.299896 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.506Z","priority":"6","pid":"2830187","message":" 16:15:53.300059 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.506Z","priority":"6","pid":"2830187","message":" 16:15:53.300071 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.507Z","priority":"6","pid":"2830187","message":" 16:15:53.300080 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.507Z","priority":"6","pid":"2830187","message":" 16:15:53.300180 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.508Z","priority":"6","pid":"2830187","message":" 16:15:53.300193 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.508Z","priority":"6","pid":"2830187","message":" 16:15:53.303560 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.508Z","priority":"6","pid":"2830187","message":" 16:15:53.303583 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.508Z","priority":"6","pid":"2830187","message":" 16:15:53.303597 '229 Entering Passive Mode (|||37599|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.509Z","priority":"6","pid":"2830187","message":" 16:15:53.304028 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.509Z","priority":"6","pid":"2830187","message":" 16:15:53.304047 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.509Z","priority":"6","pid":"2830187","message":" 16:15:53.304288 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.509Z","priority":"6","pid":"2830187","message":" 16:15:53.304305 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.510Z","priority":"6","pid":"2830187","message":" 16:15:53.304319 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.510Z","priority":"6","pid":"2830187","message":" 16:15:53.304406 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.510Z","priority":"6","pid":"2830187","message":" 16:15:53.304422 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.510Z","priority":"6","pid":"2830187","message":" 16:15:53.304596 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.511Z","priority":"6","pid":"2830187","message":" 16:15:53.304612 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.511Z","priority":"6","pid":"2830187","message":" 16:15:53.304638 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.511Z","priority":"6","pid":"2830187","message":" 16:15:53.304718 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.512Z","priority":"6","pid":"2830187","message":" 16:15:53.304733 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.512Z","priority":"6","pid":"2830187","message":" 16:15:53.305095 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.512Z","priority":"6","pid":"2830187","message":" 16:15:53.305113 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.513Z","priority":"6","pid":"2830187","message":" 16:15:53.305127 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.513Z","priority":"6","pid":"2830187","message":" 16:15:53.306182 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.786Z","priority":"6","pid":"2830187","message":" 16:15:53.306205 > 28 bytes data, server => CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind111 ../src/curl -q --output log/curl111.out  --include --trace-ascii log/trace111 --trace-time ftp://127.0.0.1:40545/111 -C 2000 > log/stdout111 2> log/stderr111"}

data: {"time":"2026-09-19T16:15:53.803Z","priority":"6","pid":"2830187","message":"client"}

data: {"time":"2026-09-19T16:15:53.804Z","priority":"6","pid":"2830187","message":" 16:15:53.306218 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.804Z","priority":"6","pid":"2830187","message":" 16:15:53.346510 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.804Z","priority":"6","pid":"2830187","message":" 16:15:53.346604 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.805Z","priority":"6","pid":"2830187","message":" 16:15:53.346851 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.805Z","priority":"6","pid":"2830187","message":" 16:15:53.346867 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.806Z","priority":"6","pid":"2830187","message":" 16:15:53.346879 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.806Z","priority":"6","pid":"2830187","message":" 16:15:53.347036 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:53.806Z","priority":"6","pid":"2830187","message":" 16:15:53.347955 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:53.806Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:53.807Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:53.807Z","priority":"6","pid":"2830187","message":" 16:15:53.302910 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:53.807Z","priority":"6","pid":"2830187","message":" 16:15:53.303076 Listening on port 37599"}

data: {"time":"2026-09-19T16:15:53.807Z","priority":"6","pid":"2830187","message":" 16:15:53.303130 Wrote pid 85214 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:53.808Z","priority":"6","pid":"2830187","message":" 16:15:53.303158 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:53.809Z","priority":"6","pid":"2830187","message":" 16:15:53.303295 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:53.809Z","priority":"6","pid":"2830187","message":" 16:15:53.303884 ====> Client connect"}

data: {"time":"2026-09-19T16:15:53.809Z","priority":"6","pid":"2830187","message":" 16:15:53.305202 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.810Z","priority":"6","pid":"2830187","message":" 16:15:53.305232 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.810Z","priority":"6","pid":"2830187","message":" 16:15:53.305245 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.811Z","priority":"6","pid":"2830187","message":" 16:15:53.305284 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:53.811Z","priority":"6","pid":"2830187","message":" 16:15:53.305300 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:53.811Z","priority":"6","pid":"2830187","message":" 16:15:53.305564 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:53.812Z","priority":"6","pid":"2830187","message":" 16:15:53.305581 quits"}

data: {"time":"2026-09-19T16:15:53.812Z","priority":"6","pid":"2830187","message":" 16:15:53.305695 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:53.812Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:53.812Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:53.813Z","priority":"6","pid":"2830187","message":" REPLY EPSV 500 no such command"}

data: {"time":"2026-09-19T16:15:53.814Z","priority":"6","pid":"2830187","message":" Testnum 110"}

data: {"time":"2026-09-19T16:15:53.814Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:53.814Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind110"}

data: {"time":"2026-09-19T16:15:53.814Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:53.814Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:53.815Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:53.815Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.815Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:53.815Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:53.816Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:53.816Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:53.817Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:53.817Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.817Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:53.818Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:53.819Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:53.819Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:53.819Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:53.819Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:53.820Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:53.820Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.820Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:53.821Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:53.821Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.822Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:53.822Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:53.822Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:53.822Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:53.823Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:53.823Z","priority":"6","pid":"2830187","message":"=== End of file valgrind110"}

data: {"time":"2026-09-19T16:15:53.823Z","priority":"6","pid":"2830187","message":"test 0111 [FTP download resume beyond file size]"}

data: {"time":"2026-09-19T16:15:53.825Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind111 ../src/curl -q --output log/curl111.out  --include --trace-ascii log/trace111 --trace-time ftp://127.0.0.1:40545/111 -C 2000 > log/stdout111 2> log/stderr111"}

data: {"time":"2026-09-19T16:15:53.825Z","priority":"6","pid":"2830187","message":" 111: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:53.825Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:53.826Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:53.826Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 111"}

data: {"time":"2026-09-19T16:15:53.827Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:53.828Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind111 ../src/curl -q --output log/curl111.out  --include --trace-ascii log/trace111 --trace-time ftp://127.0.0.1:40545/111 -C 2000 > log/stdout111 2> log/stderr111"}

data: {"time":"2026-09-19T16:15:53.829Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:53.829Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:53.830Z","priority":"6","pid":"2830187","message":" 16:15:53.549827 ====> Client connect"}

data: {"time":"2026-09-19T16:15:53.830Z","priority":"6","pid":"2830187","message":" 16:15:53.550163 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.831Z","priority":"6","pid":"2830187","message":" 16:15:53.550753 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:53.831Z","priority":"6","pid":"2830187","message":" 16:15:53.550976 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.831Z","priority":"6","pid":"2830187","message":" 16:15:53.551089 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:53.832Z","priority":"6","pid":"2830187","message":" 16:15:53.551300 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.832Z","priority":"6","pid":"2830187","message":" 16:15:53.551453 < \"PWD\""}

data: {"time":"2026-09-19T16:15:53.833Z","priority":"6","pid":"2830187","message":" 16:15:53.551503 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.833Z","priority":"6","pid":"2830187","message":" 16:15:53.551785 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:53.833Z","priority":"6","pid":"2830187","message":" 16:15:53.551831 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:53.834Z","priority":"6","pid":"2830187","message":" 16:15:53.551850 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:53.834Z","priority":"6","pid":"2830187","message":" 16:15:53.555052 DATA sockfilt for passive data channel started (pid 85280)"}

data: {"time":"2026-09-19T16:15:53.834Z","priority":"6","pid":"2830187","message":" 16:15:53.555248 DATA sockfilt for passive data channel listens on port 43513"}

data: {"time":"2026-09-19T16:15:53.835Z","priority":"6","pid":"2830187","message":" 16:15:53.555329 > \"229 Entering Passive Mode (|||43513|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.835Z","priority":"6","pid":"2830187","message":" 16:15:53.555510 Client has been notified that upcoming DATA connection is awaited on port 43513"}

data: {"time":"2026-09-19T16:15:53.836Z","priority":"6","pid":"2830187","message":" 16:15:53.555833 Client connects to port 43513"}

data: {"time":"2026-09-19T16:15:53.836Z","priority":"6","pid":"2830187","message":" 16:15:53.555882 ====> Client established passive DATA connection on port 43513"}

data: {"time":"2026-09-19T16:15:53.837Z","priority":"6","pid":"2830187","message":" 16:15:53.556167 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:53.837Z","priority":"6","pid":"2830187","message":" 16:15:53.556217 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.837Z","priority":"6","pid":"2830187","message":" 16:15:53.556473 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:53.838Z","priority":"6","pid":"2830187","message":" 16:15:53.556540 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.838Z","priority":"6","pid":"2830187","message":" 16:15:53.556784 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:53.838Z","priority":"6","pid":"2830187","message":" 16:15:53.556836 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.839Z","priority":"6","pid":"2830187","message":" 16:15:53.557177 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:53.839Z","priority":"6","pid":"2830187","message":" 16:15:53.557218 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:53.839Z","priority":"6","pid":"2830187","message":" 16:15:53.557459 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:53.840Z","priority":"6","pid":"2830187","message":" 16:15:53.557493 DATA sockfilt for passive data channel quits (pid 85280)"}

data: {"time":"2026-09-19T16:15:53.840Z","priority":"6","pid":"2830187","message":" 16:15:53.557834 DATA sockfilt for passive data channel quit (pid 85280)"}

data: {"time":"2026-09-19T16:15:53.841Z","priority":"6","pid":"2830187","message":" 16:15:53.557868 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:53.841Z","priority":"6","pid":"2830187","message":" 16:15:53.557911 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.842Z","priority":"6","pid":"2830187","message":" 16:15:53.598071 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:53.842Z","priority":"6","pid":"2830187","message":" 16:15:53.598198 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:53.842Z","priority":"6","pid":"2830187","message":" 16:15:53.599285 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:53.842Z","priority":"6","pid":"2830187","message":" 16:15:53.599556 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:53.843Z","priority":"6","pid":"2830187","message":" 16:15:53.599814 Awaiting input"}

data: {"time":"2026-09-19T16:15:53.843Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:53.843Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:53.844Z","priority":"6","pid":"2830187","message":" 16:15:53.621292 ====> Client connect"}

data: {"time":"2026-09-19T16:15:53.844Z","priority":"6","pid":"2830187","message":" 16:15:53.621937 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.844Z","priority":"6","pid":"2830187","message":" 16:15:53.621968 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.845Z","priority":"6","pid":"2830187","message":" 16:15:53.622023 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:53.845Z","priority":"6","pid":"2830187","message":" 16:15:53.622038 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.845Z","priority":"6","pid":"2830187","message":" 16:15:53.622049 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.846Z","priority":"6","pid":"2830187","message":" 16:15:53.622174 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.846Z","priority":"6","pid":"2830187","message":" 16:15:53.622189 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.846Z","priority":"6","pid":"2830187","message":" 16:15:53.622453 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.847Z","priority":"6","pid":"2830187","message":" 16:15:53.622471 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.847Z","priority":"6","pid":"2830187","message":" 16:15:53.622495 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.848Z","priority":"6","pid":"2830187","message":" 16:15:53.622578 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.848Z","priority":"6","pid":"2830187","message":" 16:15:53.622593 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.848Z","priority":"6","pid":"2830187","message":" 16:15:53.622767 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.849Z","priority":"6","pid":"2830187","message":" 16:15:53.622783 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.849Z","priority":"6","pid":"2830187","message":" 16:15:53.622810 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.850Z","priority":"6","pid":"2830187","message":" 16:15:53.622892 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.850Z","priority":"6","pid":"2830187","message":" 16:15:53.622908 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.850Z","priority":"6","pid":"2830187","message":" 16:15:53.623175 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.851Z","priority":"6","pid":"2830187","message":" 16:15:53.623192 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.851Z","priority":"6","pid":"2830187","message":" 16:15:53.623206 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.852Z","priority":"6","pid":"2830187","message":" 16:15:53.623300 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.852Z","priority":"6","pid":"2830187","message":" 16:15:53.623331 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.852Z","priority":"6","pid":"2830187","message":" 16:15:53.627014 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.852Z","priority":"6","pid":"2830187","message":" 16:15:53.627047 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.853Z","priority":"6","pid":"2830187","message":" 16:15:53.627062 '229 Entering Passive Mode (|||43513|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.853Z","priority":"6","pid":"2830187","message":" 16:15:53.627674 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.854Z","priority":"6","pid":"2830187","message":" 16:15:53.627694 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.854Z","priority":"6","pid":"2830187","message":" 16:15:53.627889 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.854Z","priority":"6","pid":"2830187","message":" 16:15:53.627903 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.855Z","priority":"6","pid":"2830187","message":" 16:15:53.627916 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.855Z","priority":"6","pid":"2830187","message":" 16:15:53.628011 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.856Z","priority":"6","pid":"2830187","message":" 16:15:53.628027 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.856Z","priority":"6","pid":"2830187","message":" 16:15:53.628223 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.856Z","priority":"6","pid":"2830187","message":" 16:15:53.628239 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.856Z","priority":"6","pid":"2830187","message":" 16:15:53.628250 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.856Z","priority":"6","pid":"2830187","message":" 16:15:53.628326 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.857Z","priority":"6","pid":"2830187","message":" 16:15:53.628340 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.857Z","priority":"6","pid":"2830187","message":" 16:15:53.628562 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.857Z","priority":"6","pid":"2830187","message":" 16:15:53.628577 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.858Z","priority":"6","pid":"2830187","message":" 16:15:53.628589 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.858Z","priority":"6","pid":"2830187","message":" 16:15:53.629589 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.858Z","priority":"6","pid":"2830187","message":" 16:15:53.629613 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.859Z","priority":"6","pid":"2830187","message":" 16:15:53.629627 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.859Z","priority":"6","pid":"2830187","message":" 16:15:53.669496 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:53.859Z","priority":"6","pid":"2830187","message":" 16:15:53.669570 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.860Z","priority":"6","pid":"2830187","message":" 16:15:53.669914 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:53.860Z","priority":"6","pid":"2830187","message":" 16:15:53.669951 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:53.860Z","priority":"6","pid":"2830187","message":" 16:15:53.669966 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:53.861Z","priority":"6","pid":"2830187","message":" 16:15:53.670832 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:53.861Z","priority":"6","pid":"2830187","message":" 16:15:53.671057 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:53.861Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:53.862Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:53.862Z","priority":"6","pid":"2830187","message":" 16:15:53.626427 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:54.153Z","priority":"6","pid":"2830187","message":" 16:15:53.62657CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind112 ../src/curl -q --output log/curl112.out  --include --trace-ascii log/trace112 --trace-time ftp://127.0.0.1:40545/112 -T log/upload112 -C 41 > log/stdout112 2> log/stderr112"}

data: {"time":"2026-09-19T16:15:54.157Z","priority":"6","pid":"2830187","message":"2 Listening on port 43513"}

data: {"time":"2026-09-19T16:15:54.157Z","priority":"6","pid":"2830187","message":" 16:15:53.626619 Wrote pid 85280 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:54.157Z","priority":"6","pid":"2830187","message":" 16:15:53.626647 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:54.157Z","priority":"6","pid":"2830187","message":" 16:15:53.626776 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:54.158Z","priority":"6","pid":"2830187","message":" 16:15:53.627427 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.158Z","priority":"6","pid":"2830187","message":" 16:15:53.628521 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.158Z","priority":"6","pid":"2830187","message":" 16:15:53.628544 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.159Z","priority":"6","pid":"2830187","message":" 16:15:53.628628 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.159Z","priority":"6","pid":"2830187","message":" 16:15:53.629024 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:54.160Z","priority":"6","pid":"2830187","message":" 16:15:53.629046 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:54.160Z","priority":"6","pid":"2830187","message":" 16:15:53.629162 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:54.160Z","priority":"6","pid":"2830187","message":" 16:15:53.629173 quits"}

data: {"time":"2026-09-19T16:15:54.160Z","priority":"6","pid":"2830187","message":" 16:15:53.629262 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:54.161Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:54.161Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:54.161Z","priority":"6","pid":"2830187","message":" Testnum 111"}

data: {"time":"2026-09-19T16:15:54.161Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:54.162Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind111"}

data: {"time":"2026-09-19T16:15:54.162Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:54.163Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:54.163Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:54.163Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.163Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:54.163Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:54.164Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:54.164Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:54.164Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:54.164Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.165Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:54.165Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:54.166Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:54.166Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:54.167Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:54.167Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:54.168Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:54.168Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.168Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:54.169Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:54.169Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.169Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:54.169Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:54.169Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:54.170Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.170Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:54.171Z","priority":"6","pid":"2830187","message":"=== End of file valgrind111"}

data: {"time":"2026-09-19T16:15:54.172Z","priority":"6","pid":"2830187","message":"test 0112 [FTP PASV upload resume]"}

data: {"time":"2026-09-19T16:15:54.172Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind112 ../src/curl -q --output log/curl112.out  --include --trace-ascii log/trace112 --trace-time ftp://127.0.0.1:40545/112 -T log/upload112 -C 41 > log/stdout112 2> log/stderr112"}

data: {"time":"2026-09-19T16:15:54.172Z","priority":"6","pid":"2830187","message":" 112: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:54.173Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:54.173Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:54.174Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 112"}

data: {"time":"2026-09-19T16:15:54.174Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:54.175Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind112 ../src/curl -q --output log/curl112.out  --include --trace-ascii log/trace112 --trace-time ftp://127.0.0.1:40545/112 -T log/upload112 -C 41 > log/stdout112 2> log/stderr112"}

data: {"time":"2026-09-19T16:15:54.176Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:54.176Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:54.176Z","priority":"6","pid":"2830187","message":" 16:15:53.899960 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.177Z","priority":"6","pid":"2830187","message":" 16:15:53.900274 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.178Z","priority":"6","pid":"2830187","message":" 16:15:53.900894 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:54.178Z","priority":"6","pid":"2830187","message":" 16:15:53.901083 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.179Z","priority":"6","pid":"2830187","message":" 16:15:53.901176 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:54.179Z","priority":"6","pid":"2830187","message":" 16:15:53.901393 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.179Z","priority":"6","pid":"2830187","message":" 16:15:53.901494 < \"PWD\""}

data: {"time":"2026-09-19T16:15:54.181Z","priority":"6","pid":"2830187","message":" 16:15:53.901538 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.181Z","priority":"6","pid":"2830187","message":" 16:15:53.901796 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:54.181Z","priority":"6","pid":"2830187","message":" 16:15:53.901835 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:54.181Z","priority":"6","pid":"2830187","message":" 16:15:53.901850 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:54.182Z","priority":"6","pid":"2830187","message":" 16:15:53.904947 DATA sockfilt for passive data channel started (pid 85346)"}

data: {"time":"2026-09-19T16:15:54.183Z","priority":"6","pid":"2830187","message":" 16:15:53.905127 DATA sockfilt for passive data channel listens on port 44837"}

data: {"time":"2026-09-19T16:15:54.183Z","priority":"6","pid":"2830187","message":" 16:15:53.905191 > \"229 Entering Passive Mode (|||44837|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.184Z","priority":"6","pid":"2830187","message":" 16:15:53.905223 Client has been notified that upcoming DATA connection is awaited on port 44837"}

data: {"time":"2026-09-19T16:15:54.184Z","priority":"6","pid":"2830187","message":" 16:15:53.905790 Client connects to port 44837"}

data: {"time":"2026-09-19T16:15:54.184Z","priority":"6","pid":"2830187","message":" 16:15:53.905845 ====> Client established passive DATA connection on port 44837"}

data: {"time":"2026-09-19T16:15:54.185Z","priority":"6","pid":"2830187","message":" 16:15:53.906022 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:54.185Z","priority":"6","pid":"2830187","message":" 16:15:53.906250 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.186Z","priority":"6","pid":"2830187","message":" 16:15:53.906461 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:54.186Z","priority":"6","pid":"2830187","message":" 16:15:53.906569 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.187Z","priority":"6","pid":"2830187","message":" 16:15:53.906813 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:54.187Z","priority":"6","pid":"2830187","message":" 16:15:53.906984 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.187Z","priority":"6","pid":"2830187","message":" 16:15:53.907371 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:54.188Z","priority":"6","pid":"2830187","message":" 16:15:53.907405 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:54.188Z","priority":"6","pid":"2830187","message":" 16:15:53.907613 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:54.188Z","priority":"6","pid":"2830187","message":" 16:15:53.907646 DATA sockfilt for passive data channel quits (pid 85346)"}

data: {"time":"2026-09-19T16:15:54.189Z","priority":"6","pid":"2830187","message":" 16:15:53.908111 DATA sockfilt for passive data channel quit (pid 85346)"}

data: {"time":"2026-09-19T16:15:54.189Z","priority":"6","pid":"2830187","message":" 16:15:53.908152 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:54.190Z","priority":"6","pid":"2830187","message":" 16:15:53.908219 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.190Z","priority":"6","pid":"2830187","message":" 16:15:53.948368 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:54.190Z","priority":"6","pid":"2830187","message":" 16:15:53.948493 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.191Z","priority":"6","pid":"2830187","message":" 16:15:53.949511 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:54.191Z","priority":"6","pid":"2830187","message":" 16:15:53.949716 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:54.191Z","priority":"6","pid":"2830187","message":" 16:15:53.949963 Awaiting input"}

data: {"time":"2026-09-19T16:15:54.192Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:54.192Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:54.192Z","priority":"6","pid":"2830187","message":" 16:15:53.971426 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.192Z","priority":"6","pid":"2830187","message":" 16:15:53.972081 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.193Z","priority":"6","pid":"2830187","message":" 16:15:53.972154 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.193Z","priority":"6","pid":"2830187","message":" 16:15:53.972172 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:54.194Z","priority":"6","pid":"2830187","message":" 16:15:53.972182 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.194Z","priority":"6","pid":"2830187","message":" 16:15:53.972189 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.194Z","priority":"6","pid":"2830187","message":" 16:15:53.972311 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.194Z","priority":"6","pid":"2830187","message":" 16:15:53.972324 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.195Z","priority":"6","pid":"2830187","message":" 16:15:53.972573 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.195Z","priority":"6","pid":"2830187","message":" 16:15:53.972589 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.196Z","priority":"6","pid":"2830187","message":" 16:15:53.972606 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.196Z","priority":"6","pid":"2830187","message":" 16:15:53.972675 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.196Z","priority":"6","pid":"2830187","message":" 16:15:53.972686 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.196Z","priority":"6","pid":"2830187","message":" 16:15:53.972830 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.197Z","priority":"6","pid":"2830187","message":" 16:15:53.972841 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.197Z","priority":"6","pid":"2830187","message":" 16:15:53.972857 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.197Z","priority":"6","pid":"2830187","message":" 16:15:53.972911 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.198Z","priority":"6","pid":"2830187","message":" 16:15:53.972921 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.198Z","priority":"6","pid":"2830187","message":" 16:15:53.973194 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.198Z","priority":"6","pid":"2830187","message":" 16:15:53.973212 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.199Z","priority":"6","pid":"2830187","message":" 16:15:53.973224 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.199Z","priority":"6","pid":"2830187","message":" 16:15:53.973311 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.199Z","priority":"6","pid":"2830187","message":" 16:15:53.973328 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.199Z","priority":"6","pid":"2830187","message":" 16:15:53.976918 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.200Z","priority":"6","pid":"2830187","message":" 16:15:53.977003 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.200Z","priority":"6","pid":"2830187","message":" 16:15:53.977028 '229 Entering Passive Mode (|||44837|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.201Z","priority":"6","pid":"2830187","message":" 16:15:53.977307 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.201Z","priority":"6","pid":"2830187","message":" 16:15:53.977335 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.201Z","priority":"6","pid":"2830187","message":" 16:15:53.977708 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.201Z","priority":"6","pid":"2830187","message":" 16:15:53.977728 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.202Z","priority":"6","pid":"2830187","message":" 16:15:53.977753 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.202Z","priority":"6","pid":"2830187","message":" 16:15:53.977942 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.202Z","priority":"6","pid":"2830187","message":" 16:15:53.977982 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.203Z","priority":"6","pid":"2830187","message":" 16:15:53.978145 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.203Z","priority":"6","pid":"2830187","message":" 16:15:53.978163 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.203Z","priority":"6","pid":"2830187","message":" 16:15:53.978228 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.204Z","priority":"6","pid":"2830187","message":" 16:15:53.978305 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.204Z","priority":"6","pid":"2830187","message":" 16:15:53.978320 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.205Z","priority":"6","pid":"2830187","message":" 16:15:53.978509 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.205Z","priority":"6","pid":"2830187","message":" 16:15:53.978529 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.205Z","priority":"6","pid":"2830187","message":" 16:15:53.978553 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.206Z","priority":"6","pid":"2830187","message":" 16:15:53.979902 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.206Z","priority":"6","pid":"2830187","message":" 16:15:53.979922 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.206Z","priority":"6","pid":"2830187","message":" 16:15:53.979938 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.206Z","priority":"6","pid":"2830187","message":" 16:15:54.019698 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.207Z","priority":"6","pid":"2830187","message":" 16:15:54.019790 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.207Z","priority":"6","pid":"2830187","message":" 16:15:54.020183 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.207Z","priority":"6","pid":"2830187","message":" 16:15:54.020213 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.208Z","priority":"6","pid":"2830187","message":" 16:15:54.020227 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.209Z","priority":"6","pid":"2830187","message":" 16:15:54.021044 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:54.209Z","priority":"6","pid":"2830187","message":" 16:15:54.021221 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:54.209Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:54.209Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:54.209Z","priority":"6","pid":"2830187","message":" 16:15:53.976276 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:54.209Z","priority":"6","pid":"2830187","message":" 16:15:53.976447 Listening on port 44837"}

data: {"time":"2026-09-19T16:15:54.209Z","priority":"6","pid":"2830187","message":" 16:15:53.976493 Wrote pid 85346 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:54.209Z","priority":"6","pid":"2830187","message":" 16:15:53.976523 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:54.210Z","priority":"6","pid":"2830187","message":" 16:15:53.976649 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:54.210Z","priority":"6","pid":"2830187","message":" 16:15:53.977373 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.210Z","priority":"6","pid":"2830187","message":" 16:15:53.978676 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.210Z","priority":"6","pid":"2830187","message":" 16:15:53.978702 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.211Z","priority":"6","pid":"2830187","message":" 16:15:53.978794 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.211Z","priority":"6","pid":"2830187","message":" 16:15:53.979159 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:54.211Z","priority":"6","pid":"2830187","message":" 16:15:53.979181 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:54.211Z","priority":"6","pid":"2830187","message":" 16:15:53.979319 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:54.440Z","priority":"6","pid":"2830187","message":" 16:15:5CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind113 ../src/curl -q --output log/curl113.out  --include --trace-ascii log/trace113 --trace-time ftp://127.0.0.1:40545/113 > log/stdout113 2> log/stderr113"}

data: {"time":"2026-09-19T16:15:54.456Z","priority":"6","pid":"2830187","message":"3.979341 quits"}

data: {"time":"2026-09-19T16:15:54.456Z","priority":"6","pid":"2830187","message":" 16:15:53.979462 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:54.456Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:54.456Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:54.456Z","priority":"6","pid":"2830187","message":" Testnum 112"}

data: {"time":"2026-09-19T16:15:54.457Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:54.458Z","priority":"6","pid":"2830187","message":"=== Start of file upload112"}

data: {"time":"2026-09-19T16:15:54.458Z","priority":"6","pid":"2830187","message":" this is the *****crap******** that we are gonna upload"}

data: {"time":"2026-09-19T16:15:54.458Z","priority":"6","pid":"2830187","message":" worx?"}

data: {"time":"2026-09-19T16:15:54.458Z","priority":"6","pid":"2830187","message":"=== End of file upload112"}

data: {"time":"2026-09-19T16:15:54.459Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind112"}

data: {"time":"2026-09-19T16:15:54.459Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:54.460Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:54.460Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:54.460Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.460Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:54.461Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:54.461Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:54.461Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:54.462Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:54.462Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.462Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:54.463Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:54.463Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:54.464Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:54.464Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:54.465Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:54.465Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:54.465Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.466Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:54.466Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:54.466Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.467Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:54.467Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:54.467Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:54.468Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.468Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:54.469Z","priority":"6","pid":"2830187","message":"=== End of file valgrind112"}

data: {"time":"2026-09-19T16:15:54.469Z","priority":"6","pid":"2830187","message":"test 0113 [FTP download, failed login: USER not valid]"}

data: {"time":"2026-09-19T16:15:54.470Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind113 ../src/curl -q --output log/curl113.out  --include --trace-ascii log/trace113 --trace-time ftp://127.0.0.1:40545/113 > log/stdout113 2> log/stderr113"}

data: {"time":"2026-09-19T16:15:54.471Z","priority":"6","pid":"2830187","message":" 113: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:54.471Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:54.471Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:54.472Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 113"}

data: {"time":"2026-09-19T16:15:54.472Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:54.473Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind113 ../src/curl -q --output log/curl113.out  --include --trace-ascii log/trace113 --trace-time ftp://127.0.0.1:40545/113 > log/stdout113 2> log/stderr113"}

data: {"time":"2026-09-19T16:15:54.474Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:54.474Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:54.475Z","priority":"6","pid":"2830187","message":" 16:15:54.247071 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.476Z","priority":"6","pid":"2830187","message":" 16:15:54.248030 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.476Z","priority":"6","pid":"2830187","message":" 16:15:54.248254 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:54.476Z","priority":"6","pid":"2830187","message":" 16:15:54.248479 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.476Z","priority":"6","pid":"2830187","message":" 16:15:54.248740 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:54.477Z","priority":"6","pid":"2830187","message":" 16:15:54.248788 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.477Z","priority":"6","pid":"2830187","message":" 16:15:54.249082 < \"PWD\""}

data: {"time":"2026-09-19T16:15:54.477Z","priority":"6","pid":"2830187","message":" 16:15:54.249186 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.478Z","priority":"6","pid":"2830187","message":" 16:15:54.249473 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:54.478Z","priority":"6","pid":"2830187","message":" 16:15:54.249523 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:54.479Z","priority":"6","pid":"2830187","message":" 16:15:54.249544 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:54.479Z","priority":"6","pid":"2830187","message":" 16:15:54.253205 DATA sockfilt for passive data channel started (pid 85416)"}

data: {"time":"2026-09-19T16:15:54.480Z","priority":"6","pid":"2830187","message":" 16:15:54.253518 DATA sockfilt for passive data channel listens on port 39343"}

data: {"time":"2026-09-19T16:15:54.480Z","priority":"6","pid":"2830187","message":" 16:15:54.253610 > \"229 Entering Passive Mode (|||39343|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.481Z","priority":"6","pid":"2830187","message":" 16:15:54.253635 Client has been notified that upcoming DATA connection is awaited on port 39343"}

data: {"time":"2026-09-19T16:15:54.481Z","priority":"6","pid":"2830187","message":" 16:15:54.254241 Client connects to port 39343"}

data: {"time":"2026-09-19T16:15:54.482Z","priority":"6","pid":"2830187","message":" 16:15:54.254306 ====> Client established passive DATA connection on port 39343"}

data: {"time":"2026-09-19T16:15:54.482Z","priority":"6","pid":"2830187","message":" 16:15:54.254511 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:54.482Z","priority":"6","pid":"2830187","message":" 16:15:54.254811 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.483Z","priority":"6","pid":"2830187","message":" 16:15:54.254924 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:54.483Z","priority":"6","pid":"2830187","message":" 16:15:54.254985 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.483Z","priority":"6","pid":"2830187","message":" 16:15:54.255234 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:54.484Z","priority":"6","pid":"2830187","message":" 16:15:54.255323 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.484Z","priority":"6","pid":"2830187","message":" 16:15:54.255893 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:54.485Z","priority":"6","pid":"2830187","message":" 16:15:54.255922 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:54.485Z","priority":"6","pid":"2830187","message":" 16:15:54.255954 Fancy that; client wants to DISC, too"}

data: {"time":"2026-09-19T16:15:54.486Z","priority":"6","pid":"2830187","message":" 16:15:54.256071 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:54.486Z","priority":"6","pid":"2830187","message":" 16:15:54.256099 DATA sockfilt for passive data channel quits (pid 85416)"}

data: {"time":"2026-09-19T16:15:54.487Z","priority":"6","pid":"2830187","message":" 16:15:54.256521 DATA sockfilt for passive data channel quit (pid 85416)"}

data: {"time":"2026-09-19T16:15:54.488Z","priority":"6","pid":"2830187","message":" 16:15:54.256559 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:54.488Z","priority":"6","pid":"2830187","message":" 16:15:54.256605 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.488Z","priority":"6","pid":"2830187","message":" 16:15:54.296965 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:54.488Z","priority":"6","pid":"2830187","message":" 16:15:54.297044 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.489Z","priority":"6","pid":"2830187","message":" 16:15:54.297470 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:54.489Z","priority":"6","pid":"2830187","message":" 16:15:54.297544 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:54.489Z","priority":"6","pid":"2830187","message":" 16:15:54.297697 Awaiting input"}

data: {"time":"2026-09-19T16:15:54.490Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:54.490Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:54.490Z","priority":"6","pid":"2830187","message":" 16:15:54.318457 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.491Z","priority":"6","pid":"2830187","message":" 16:15:54.319270 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.491Z","priority":"6","pid":"2830187","message":" 16:15:54.319335 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.491Z","priority":"6","pid":"2830187","message":" 16:15:54.319383 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:54.492Z","priority":"6","pid":"2830187","message":" 16:15:54.319399 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.492Z","priority":"6","pid":"2830187","message":" 16:15:54.319411 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.493Z","priority":"6","pid":"2830187","message":" 16:15:54.319566 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.493Z","priority":"6","pid":"2830187","message":" 16:15:54.319587 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.494Z","priority":"6","pid":"2830187","message":" 16:15:54.320000 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.494Z","priority":"6","pid":"2830187","message":" 16:15:54.320026 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.494Z","priority":"6","pid":"2830187","message":" 16:15:54.320040 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.495Z","priority":"6","pid":"2830187","message":" 16:15:54.320196 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.495Z","priority":"6","pid":"2830187","message":" 16:15:54.320215 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.496Z","priority":"6","pid":"2830187","message":" 16:15:54.320433 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.496Z","priority":"6","pid":"2830187","message":" 16:15:54.320455 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.496Z","priority":"6","pid":"2830187","message":" 16:15:54.320470 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.496Z","priority":"6","pid":"2830187","message":" 16:15:54.320608 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.497Z","priority":"6","pid":"2830187","message":" 16:15:54.320626 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.498Z","priority":"6","pid":"2830187","message":" 16:15:54.320751 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.498Z","priority":"6","pid":"2830187","message":" 16:15:54.320770 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.498Z","priority":"6","pid":"2830187","message":" 16:15:54.320832 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.498Z","priority":"6","pid":"2830187","message":" 16:15:54.320962 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.498Z","priority":"6","pid":"2830187","message":" 16:15:54.320981 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.499Z","priority":"6","pid":"2830187","message":" 16:15:54.325295 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.499Z","priority":"6","pid":"2830187","message":" 16:15:54.325327 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.499Z","priority":"6","pid":"2830187","message":" 16:15:54.325343 '229 Entering Passive Mode (|||39343|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.500Z","priority":"6","pid":"2830187","message":" 16:15:54.325740 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.500Z","priority":"6","pid":"2830187","message":" 16:15:54.325773 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.501Z","priority":"6","pid":"2830187","message":" 16:15:54.326188 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.501Z","priority":"6","pid":"2830187","message":" 16:15:54.326214 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.501Z","priority":"6","pid":"2830187","message":" 16:15:54.326242 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.501Z","priority":"6","pid":"2830187","message":" 16:15:54.326358 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.501Z","priority":"6","pid":"2830187","message":" 16:15:54.326380 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.502Z","priority":"6","pid":"2830187","message":" 16:15:54.326647 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.502Z","priority":"6","pid":"2830187","message":" 16:15:54.326664 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.502Z","priority":"6","pid":"2830187","message":" 16:15:54.326675 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.503Z","priority":"6","pid":"2830187","message":" 16:15:54.326741 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.503Z","priority":"6","pid":"2830187","message":" 16:15:54.326755 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.503Z","priority":"6","pid":"2830187","message":" 16:15:54.326895 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.504Z","priority":"6","pid":"2830187","message":" 16:15:54.326910 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.504Z","priority":"6","pid":"2830187","message":" 16:15:54.326972 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.504Z","priority":"6","pid":"2830187","message":" 16:15:54.328251 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.505Z","priority":"6","pid":"2830187","message":" 16:15:54.328268 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.505Z","priority":"6","pid":"2830187","message":" 16:15:54.328282 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.505Z","priority":"6","pid":"2830187","message":" 16:15:54.368413 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.506Z","priority":"6","pid":"2830187","message":" 16:15:54.368471 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.506Z","priority":"6","pid":"2830187","message":" 16:15:54.368692 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.506Z","priority":"6","pid":"2830187","message":" 16:15:54.368713 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.507Z","priority":"6","pid":"2830187","message":" 16:15:54.368727 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.507Z","priority":"6","pid":"2830187","message":" 16:15:54.369008 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:54.508Z","priority":"6","pid":"2830187","message":" 16:15:54.369980 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:54.508Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:54.508Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:54.509Z","priority":"6","pid":"2830187","message":" 16:15:54.324477 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:54.509Z","priority":"6","pid":"2830187","message":" 16:15:54.324648 Listening on port 39343"}

data: {"time":"2026-09-19T16:15:54.509Z","priority":"6","pid":"2830187","message":" 16:15:54.324712 Wrote pid 85416 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:54.510Z","priority":"6","pid":"2830187","message":" 16:15:54.324748 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:54.510Z","priority":"6","pid":"2830187","message":" 16:15:54.324934 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:54.511Z","priority":"6","pid":"2830187","message":" 16:15:54.325807 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.511Z","priority":"6","pid":"2830187","message":" 16:15:54.327112 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.511Z","priority":"6","pid":"2830187","message":" 16:15:54.327138 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.511Z","priority":"6","pid":"2830187","message":" 16:15:54.327159 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.512Z","priority":"6","pid":"2830187","message":" 16:15:54.327279 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:54.512Z","priority":"6","pid":"2830187","message":" 16:15:54.327592 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:54.512Z","priority":"6","pid":"2830187","message":" 16:15:54.327606 Crikey! Client also wants to disconnect"}

data: {"time":"2026-09-19T16:15:54.512Z","priority":"6","pid":"2830187","message":" 16:15:54.327618 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:54.513Z","priority":"6","pid":"2830187","message":" 16:15:54.327754 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:54.513Z","priority":"6","pid":"2830187","message":" 16:15:54.327767 quits"}

data: {"time":"2026-09-19T16:15:54.513Z","priority":"6","pid":"2830187","message":" 16:15:54.327865 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:54.514Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:54.514Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:54.514Z","priority":"6","pid":"2830187","message":" REPLY USER 314 bluah you fewl"}

data: {"time":"2026-09-19T16:15:54.514Z","priority":"6","pid":"2830187","message":" Testnum 113"}

data: {"time":"2026-09-19T16:15:54.515Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:54.515Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind113"}

data: {"time":"2026-09-19T16:15:54.757Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startupCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind114 ../src/curl -q --output log/curl114.out  --include --trace-ascii log/trace114 --trace-time ftp://127.0.0.1:40545/114 > log/stdout114 2> log/stderr114"}

data: {"time":"2026-09-19T16:15:54.772Z","priority":"6","pid":"2830187","message":": a function redirection"}

data: {"time":"2026-09-19T16:15:54.773Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:54.774Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:54.774Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.774Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:54.774Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:54.775Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:54.775Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:54.776Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:54.776Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.776Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:54.777Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:54.778Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:54.778Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:54.778Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:54.779Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:54.780Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:54.780Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.780Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:54.780Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:54.780Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.781Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:54.781Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:54.782Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:54.782Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.782Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:54.783Z","priority":"6","pid":"2830187","message":"=== End of file valgrind113"}

data: {"time":"2026-09-19T16:15:54.783Z","priority":"6","pid":"2830187","message":"test 0114 [FTP download, failed login: PASS not valid]"}

data: {"time":"2026-09-19T16:15:54.784Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind114 ../src/curl -q --output log/curl114.out  --include --trace-ascii log/trace114 --trace-time ftp://127.0.0.1:40545/114 > log/stdout114 2> log/stderr114"}

data: {"time":"2026-09-19T16:15:54.785Z","priority":"6","pid":"2830187","message":" 114: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:54.785Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:54.786Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:54.786Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 114"}

data: {"time":"2026-09-19T16:15:54.786Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:54.788Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind114 ../src/curl -q --output log/curl114.out  --include --trace-ascii log/trace114 --trace-time ftp://127.0.0.1:40545/114 > log/stdout114 2> log/stderr114"}

data: {"time":"2026-09-19T16:15:54.788Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:54.788Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:54.789Z","priority":"6","pid":"2830187","message":" 16:15:54.557153 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.789Z","priority":"6","pid":"2830187","message":" 16:15:54.558042 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.790Z","priority":"6","pid":"2830187","message":" 16:15:54.558268 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:54.790Z","priority":"6","pid":"2830187","message":" 16:15:54.558519 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.791Z","priority":"6","pid":"2830187","message":" 16:15:54.558792 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:54.792Z","priority":"6","pid":"2830187","message":" 16:15:54.558840 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.792Z","priority":"6","pid":"2830187","message":" 16:15:54.559113 < \"PWD\""}

data: {"time":"2026-09-19T16:15:54.792Z","priority":"6","pid":"2830187","message":" 16:15:54.559170 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.792Z","priority":"6","pid":"2830187","message":" 16:15:54.559439 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:54.792Z","priority":"6","pid":"2830187","message":" 16:15:54.559482 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:54.793Z","priority":"6","pid":"2830187","message":" 16:15:54.559501 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:54.793Z","priority":"6","pid":"2830187","message":" 16:15:54.563038 DATA sockfilt for passive data channel started (pid 85481)"}

data: {"time":"2026-09-19T16:15:54.794Z","priority":"6","pid":"2830187","message":" 16:15:54.563251 DATA sockfilt for passive data channel listens on port 37667"}

data: {"time":"2026-09-19T16:15:54.794Z","priority":"6","pid":"2830187","message":" 16:15:54.563439 > \"229 Entering Passive Mode (|||37667|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.795Z","priority":"6","pid":"2830187","message":" 16:15:54.563476 Client has been notified that upcoming DATA connection is awaited on port 37667"}

data: {"time":"2026-09-19T16:15:54.795Z","priority":"6","pid":"2830187","message":" 16:15:54.563854 Client connects to port 37667"}

data: {"time":"2026-09-19T16:15:54.796Z","priority":"6","pid":"2830187","message":" 16:15:54.563911 ====> Client established passive DATA connection on port 37667"}

data: {"time":"2026-09-19T16:15:54.796Z","priority":"6","pid":"2830187","message":" 16:15:54.564216 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:54.796Z","priority":"6","pid":"2830187","message":" 16:15:54.564269 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.797Z","priority":"6","pid":"2830187","message":" 16:15:54.564561 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:54.797Z","priority":"6","pid":"2830187","message":" 16:15:54.564623 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.797Z","priority":"6","pid":"2830187","message":" 16:15:54.564886 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:54.798Z","priority":"6","pid":"2830187","message":" 16:15:54.564946 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.798Z","priority":"6","pid":"2830187","message":" 16:15:54.565250 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:54.799Z","priority":"6","pid":"2830187","message":" 16:15:54.565278 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:54.799Z","priority":"6","pid":"2830187","message":" 16:15:54.565603 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:54.799Z","priority":"6","pid":"2830187","message":" 16:15:54.565651 DATA sockfilt for passive data channel quits (pid 85481)"}

data: {"time":"2026-09-19T16:15:54.800Z","priority":"6","pid":"2830187","message":" 16:15:54.566118 DATA sockfilt for passive data channel quit (pid 85481)"}

data: {"time":"2026-09-19T16:15:54.800Z","priority":"6","pid":"2830187","message":" 16:15:54.566165 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:54.800Z","priority":"6","pid":"2830187","message":" 16:15:54.566214 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.800Z","priority":"6","pid":"2830187","message":" 16:15:54.605978 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:54.801Z","priority":"6","pid":"2830187","message":" 16:15:54.606050 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:54.801Z","priority":"6","pid":"2830187","message":" 16:15:54.606422 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:54.801Z","priority":"6","pid":"2830187","message":" 16:15:54.606532 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:54.801Z","priority":"6","pid":"2830187","message":" 16:15:54.606647 Awaiting input"}

data: {"time":"2026-09-19T16:15:54.802Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:54.802Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:54.802Z","priority":"6","pid":"2830187","message":" 16:15:54.628546 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.803Z","priority":"6","pid":"2830187","message":" 16:15:54.629295 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.804Z","priority":"6","pid":"2830187","message":" 16:15:54.629335 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.804Z","priority":"6","pid":"2830187","message":" 16:15:54.629365 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:54.805Z","priority":"6","pid":"2830187","message":" 16:15:54.629379 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.805Z","priority":"6","pid":"2830187","message":" 16:15:54.629390 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.805Z","priority":"6","pid":"2830187","message":" 16:15:54.629548 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.806Z","priority":"6","pid":"2830187","message":" 16:15:54.629571 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.806Z","priority":"6","pid":"2830187","message":" 16:15:54.629921 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.807Z","priority":"6","pid":"2830187","message":" 16:15:54.630033 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.807Z","priority":"6","pid":"2830187","message":" 16:15:54.630062 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.807Z","priority":"6","pid":"2830187","message":" 16:15:54.630237 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.808Z","priority":"6","pid":"2830187","message":" 16:15:54.630255 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.808Z","priority":"6","pid":"2830187","message":" 16:15:54.630468 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.808Z","priority":"6","pid":"2830187","message":" 16:15:54.630487 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.809Z","priority":"6","pid":"2830187","message":" 16:15:54.630500 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.809Z","priority":"6","pid":"2830187","message":" 16:15:54.630627 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.809Z","priority":"6","pid":"2830187","message":" 16:15:54.630643 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.810Z","priority":"6","pid":"2830187","message":" 16:15:54.630794 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.810Z","priority":"6","pid":"2830187","message":" 16:15:54.630809 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.810Z","priority":"6","pid":"2830187","message":" 16:15:54.630821 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.811Z","priority":"6","pid":"2830187","message":" 16:15:54.630919 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.811Z","priority":"6","pid":"2830187","message":" 16:15:54.630948 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.811Z","priority":"6","pid":"2830187","message":" 16:15:54.634915 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.812Z","priority":"6","pid":"2830187","message":" 16:15:54.634987 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.812Z","priority":"6","pid":"2830187","message":" 16:15:54.635115 '229 Entering Passive Mode (|||37667|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.812Z","priority":"6","pid":"2830187","message":" 16:15:54.635658 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.813Z","priority":"6","pid":"2830187","message":" 16:15:54.635680 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.813Z","priority":"6","pid":"2830187","message":" 16:15:54.635896 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.814Z","priority":"6","pid":"2830187","message":" 16:15:54.635911 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.814Z","priority":"6","pid":"2830187","message":" 16:15:54.635948 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.814Z","priority":"6","pid":"2830187","message":" 16:15:54.636041 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.815Z","priority":"6","pid":"2830187","message":" 16:15:54.636055 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.815Z","priority":"6","pid":"2830187","message":" 16:15:54.636251 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.816Z","priority":"6","pid":"2830187","message":" 16:15:54.636267 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.816Z","priority":"6","pid":"2830187","message":" 16:15:54.636278 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.817Z","priority":"6","pid":"2830187","message":" 16:15:54.636367 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.817Z","priority":"6","pid":"2830187","message":" 16:15:54.636383 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.818Z","priority":"6","pid":"2830187","message":" 16:15:54.636655 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.818Z","priority":"6","pid":"2830187","message":" 16:15:54.636671 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.818Z","priority":"6","pid":"2830187","message":" 16:15:54.636683 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.819Z","priority":"6","pid":"2830187","message":" 16:15:54.637848 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.819Z","priority":"6","pid":"2830187","message":" 16:15:54.637869 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.820Z","priority":"6","pid":"2830187","message":" 16:15:54.637883 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.820Z","priority":"6","pid":"2830187","message":" 16:15:54.677413 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:54.820Z","priority":"6","pid":"2830187","message":" 16:15:54.677473 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.820Z","priority":"6","pid":"2830187","message":" 16:15:54.677672 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.821Z","priority":"6","pid":"2830187","message":" 16:15:54.677686 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.821Z","priority":"6","pid":"2830187","message":" 16:15:54.677695 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.821Z","priority":"6","pid":"2830187","message":" 16:15:54.677971 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:54.822Z","priority":"6","pid":"2830187","message":" 16:15:54.678064 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:54.822Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:54.822Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:54.822Z","priority":"6","pid":"2830187","message":" 16:15:54.634308 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:54.823Z","priority":"6","pid":"2830187","message":" 16:15:54.634477 Listening on port 37667"}

data: {"time":"2026-09-19T16:15:54.823Z","priority":"6","pid":"2830187","message":" 16:15:54.634532 Wrote pid 85481 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:54.824Z","priority":"6","pid":"2830187","message":" 16:15:54.634567 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:54.824Z","priority":"6","pid":"2830187","message":" 16:15:54.634729 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:54.824Z","priority":"6","pid":"2830187","message":" 16:15:54.635398 ====> Client connect"}

data: {"time":"2026-09-19T16:15:54.825Z","priority":"6","pid":"2830187","message":" 16:15:54.636593 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:54.825Z","priority":"6","pid":"2830187","message":" 16:15:54.636634 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:54.825Z","priority":"6","pid":"2830187","message":" 16:15:54.636905 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:54.826Z","priority":"6","pid":"2830187","message":" 16:15:54.636995 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:54.827Z","priority":"6","pid":"2830187","message":" 16:15:54.637012 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:54.827Z","priority":"6","pid":"2830187","message":" 16:15:54.637295 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:54.827Z","priority":"6","pid":"2830187","message":" 16:15:54.637313 quits"}

data: {"time":"2026-09-19T16:15:54.827Z","priority":"6","pid":"2830187","message":" 16:15:54.637439 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:54.828Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:54.828Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:54.828Z","priority":"6","pid":"2830187","message":" REPLY PASS 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:54.829Z","priority":"6","pid":"2830187","message":" Testnum 114"}

data: {"time":"2026-09-19T16:15:54.829Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:54.829Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind114"}

data: {"time":"2026-09-19T16:15:54.829Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:54.830Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:54.830Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:54.830Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:54.831Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:54.831Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:54.832Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:54.832Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:54.832Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:54.833Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.089Z","priority":"6","pid":"2830187","message":" valgrind:  Possible CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind115 ../src/curl -q --output log/curl115.out  --include --trace-ascii log/trace115 --trace-time ftp://127.0.0.1:40545/115 > log/stdout115 2> log/stderr115"}

data: {"time":"2026-09-19T16:15:55.107Z","priority":"6","pid":"2830187","message":"fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:55.108Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:55.108Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:55.110Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:55.111Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:55.111Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:55.111Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:55.112Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.113Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:55.114Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:55.114Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.115Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:55.115Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:55.115Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:55.116Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.116Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:55.116Z","priority":"6","pid":"2830187","message":"=== End of file valgrind114"}

data: {"time":"2026-09-19T16:15:55.117Z","priority":"6","pid":"2830187","message":"test 0115 [FTP download, failed PASV]"}

data: {"time":"2026-09-19T16:15:55.118Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind115 ../src/curl -q --output log/curl115.out  --include --trace-ascii log/trace115 --trace-time ftp://127.0.0.1:40545/115 > log/stdout115 2> log/stderr115"}

data: {"time":"2026-09-19T16:15:55.127Z","priority":"6","pid":"2830187","message":" 115: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:55.127Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:55.128Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:55.128Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 115"}

data: {"time":"2026-09-19T16:15:55.128Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:55.130Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind115 ../src/curl -q --output log/curl115.out  --include --trace-ascii log/trace115 --trace-time ftp://127.0.0.1:40545/115 > log/stdout115 2> log/stderr115"}

data: {"time":"2026-09-19T16:15:55.131Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:55.131Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:55.132Z","priority":"6","pid":"2830187","message":" 16:15:54.869853 ====> Client connect"}

data: {"time":"2026-09-19T16:15:55.133Z","priority":"6","pid":"2830187","message":" 16:15:54.870386 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.134Z","priority":"6","pid":"2830187","message":" 16:15:54.870719 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:55.134Z","priority":"6","pid":"2830187","message":" 16:15:54.870780 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.134Z","priority":"6","pid":"2830187","message":" 16:15:54.871093 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:55.135Z","priority":"6","pid":"2830187","message":" 16:15:54.871136 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.135Z","priority":"6","pid":"2830187","message":" 16:15:54.871456 < \"PWD\""}

data: {"time":"2026-09-19T16:15:55.136Z","priority":"6","pid":"2830187","message":" 16:15:54.871519 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.136Z","priority":"6","pid":"2830187","message":" 16:15:54.871829 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:55.137Z","priority":"6","pid":"2830187","message":" 16:15:54.871868 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:55.137Z","priority":"6","pid":"2830187","message":" 16:15:54.871883 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:55.137Z","priority":"6","pid":"2830187","message":" 16:15:54.874866 DATA sockfilt for passive data channel started (pid 85546)"}

data: {"time":"2026-09-19T16:15:55.138Z","priority":"6","pid":"2830187","message":" 16:15:54.875084 DATA sockfilt for passive data channel listens on port 46699"}

data: {"time":"2026-09-19T16:15:55.139Z","priority":"6","pid":"2830187","message":" 16:15:54.875152 > \"229 Entering Passive Mode (|||46699|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.139Z","priority":"6","pid":"2830187","message":" 16:15:54.875175 Client has been notified that upcoming DATA connection is awaited on port 46699"}

data: {"time":"2026-09-19T16:15:55.139Z","priority":"6","pid":"2830187","message":" 16:15:54.875736 Client connects to port 46699"}

data: {"time":"2026-09-19T16:15:55.140Z","priority":"6","pid":"2830187","message":" 16:15:54.875801 ====> Client established passive DATA connection on port 46699"}

data: {"time":"2026-09-19T16:15:55.140Z","priority":"6","pid":"2830187","message":" 16:15:54.875951 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:55.141Z","priority":"6","pid":"2830187","message":" 16:15:54.876217 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.141Z","priority":"6","pid":"2830187","message":" 16:15:54.876314 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:55.141Z","priority":"6","pid":"2830187","message":" 16:15:54.876379 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.142Z","priority":"6","pid":"2830187","message":" 16:15:54.876598 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:55.142Z","priority":"6","pid":"2830187","message":" 16:15:54.876713 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.143Z","priority":"6","pid":"2830187","message":" 16:15:54.877129 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:55.143Z","priority":"6","pid":"2830187","message":" 16:15:54.877153 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:55.143Z","priority":"6","pid":"2830187","message":" 16:15:54.877180 Fancy that; client wants to DISC, too"}

data: {"time":"2026-09-19T16:15:55.144Z","priority":"6","pid":"2830187","message":" 16:15:54.877375 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:55.144Z","priority":"6","pid":"2830187","message":" 16:15:54.877431 DATA sockfilt for passive data channel quits (pid 85546)"}

data: {"time":"2026-09-19T16:15:55.145Z","priority":"6","pid":"2830187","message":" 16:15:54.877885 DATA sockfilt for passive data channel quit (pid 85546)"}

data: {"time":"2026-09-19T16:15:55.145Z","priority":"6","pid":"2830187","message":" 16:15:54.877926 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:55.146Z","priority":"6","pid":"2830187","message":" 16:15:54.877978 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.146Z","priority":"6","pid":"2830187","message":" 16:15:54.918042 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:55.146Z","priority":"6","pid":"2830187","message":" 16:15:54.918144 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.147Z","priority":"6","pid":"2830187","message":" 16:15:54.918894 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:55.147Z","priority":"6","pid":"2830187","message":" 16:15:54.919024 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:55.148Z","priority":"6","pid":"2830187","message":" 16:15:54.919149 Awaiting input"}

data: {"time":"2026-09-19T16:15:55.148Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:55.148Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:55.148Z","priority":"6","pid":"2830187","message":" 16:15:54.941162 ====> Client connect"}

data: {"time":"2026-09-19T16:15:55.149Z","priority":"6","pid":"2830187","message":" 16:15:54.941731 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.149Z","priority":"6","pid":"2830187","message":" 16:15:54.941768 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.150Z","priority":"6","pid":"2830187","message":" 16:15:54.941805 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:55.151Z","priority":"6","pid":"2830187","message":" 16:15:54.941826 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.151Z","priority":"6","pid":"2830187","message":" 16:15:54.941842 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.151Z","priority":"6","pid":"2830187","message":" 16:15:54.942122 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.152Z","priority":"6","pid":"2830187","message":" 16:15:54.942141 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.152Z","priority":"6","pid":"2830187","message":" 16:15:54.942394 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.153Z","priority":"6","pid":"2830187","message":" 16:15:54.942409 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.153Z","priority":"6","pid":"2830187","message":" 16:15:54.942422 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.154Z","priority":"6","pid":"2830187","message":" 16:15:54.942526 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.154Z","priority":"6","pid":"2830187","message":" 16:15:54.942545 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.154Z","priority":"6","pid":"2830187","message":" 16:15:54.942745 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.154Z","priority":"6","pid":"2830187","message":" 16:15:54.942759 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.155Z","priority":"6","pid":"2830187","message":" 16:15:54.942771 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.155Z","priority":"6","pid":"2830187","message":" 16:15:54.942842 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.156Z","priority":"6","pid":"2830187","message":" 16:15:54.942858 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.156Z","priority":"6","pid":"2830187","message":" 16:15:54.943138 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.156Z","priority":"6","pid":"2830187","message":" 16:15:54.943159 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.157Z","priority":"6","pid":"2830187","message":" 16:15:54.943172 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.158Z","priority":"6","pid":"2830187","message":" 16:15:54.943305 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.158Z","priority":"6","pid":"2830187","message":" 16:15:54.943327 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.159Z","priority":"6","pid":"2830187","message":" 16:15:54.946810 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.160Z","priority":"6","pid":"2830187","message":" 16:15:54.946830 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.160Z","priority":"6","pid":"2830187","message":" 16:15:54.946845 '229 Entering Passive Mode (|||46699|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.160Z","priority":"6","pid":"2830187","message":" 16:15:54.947176 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.160Z","priority":"6","pid":"2830187","message":" 16:15:54.947202 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.160Z","priority":"6","pid":"2830187","message":" 16:15:54.947594 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.161Z","priority":"6","pid":"2830187","message":" 16:15:54.947630 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.161Z","priority":"6","pid":"2830187","message":" 16:15:54.947660 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.162Z","priority":"6","pid":"2830187","message":" 16:15:54.947755 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.163Z","priority":"6","pid":"2830187","message":" 16:15:54.947768 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.163Z","priority":"6","pid":"2830187","message":" 16:15:54.948005 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.163Z","priority":"6","pid":"2830187","message":" 16:15:54.948020 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.164Z","priority":"6","pid":"2830187","message":" 16:15:54.948029 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.164Z","priority":"6","pid":"2830187","message":" 16:15:54.948089 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.165Z","priority":"6","pid":"2830187","message":" 16:15:54.948100 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.165Z","priority":"6","pid":"2830187","message":" 16:15:54.948249 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.165Z","priority":"6","pid":"2830187","message":" 16:15:54.948265 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.166Z","priority":"6","pid":"2830187","message":" 16:15:54.948382 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.166Z","priority":"6","pid":"2830187","message":" 16:15:54.949594 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.167Z","priority":"6","pid":"2830187","message":" 16:15:54.949611 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.169Z","priority":"6","pid":"2830187","message":" 16:15:54.949624 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.169Z","priority":"6","pid":"2830187","message":" 16:15:54.989429 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.169Z","priority":"6","pid":"2830187","message":" 16:15:54.989490 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.169Z","priority":"6","pid":"2830187","message":" 16:15:54.989774 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.169Z","priority":"6","pid":"2830187","message":" 16:15:54.989807 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.169Z","priority":"6","pid":"2830187","message":" 16:15:54.989820 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.170Z","priority":"6","pid":"2830187","message":" 16:15:54.990407 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:55.170Z","priority":"6","pid":"2830187","message":" 16:15:54.990530 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:55.170Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:55.171Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:55.171Z","priority":"6","pid":"2830187","message":" 16:15:54.946133 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:55.171Z","priority":"6","pid":"2830187","message":" 16:15:54.946262 Listening on port 46699"}

data: {"time":"2026-09-19T16:15:55.172Z","priority":"6","pid":"2830187","message":" 16:15:54.946323 Wrote pid 85546 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:55.172Z","priority":"6","pid":"2830187","message":" 16:15:54.946363 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:55.172Z","priority":"6","pid":"2830187","message":" 16:15:54.946547 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:55.172Z","priority":"6","pid":"2830187","message":" 16:15:54.947241 ====> Client connect"}

data: {"time":"2026-09-19T16:15:55.173Z","priority":"6","pid":"2830187","message":" 16:15:54.948470 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.173Z","priority":"6","pid":"2830187","message":" 16:15:54.948493 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.173Z","priority":"6","pid":"2830187","message":" 16:15:54.948502 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.174Z","priority":"6","pid":"2830187","message":" 16:15:54.948609 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:55.174Z","priority":"6","pid":"2830187","message":" 16:15:54.948799 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:55.175Z","priority":"6","pid":"2830187","message":" 16:15:54.948817 Crikey! Client also wants to disconnect"}

data: {"time":"2026-09-19T16:15:55.175Z","priority":"6","pid":"2830187","message":" 16:15:54.948828 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:55.175Z","priority":"6","pid":"2830187","message":" 16:15:54.949057 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:55.175Z","priority":"6","pid":"2830187","message":" 16:15:54.949078 quits"}

data: {"time":"2026-09-19T16:15:55.176Z","priority":"6","pid":"2830187","message":" 16:15:54.949200 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:55.177Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:55.177Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:55.177Z","priority":"6","pid":"2830187","message":" REPLY PASV 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:55.178Z","priority":"6","pid":"2830187","message":" REPLY EPSV 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:55.178Z","priority":"6","pid":"2830187","message":" Testnum 115"}

data: {"time":"2026-09-19T16:15:55.178Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:55.179Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind115"}

data: {"time":"2026-09-19T16:15:55.179Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:55.180Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:55.181Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:55.182Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.183Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:55.183Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:55.184Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:55.185Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:55.185Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:55.185Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.186Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:55.187Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:55.187Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:55.188Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:55.495Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind116 ../src/curl -q --output log/curl116.out  --include --trace-ascii log/trace116 --trace-time ftp://127.0.0.1:40545/116 -P 1.2.3.4 > log/stdout116 2> log/stderr116"}

data: {"time":"2026-09-19T16:15:55.501Z","priority":"6","pid":"2830187","message":"the standard"}

data: {"time":"2026-09-19T16:15:55.502Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:55.503Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:55.503Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.503Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:55.504Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:55.504Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.505Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:55.505Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:55.506Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:55.506Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.506Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:55.507Z","priority":"6","pid":"2830187","message":"=== End of file valgrind115"}

data: {"time":"2026-09-19T16:15:55.507Z","priority":"6","pid":"2830187","message":"test 0116 [FTP download, failed PORT]"}

data: {"time":"2026-09-19T16:15:55.509Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind116 ../src/curl -q --output log/curl116.out  --include --trace-ascii log/trace116 --trace-time ftp://127.0.0.1:40545/116 -P 1.2.3.4 > log/stdout116 2> log/stderr116"}

data: {"time":"2026-09-19T16:15:55.510Z","priority":"6","pid":"2830187","message":" 116: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:55.510Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:55.510Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:55.511Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 116"}

data: {"time":"2026-09-19T16:15:55.511Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:55.513Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind116 ../src/curl -q --output log/curl116.out  --include --trace-ascii log/trace116 --trace-time ftp://127.0.0.1:40545/116 -P 1.2.3.4 > log/stdout116 2> log/stderr116"}

data: {"time":"2026-09-19T16:15:55.513Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:55.513Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:55.514Z","priority":"6","pid":"2830187","message":" 16:15:55.243147 ====> Client connect"}

data: {"time":"2026-09-19T16:15:55.515Z","priority":"6","pid":"2830187","message":" 16:15:55.243805 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.515Z","priority":"6","pid":"2830187","message":" 16:15:55.244192 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:55.515Z","priority":"6","pid":"2830187","message":" 16:15:55.244295 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.516Z","priority":"6","pid":"2830187","message":" 16:15:55.244630 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:55.516Z","priority":"6","pid":"2830187","message":" 16:15:55.244682 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.517Z","priority":"6","pid":"2830187","message":" 16:15:55.244962 < \"PWD\""}

data: {"time":"2026-09-19T16:15:55.517Z","priority":"6","pid":"2830187","message":" 16:15:55.245015 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.517Z","priority":"6","pid":"2830187","message":" 16:15:55.245258 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:55.518Z","priority":"6","pid":"2830187","message":" 16:15:55.245299 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:55.518Z","priority":"6","pid":"2830187","message":" 16:15:55.245319 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:55.519Z","priority":"6","pid":"2830187","message":" 16:15:55.250615 DATA sockfilt for passive data channel started (pid 85611)"}

data: {"time":"2026-09-19T16:15:55.519Z","priority":"6","pid":"2830187","message":" 16:15:55.250839 DATA sockfilt for passive data channel listens on port 43695"}

data: {"time":"2026-09-19T16:15:55.520Z","priority":"6","pid":"2830187","message":" 16:15:55.251068 > \"229 Entering Passive Mode (|||43695|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.521Z","priority":"6","pid":"2830187","message":" 16:15:55.251126 Client has been notified that upcoming DATA connection is awaited on port 43695"}

data: {"time":"2026-09-19T16:15:55.522Z","priority":"6","pid":"2830187","message":" 16:15:55.251476 Client connects to port 43695"}

data: {"time":"2026-09-19T16:15:55.522Z","priority":"6","pid":"2830187","message":" 16:15:55.251528 ====> Client established passive DATA connection on port 43695"}

data: {"time":"2026-09-19T16:15:55.522Z","priority":"6","pid":"2830187","message":" 16:15:55.251744 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:55.522Z","priority":"6","pid":"2830187","message":" 16:15:55.251873 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.522Z","priority":"6","pid":"2830187","message":" 16:15:55.252119 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:55.523Z","priority":"6","pid":"2830187","message":" 16:15:55.252192 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.523Z","priority":"6","pid":"2830187","message":" 16:15:55.252485 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:55.524Z","priority":"6","pid":"2830187","message":" 16:15:55.252548 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.524Z","priority":"6","pid":"2830187","message":" 16:15:55.252712 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:55.525Z","priority":"6","pid":"2830187","message":" 16:15:55.252740 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:55.526Z","priority":"6","pid":"2830187","message":" 16:15:55.253181 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:55.526Z","priority":"6","pid":"2830187","message":" 16:15:55.253235 DATA sockfilt for passive data channel quits (pid 85611)"}

data: {"time":"2026-09-19T16:15:55.526Z","priority":"6","pid":"2830187","message":" 16:15:55.253742 DATA sockfilt for passive data channel quit (pid 85611)"}

data: {"time":"2026-09-19T16:15:55.527Z","priority":"6","pid":"2830187","message":" 16:15:55.253787 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:55.527Z","priority":"6","pid":"2830187","message":" 16:15:55.253841 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.528Z","priority":"6","pid":"2830187","message":" 16:15:55.295931 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:55.528Z","priority":"6","pid":"2830187","message":" 16:15:55.296035 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:55.528Z","priority":"6","pid":"2830187","message":" 16:15:55.297395 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:55.529Z","priority":"6","pid":"2830187","message":" 16:15:55.297617 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:55.529Z","priority":"6","pid":"2830187","message":" 16:15:55.297803 Awaiting input"}

data: {"time":"2026-09-19T16:15:55.529Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:55.530Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:55.530Z","priority":"6","pid":"2830187","message":" 16:15:55.314534 ====> Client connect"}

data: {"time":"2026-09-19T16:15:55.530Z","priority":"6","pid":"2830187","message":" 16:15:55.315145 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.531Z","priority":"6","pid":"2830187","message":" 16:15:55.315178 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.531Z","priority":"6","pid":"2830187","message":" 16:15:55.315205 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:55.532Z","priority":"6","pid":"2830187","message":" 16:15:55.315221 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.533Z","priority":"6","pid":"2830187","message":" 16:15:55.315232 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.533Z","priority":"6","pid":"2830187","message":" 16:15:55.315510 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.534Z","priority":"6","pid":"2830187","message":" 16:15:55.315530 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.534Z","priority":"6","pid":"2830187","message":" 16:15:55.315943 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.534Z","priority":"6","pid":"2830187","message":" 16:15:55.315962 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.535Z","priority":"6","pid":"2830187","message":" 16:15:55.315976 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.535Z","priority":"6","pid":"2830187","message":" 16:15:55.316059 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.536Z","priority":"6","pid":"2830187","message":" 16:15:55.316073 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.536Z","priority":"6","pid":"2830187","message":" 16:15:55.316287 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.537Z","priority":"6","pid":"2830187","message":" 16:15:55.316307 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.537Z","priority":"6","pid":"2830187","message":" 16:15:55.316321 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.538Z","priority":"6","pid":"2830187","message":" 16:15:55.316412 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.538Z","priority":"6","pid":"2830187","message":" 16:15:55.316430 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.538Z","priority":"6","pid":"2830187","message":" 16:15:55.316607 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.539Z","priority":"6","pid":"2830187","message":" 16:15:55.316621 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.539Z","priority":"6","pid":"2830187","message":" 16:15:55.316641 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.540Z","priority":"6","pid":"2830187","message":" 16:15:55.316728 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.540Z","priority":"6","pid":"2830187","message":" 16:15:55.316741 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.540Z","priority":"6","pid":"2830187","message":" 16:15:55.322499 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.541Z","priority":"6","pid":"2830187","message":" 16:15:55.322525 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.541Z","priority":"6","pid":"2830187","message":" 16:15:55.322548 '229 Entering Passive Mode (|||43695|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.542Z","priority":"6","pid":"2830187","message":" 16:15:55.323155 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.542Z","priority":"6","pid":"2830187","message":" 16:15:55.323172 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.542Z","priority":"6","pid":"2830187","message":" 16:15:55.323357 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.543Z","priority":"6","pid":"2830187","message":" 16:15:55.323373 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.543Z","priority":"6","pid":"2830187","message":" 16:15:55.323394 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.544Z","priority":"6","pid":"2830187","message":" 16:15:55.323530 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.544Z","priority":"6","pid":"2830187","message":" 16:15:55.323561 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.544Z","priority":"6","pid":"2830187","message":" 16:15:55.323786 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.545Z","priority":"6","pid":"2830187","message":" 16:15:55.323801 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.546Z","priority":"6","pid":"2830187","message":" 16:15:55.323812 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.546Z","priority":"6","pid":"2830187","message":" 16:15:55.323942 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.546Z","priority":"6","pid":"2830187","message":" 16:15:55.323964 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.546Z","priority":"6","pid":"2830187","message":" 16:15:55.324341 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.547Z","priority":"6","pid":"2830187","message":" 16:15:55.324368 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.547Z","priority":"6","pid":"2830187","message":" 16:15:55.324384 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.548Z","priority":"6","pid":"2830187","message":" 16:15:55.325457 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.548Z","priority":"6","pid":"2830187","message":" 16:15:55.325479 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.548Z","priority":"6","pid":"2830187","message":" 16:15:55.325496 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.549Z","priority":"6","pid":"2830187","message":" 16:15:55.365440 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:55.549Z","priority":"6","pid":"2830187","message":" 16:15:55.367827 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.550Z","priority":"6","pid":"2830187","message":" 16:15:55.367887 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.550Z","priority":"6","pid":"2830187","message":" 16:15:55.367989 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.550Z","priority":"6","pid":"2830187","message":" 16:15:55.368004 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.551Z","priority":"6","pid":"2830187","message":" 16:15:55.368832 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:55.551Z","priority":"6","pid":"2830187","message":" 16:15:55.369056 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:55.552Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:55.552Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:55.552Z","priority":"6","pid":"2830187","message":" 16:15:55.321823 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:55.553Z","priority":"6","pid":"2830187","message":" 16:15:55.322026 Listening on port 43695"}

data: {"time":"2026-09-19T16:15:55.553Z","priority":"6","pid":"2830187","message":" 16:15:55.322073 Wrote pid 85611 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:55.553Z","priority":"6","pid":"2830187","message":" 16:15:55.322104 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:55.554Z","priority":"6","pid":"2830187","message":" 16:15:55.322267 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:55.555Z","priority":"6","pid":"2830187","message":" 16:15:55.322927 ====> Client connect"}

data: {"time":"2026-09-19T16:15:55.555Z","priority":"6","pid":"2830187","message":" 16:15:55.324437 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:55.555Z","priority":"6","pid":"2830187","message":" 16:15:55.324467 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:55.555Z","priority":"6","pid":"2830187","message":" 16:15:55.324480 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:55.556Z","priority":"6","pid":"2830187","message":" 16:15:55.324520 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:55.556Z","priority":"6","pid":"2830187","message":" 16:15:55.324537 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:55.557Z","priority":"6","pid":"2830187","message":" 16:15:55.324840 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:55.557Z","priority":"6","pid":"2830187","message":" 16:15:55.324859 quits"}

data: {"time":"2026-09-19T16:15:55.557Z","priority":"6","pid":"2830187","message":" 16:15:55.325036 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:55.558Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:55.558Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:55.558Z","priority":"6","pid":"2830187","message":" REPLY EPRT 500 we don't like EPRT now"}

data: {"time":"2026-09-19T16:15:55.559Z","priority":"6","pid":"2830187","message":" REPLY PORT 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:55.559Z","priority":"6","pid":"2830187","message":" Testnum 116"}

data: {"time":"2026-09-19T16:15:55.559Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:55.560Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind116"}

data: {"time":"2026-09-19T16:15:55.560Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:55.561Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:55.561Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:55.561Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.562Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:55.562Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:55.563Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:55.563Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:55.563Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:55.564Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.564Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:55.565Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:55.566Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:55.566Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:55.566Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:55.567Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:55.567Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:55.567Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.568Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:55.568Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:55.569Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:55.569Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:55.569Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:55.836Z","priority":"6","pid":"2830187","message":" valgrind:  packageCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind117 ../src/curl -q --output log/curl117.out  --include --trace-ascii log/trace117 --trace-time ftp://127.0.0.1:40545/117 > log/stdout117 2> log/stderr117"}

data: {"time":"2026-09-19T16:15:56.104Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind118 ../src/curl -q --output log/curl118.out  --include --trace-ascii log/trace118 --trace-time ftp://127.0.0.1:40545/118 > log/stdout118 2> log/stderr118"}

data: {"time":"2026-09-19T16:15:56.109Z","priority":"6","pid":"2830187","message":" (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:56.110Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.110Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:56.111Z","priority":"6","pid":"2830187","message":"=== End of file valgrind116"}

data: {"time":"2026-09-19T16:15:56.111Z","priority":"6","pid":"2830187","message":"test 0117 [FTP download, failed TYPE]"}

data: {"time":"2026-09-19T16:15:56.112Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind117 ../src/curl -q --output log/curl117.out  --include --trace-ascii log/trace117 --trace-time ftp://127.0.0.1:40545/117 > log/stdout117 2> log/stderr117"}

data: {"time":"2026-09-19T16:15:56.113Z","priority":"6","pid":"2830187","message":" 117: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:56.113Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:56.113Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:56.114Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 117"}

data: {"time":"2026-09-19T16:15:56.114Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:56.116Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind117 ../src/curl -q --output log/curl117.out  --include --trace-ascii log/trace117 --trace-time ftp://127.0.0.1:40545/117 > log/stdout117 2> log/stderr117"}

data: {"time":"2026-09-19T16:15:56.116Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:56.116Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:56.117Z","priority":"6","pid":"2830187","message":" 16:15:55.613312 ====> Client connect"}

data: {"time":"2026-09-19T16:15:56.118Z","priority":"6","pid":"2830187","message":" 16:15:55.614010 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.118Z","priority":"6","pid":"2830187","message":" 16:15:55.614198 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:56.119Z","priority":"6","pid":"2830187","message":" 16:15:55.614422 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.119Z","priority":"6","pid":"2830187","message":" 16:15:55.614686 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:56.119Z","priority":"6","pid":"2830187","message":" 16:15:55.614733 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.120Z","priority":"6","pid":"2830187","message":" 16:15:55.614984 < \"PWD\""}

data: {"time":"2026-09-19T16:15:56.120Z","priority":"6","pid":"2830187","message":" 16:15:55.615040 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.120Z","priority":"6","pid":"2830187","message":" 16:15:55.615293 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:56.121Z","priority":"6","pid":"2830187","message":" 16:15:55.615357 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:56.122Z","priority":"6","pid":"2830187","message":" 16:15:55.615378 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:56.122Z","priority":"6","pid":"2830187","message":" 16:15:55.618882 DATA sockfilt for passive data channel started (pid 85677)"}

data: {"time":"2026-09-19T16:15:56.123Z","priority":"6","pid":"2830187","message":" 16:15:55.619093 DATA sockfilt for passive data channel listens on port 37555"}

data: {"time":"2026-09-19T16:15:56.123Z","priority":"6","pid":"2830187","message":" 16:15:55.619165 > \"229 Entering Passive Mode (|||37555|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.124Z","priority":"6","pid":"2830187","message":" 16:15:55.619191 Client has been notified that upcoming DATA connection is awaited on port 37555"}

data: {"time":"2026-09-19T16:15:56.125Z","priority":"6","pid":"2830187","message":" 16:15:55.619759 Client connects to port 37555"}

data: {"time":"2026-09-19T16:15:56.125Z","priority":"6","pid":"2830187","message":" 16:15:55.619818 ====> Client established passive DATA connection on port 37555"}

data: {"time":"2026-09-19T16:15:56.125Z","priority":"6","pid":"2830187","message":" 16:15:55.619994 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:56.125Z","priority":"6","pid":"2830187","message":" 16:15:55.620231 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.126Z","priority":"6","pid":"2830187","message":" 16:15:55.620374 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:56.127Z","priority":"6","pid":"2830187","message":" 16:15:55.620432 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.127Z","priority":"6","pid":"2830187","message":" 16:15:55.620736 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:56.127Z","priority":"6","pid":"2830187","message":" 16:15:55.620884 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.127Z","priority":"6","pid":"2830187","message":" 16:15:55.621447 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:56.128Z","priority":"6","pid":"2830187","message":" 16:15:55.621478 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:56.128Z","priority":"6","pid":"2830187","message":" 16:15:55.621544 Fancy that; client wants to DISC, too"}

data: {"time":"2026-09-19T16:15:56.129Z","priority":"6","pid":"2830187","message":" 16:15:55.621574 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:56.129Z","priority":"6","pid":"2830187","message":" 16:15:55.621597 DATA sockfilt for passive data channel quits (pid 85677)"}

data: {"time":"2026-09-19T16:15:56.130Z","priority":"6","pid":"2830187","message":" 16:15:55.622068 DATA sockfilt for passive data channel quit (pid 85677)"}

data: {"time":"2026-09-19T16:15:56.130Z","priority":"6","pid":"2830187","message":" 16:15:55.622122 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:56.130Z","priority":"6","pid":"2830187","message":" 16:15:55.622175 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.131Z","priority":"6","pid":"2830187","message":" 16:15:55.677774 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:56.131Z","priority":"6","pid":"2830187","message":" 16:15:55.677861 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.132Z","priority":"6","pid":"2830187","message":" 16:15:55.678433 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:56.132Z","priority":"6","pid":"2830187","message":" 16:15:55.678556 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:56.132Z","priority":"6","pid":"2830187","message":" 16:15:55.678680 Awaiting input"}

data: {"time":"2026-09-19T16:15:56.133Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:56.133Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:56.133Z","priority":"6","pid":"2830187","message":" 16:15:55.684679 ====> Client connect"}

data: {"time":"2026-09-19T16:15:56.134Z","priority":"6","pid":"2830187","message":" 16:15:55.685203 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.134Z","priority":"6","pid":"2830187","message":" 16:15:55.685235 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.135Z","priority":"6","pid":"2830187","message":" 16:15:55.685344 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:56.135Z","priority":"6","pid":"2830187","message":" 16:15:55.685365 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.136Z","priority":"6","pid":"2830187","message":" 16:15:55.685377 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.136Z","priority":"6","pid":"2830187","message":" 16:15:55.685496 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.137Z","priority":"6","pid":"2830187","message":" 16:15:55.685510 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.137Z","priority":"6","pid":"2830187","message":" 16:15:55.685789 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.137Z","priority":"6","pid":"2830187","message":" 16:15:55.685805 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.138Z","priority":"6","pid":"2830187","message":" 16:15:55.685827 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.138Z","priority":"6","pid":"2830187","message":" 16:15:55.686068 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.139Z","priority":"6","pid":"2830187","message":" 16:15:55.686089 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.139Z","priority":"6","pid":"2830187","message":" 16:15:55.686309 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.139Z","priority":"6","pid":"2830187","message":" 16:15:55.686325 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.140Z","priority":"6","pid":"2830187","message":" 16:15:55.686338 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.141Z","priority":"6","pid":"2830187","message":" 16:15:55.686459 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.141Z","priority":"6","pid":"2830187","message":" 16:15:55.686474 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.141Z","priority":"6","pid":"2830187","message":" 16:15:55.686615 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.141Z","priority":"6","pid":"2830187","message":" 16:15:55.686630 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.142Z","priority":"6","pid":"2830187","message":" 16:15:55.686643 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.142Z","priority":"6","pid":"2830187","message":" 16:15:55.686743 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.143Z","priority":"6","pid":"2830187","message":" 16:15:55.686758 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.143Z","priority":"6","pid":"2830187","message":" 16:15:55.690783 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.143Z","priority":"6","pid":"2830187","message":" 16:15:55.690808 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.144Z","priority":"6","pid":"2830187","message":" 16:15:55.690822 '229 Entering Passive Mode (|||37555|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.144Z","priority":"6","pid":"2830187","message":" 16:15:55.691178 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.145Z","priority":"6","pid":"2830187","message":" 16:15:55.691201 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.145Z","priority":"6","pid":"2830187","message":" 16:15:55.691601 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.146Z","priority":"6","pid":"2830187","message":" 16:15:55.691621 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.146Z","priority":"6","pid":"2830187","message":" 16:15:55.691644 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.146Z","priority":"6","pid":"2830187","message":" 16:15:55.691728 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.147Z","priority":"6","pid":"2830187","message":" 16:15:55.691743 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.147Z","priority":"6","pid":"2830187","message":" 16:15:55.692031 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.148Z","priority":"6","pid":"2830187","message":" 16:15:55.692049 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.148Z","priority":"6","pid":"2830187","message":" 16:15:55.692061 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.149Z","priority":"6","pid":"2830187","message":" 16:15:55.692164 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.149Z","priority":"6","pid":"2830187","message":" 16:15:55.692186 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.149Z","priority":"6","pid":"2830187","message":" 16:15:55.692362 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.150Z","priority":"6","pid":"2830187","message":" 16:15:55.692383 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.150Z","priority":"6","pid":"2830187","message":" 16:15:55.692486 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.151Z","priority":"6","pid":"2830187","message":" 16:15:55.693767 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.151Z","priority":"6","pid":"2830187","message":" 16:15:55.693789 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.151Z","priority":"6","pid":"2830187","message":" 16:15:55.693803 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.151Z","priority":"6","pid":"2830187","message":" 16:15:55.749055 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.152Z","priority":"6","pid":"2830187","message":" 16:15:55.749110 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.152Z","priority":"6","pid":"2830187","message":" 16:15:55.749489 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.152Z","priority":"6","pid":"2830187","message":" 16:15:55.749511 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.153Z","priority":"6","pid":"2830187","message":" 16:15:55.749521 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.153Z","priority":"6","pid":"2830187","message":" 16:15:55.749926 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:56.153Z","priority":"6","pid":"2830187","message":" 16:15:55.750027 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:56.153Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:56.154Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:56.154Z","priority":"6","pid":"2830187","message":" 16:15:55.690105 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:56.154Z","priority":"6","pid":"2830187","message":" 16:15:55.690272 Listening on port 37555"}

data: {"time":"2026-09-19T16:15:56.155Z","priority":"6","pid":"2830187","message":" 16:15:55.690331 Wrote pid 85677 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:56.155Z","priority":"6","pid":"2830187","message":" 16:15:55.690372 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:56.156Z","priority":"6","pid":"2830187","message":" 16:15:55.690520 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:56.156Z","priority":"6","pid":"2830187","message":" 16:15:55.691254 ====> Client connect"}

data: {"time":"2026-09-19T16:15:56.156Z","priority":"6","pid":"2830187","message":" 16:15:55.692601 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.157Z","priority":"6","pid":"2830187","message":" 16:15:55.692629 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.157Z","priority":"6","pid":"2830187","message":" 16:15:55.692667 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.157Z","priority":"6","pid":"2830187","message":" 16:15:55.692916 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:56.158Z","priority":"6","pid":"2830187","message":" 16:15:55.693053 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:56.158Z","priority":"6","pid":"2830187","message":" 16:15:55.693065 Crikey! Client also wants to disconnect"}

data: {"time":"2026-09-19T16:15:56.159Z","priority":"6","pid":"2830187","message":" 16:15:55.693171 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:56.159Z","priority":"6","pid":"2830187","message":" 16:15:55.693223 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:56.159Z","priority":"6","pid":"2830187","message":" 16:15:55.693234 quits"}

data: {"time":"2026-09-19T16:15:56.160Z","priority":"6","pid":"2830187","message":" 16:15:55.693329 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:56.160Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:56.161Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:56.161Z","priority":"6","pid":"2830187","message":" REPLY EPSV 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:56.161Z","priority":"6","pid":"2830187","message":" REPLY TYPE 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:56.161Z","priority":"6","pid":"2830187","message":" Testnum 117"}

data: {"time":"2026-09-19T16:15:56.161Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:56.162Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind117"}

data: {"time":"2026-09-19T16:15:56.162Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:56.163Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:56.163Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:56.163Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.163Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:56.164Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:56.164Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:56.165Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:56.165Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:56.165Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.166Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:56.167Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:56.167Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:56.167Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:56.168Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:56.168Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:56.169Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:56.169Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.169Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:56.170Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:56.170Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.170Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:56.171Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:56.171Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:56.171Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.172Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:56.172Z","priority":"6","pid":"2830187","message":"=== End of file valgrind117"}

data: {"time":"2026-09-19T16:15:56.173Z","priority":"6","pid":"2830187","message":"test 0118 [FTP download, failed RETR]"}

data: {"time":"2026-09-19T16:15:56.471Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=loCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind119 ../src/curl -q --output log/curl119.out  --include --trace-ascii log/trace119 --trace-time ftp://127.0.0.1:40545/119 -P - > log/stdout119 2> log/stderr119"}

data: {"time":"2026-09-19T16:15:56.475Z","priority":"6","pid":"2830187","message":"g/valgrind118 ../src/curl -q --output log/curl118.out  --include --trace-ascii log/trace118 --trace-time ftp://127.0.0.1:40545/118 > log/stdout118 2> log/stderr118"}

data: {"time":"2026-09-19T16:15:56.476Z","priority":"6","pid":"2830187","message":" 118: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:56.477Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:56.478Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:56.478Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 118"}

data: {"time":"2026-09-19T16:15:56.479Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:56.480Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind118 ../src/curl -q --output log/curl118.out  --include --trace-ascii log/trace118 --trace-time ftp://127.0.0.1:40545/118 > log/stdout118 2> log/stderr118"}

data: {"time":"2026-09-19T16:15:56.481Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:56.481Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:56.481Z","priority":"6","pid":"2830187","message":" 16:15:55.888050 ====> Client connect"}

data: {"time":"2026-09-19T16:15:56.482Z","priority":"6","pid":"2830187","message":" 16:15:55.888445 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.483Z","priority":"6","pid":"2830187","message":" 16:15:55.888968 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:56.483Z","priority":"6","pid":"2830187","message":" 16:15:55.889021 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.484Z","priority":"6","pid":"2830187","message":" 16:15:55.889264 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:56.484Z","priority":"6","pid":"2830187","message":" 16:15:55.889320 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.484Z","priority":"6","pid":"2830187","message":" 16:15:55.889688 < \"PWD\""}

data: {"time":"2026-09-19T16:15:56.485Z","priority":"6","pid":"2830187","message":" 16:15:55.889747 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.485Z","priority":"6","pid":"2830187","message":" 16:15:55.890034 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:56.486Z","priority":"6","pid":"2830187","message":" 16:15:55.890089 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:56.486Z","priority":"6","pid":"2830187","message":" 16:15:55.890117 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:56.487Z","priority":"6","pid":"2830187","message":" 16:15:55.893321 DATA sockfilt for passive data channel started (pid 85742)"}

data: {"time":"2026-09-19T16:15:56.487Z","priority":"6","pid":"2830187","message":" 16:15:55.893659 DATA sockfilt for passive data channel listens on port 38219"}

data: {"time":"2026-09-19T16:15:56.488Z","priority":"6","pid":"2830187","message":" 16:15:55.893867 > \"229 Entering Passive Mode (|||38219|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.488Z","priority":"6","pid":"2830187","message":" 16:15:55.893916 Client has been notified that upcoming DATA connection is awaited on port 38219"}

data: {"time":"2026-09-19T16:15:56.489Z","priority":"6","pid":"2830187","message":" 16:15:55.894245 Client connects to port 38219"}

data: {"time":"2026-09-19T16:15:56.489Z","priority":"6","pid":"2830187","message":" 16:15:55.894292 ====> Client established passive DATA connection on port 38219"}

data: {"time":"2026-09-19T16:15:56.490Z","priority":"6","pid":"2830187","message":" 16:15:55.894537 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:56.491Z","priority":"6","pid":"2830187","message":" 16:15:55.894677 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.491Z","priority":"6","pid":"2830187","message":" 16:15:55.894887 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:56.491Z","priority":"6","pid":"2830187","message":" 16:15:55.894942 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.491Z","priority":"6","pid":"2830187","message":" 16:15:55.895225 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:56.492Z","priority":"6","pid":"2830187","message":" 16:15:55.895285 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.492Z","priority":"6","pid":"2830187","message":" 16:15:55.895460 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:56.493Z","priority":"6","pid":"2830187","message":" 16:15:55.895495 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:56.493Z","priority":"6","pid":"2830187","message":" 16:15:55.895919 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:56.494Z","priority":"6","pid":"2830187","message":" 16:15:55.895960 DATA sockfilt for passive data channel quits (pid 85742)"}

data: {"time":"2026-09-19T16:15:56.494Z","priority":"6","pid":"2830187","message":" 16:15:55.896414 DATA sockfilt for passive data channel quit (pid 85742)"}

data: {"time":"2026-09-19T16:15:56.495Z","priority":"6","pid":"2830187","message":" 16:15:55.896463 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:56.495Z","priority":"6","pid":"2830187","message":" 16:15:55.896509 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.497Z","priority":"6","pid":"2830187","message":" 16:15:55.936999 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:56.499Z","priority":"6","pid":"2830187","message":" 16:15:55.937079 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.499Z","priority":"6","pid":"2830187","message":" 16:15:55.938076 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:56.499Z","priority":"6","pid":"2830187","message":" 16:15:55.938169 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:56.500Z","priority":"6","pid":"2830187","message":" 16:15:55.938288 Awaiting input"}

data: {"time":"2026-09-19T16:15:56.501Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:56.503Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:56.504Z","priority":"6","pid":"2830187","message":" 16:15:55.959344 ====> Client connect"}

data: {"time":"2026-09-19T16:15:56.505Z","priority":"6","pid":"2830187","message":" 16:15:55.960038 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.506Z","priority":"6","pid":"2830187","message":" 16:15:55.960067 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.507Z","priority":"6","pid":"2830187","message":" 16:15:55.960084 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:56.508Z","priority":"6","pid":"2830187","message":" 16:15:55.960098 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.510Z","priority":"6","pid":"2830187","message":" 16:15:55.960109 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.512Z","priority":"6","pid":"2830187","message":" 16:15:55.960286 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.512Z","priority":"6","pid":"2830187","message":" 16:15:55.960311 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.512Z","priority":"6","pid":"2830187","message":" 16:15:55.960586 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.514Z","priority":"6","pid":"2830187","message":" 16:15:55.960601 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.516Z","priority":"6","pid":"2830187","message":" 16:15:55.960614 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.516Z","priority":"6","pid":"2830187","message":" 16:15:55.960692 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.517Z","priority":"6","pid":"2830187","message":" 16:15:55.960706 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.519Z","priority":"6","pid":"2830187","message":" 16:15:55.960914 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.519Z","priority":"6","pid":"2830187","message":" 16:15:55.960937 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.521Z","priority":"6","pid":"2830187","message":" 16:15:55.960952 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.521Z","priority":"6","pid":"2830187","message":" 16:15:55.961075 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.522Z","priority":"6","pid":"2830187","message":" 16:15:55.961093 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.523Z","priority":"6","pid":"2830187","message":" 16:15:55.961311 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.524Z","priority":"6","pid":"2830187","message":" 16:15:55.961328 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.525Z","priority":"6","pid":"2830187","message":" 16:15:55.961340 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.525Z","priority":"6","pid":"2830187","message":" 16:15:55.961449 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.525Z","priority":"6","pid":"2830187","message":" 16:15:55.961465 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.526Z","priority":"6","pid":"2830187","message":" 16:15:55.965261 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.527Z","priority":"6","pid":"2830187","message":" 16:15:55.965283 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.528Z","priority":"6","pid":"2830187","message":" 16:15:55.965309 '229 Entering Passive Mode (|||38219|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.528Z","priority":"6","pid":"2830187","message":" 16:15:55.965912 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.529Z","priority":"6","pid":"2830187","message":" 16:15:55.965930 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.530Z","priority":"6","pid":"2830187","message":" 16:15:55.966123 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.531Z","priority":"6","pid":"2830187","message":" 16:15:55.966140 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.531Z","priority":"6","pid":"2830187","message":" 16:15:55.966162 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.532Z","priority":"6","pid":"2830187","message":" 16:15:55.966303 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.533Z","priority":"6","pid":"2830187","message":" 16:15:55.966321 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.533Z","priority":"6","pid":"2830187","message":" 16:15:55.966513 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.534Z","priority":"6","pid":"2830187","message":" 16:15:55.966528 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.536Z","priority":"6","pid":"2830187","message":" 16:15:55.966539 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.537Z","priority":"6","pid":"2830187","message":" 16:15:55.966609 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.537Z","priority":"6","pid":"2830187","message":" 16:15:55.966642 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.537Z","priority":"6","pid":"2830187","message":" 16:15:55.967078 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.538Z","priority":"6","pid":"2830187","message":" 16:15:55.967101 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.538Z","priority":"6","pid":"2830187","message":" 16:15:55.967118 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.540Z","priority":"6","pid":"2830187","message":" 16:15:55.968079 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.540Z","priority":"6","pid":"2830187","message":" 16:15:55.968114 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.541Z","priority":"6","pid":"2830187","message":" 16:15:55.968128 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.542Z","priority":"6","pid":"2830187","message":" 16:15:56.008325 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.543Z","priority":"6","pid":"2830187","message":" 16:15:56.008392 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.543Z","priority":"6","pid":"2830187","message":" 16:15:56.008651 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.543Z","priority":"6","pid":"2830187","message":" 16:15:56.008703 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.546Z","priority":"6","pid":"2830187","message":" 16:15:56.008718 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.546Z","priority":"6","pid":"2830187","message":" 16:15:56.008910 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:56.546Z","priority":"6","pid":"2830187","message":" 16:15:56.009855 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:56.547Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:56.547Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:56.547Z","priority":"6","pid":"2830187","message":" 16:15:55.964524 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:56.547Z","priority":"6","pid":"2830187","message":" 16:15:55.964684 Listening on port 38219"}

data: {"time":"2026-09-19T16:15:56.548Z","priority":"6","pid":"2830187","message":" 16:15:55.964767 Wrote pid 85742 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:56.548Z","priority":"6","pid":"2830187","message":" 16:15:55.964798 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:56.549Z","priority":"6","pid":"2830187","message":" 16:15:55.965068 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:56.549Z","priority":"6","pid":"2830187","message":" 16:15:55.965675 ====> Client connect"}

data: {"time":"2026-09-19T16:15:56.549Z","priority":"6","pid":"2830187","message":" 16:15:55.967168 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.550Z","priority":"6","pid":"2830187","message":" 16:15:55.967194 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.550Z","priority":"6","pid":"2830187","message":" 16:15:55.967222 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.551Z","priority":"6","pid":"2830187","message":" 16:15:55.967263 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:56.551Z","priority":"6","pid":"2830187","message":" 16:15:55.967277 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:56.551Z","priority":"6","pid":"2830187","message":" 16:15:55.967526 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:56.552Z","priority":"6","pid":"2830187","message":" 16:15:55.967549 quits"}

data: {"time":"2026-09-19T16:15:56.552Z","priority":"6","pid":"2830187","message":" 16:15:55.967648 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:56.553Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:56.553Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:56.553Z","priority":"6","pid":"2830187","message":" REPLY RETR 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:56.553Z","priority":"6","pid":"2830187","message":" REPLY EPSV 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:56.553Z","priority":"6","pid":"2830187","message":" REPLY SIZE 500 command not understood"}

data: {"time":"2026-09-19T16:15:56.554Z","priority":"6","pid":"2830187","message":" Testnum 118"}

data: {"time":"2026-09-19T16:15:56.554Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:56.554Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind118"}

data: {"time":"2026-09-19T16:15:56.554Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:56.554Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:56.555Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:56.555Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.556Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:56.557Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:56.557Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:56.557Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:56.557Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:56.557Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.558Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:56.558Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:56.559Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:56.560Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:56.560Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:56.561Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:56.561Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:56.562Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.562Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:56.562Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:56.563Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.563Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:56.564Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:56.564Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:56.564Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.565Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:56.565Z","priority":"6","pid":"2830187","message":"=== End of file valgrind118"}

data: {"time":"2026-09-19T16:15:56.565Z","priority":"6","pid":"2830187","message":"test 0119 [FTP download, failed RETR with PORT]"}

data: {"time":"2026-09-19T16:15:56.567Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind119 ../src/curl -q --output log/curl119.out  --include --trace-ascii log/trace119 --trace-time ftp://127.0.0.1:40545/119 -P - > log/stdout119 2> log/stderr119"}

data: {"time":"2026-09-19T16:15:56.568Z","priority":"6","pid":"2830187","message":" 119: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:56.568Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:56.568Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:56.568Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 119"}

data: {"time":"2026-09-19T16:15:56.569Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:56.852Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usrCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind120 ../src/curl -q --output log/curl120.out  --include --trace-ascii log/trace120 --trace-time ftp://127.0.0.1:40545/120 -Q \"-DELE file\" > log/stdout120 2> log/stderr120"}

data: {"time":"2026-09-19T16:15:56.867Z","priority":"6","pid":"2830187","message":"/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind119 ../src/curl -q --output log/curl119.out  --include --trace-ascii log/trace119 --trace-time ftp://127.0.0.1:40545/119 -P - > log/stdout119 2> log/stderr119"}

data: {"time":"2026-09-19T16:15:56.869Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:56.869Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:56.869Z","priority":"6","pid":"2830187","message":" 16:15:56.216643 ====> Client connect"}

data: {"time":"2026-09-19T16:15:56.870Z","priority":"6","pid":"2830187","message":" 16:15:56.217014 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.871Z","priority":"6","pid":"2830187","message":" 16:15:56.217641 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:56.871Z","priority":"6","pid":"2830187","message":" 16:15:56.217738 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.871Z","priority":"6","pid":"2830187","message":" 16:15:56.218028 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:56.872Z","priority":"6","pid":"2830187","message":" 16:15:56.218085 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.872Z","priority":"6","pid":"2830187","message":" 16:15:56.218322 < \"PWD\""}

data: {"time":"2026-09-19T16:15:56.872Z","priority":"6","pid":"2830187","message":" 16:15:56.218449 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.873Z","priority":"6","pid":"2830187","message":" 16:15:56.218700 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:56.873Z","priority":"6","pid":"2830187","message":" 16:15:56.218742 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:56.874Z","priority":"6","pid":"2830187","message":" 16:15:56.218761 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:56.874Z","priority":"6","pid":"2830187","message":" 16:15:56.222274 DATA sockfilt for passive data channel started (pid 85807)"}

data: {"time":"2026-09-19T16:15:56.875Z","priority":"6","pid":"2830187","message":" 16:15:56.222514 DATA sockfilt for passive data channel listens on port 45491"}

data: {"time":"2026-09-19T16:15:56.875Z","priority":"6","pid":"2830187","message":" 16:15:56.222581 > \"229 Entering Passive Mode (|||45491|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.876Z","priority":"6","pid":"2830187","message":" 16:15:56.222605 Client has been notified that upcoming DATA connection is awaited on port 45491"}

data: {"time":"2026-09-19T16:15:56.876Z","priority":"6","pid":"2830187","message":" 16:15:56.223171 Client connects to port 45491"}

data: {"time":"2026-09-19T16:15:56.877Z","priority":"6","pid":"2830187","message":" 16:15:56.223252 ====> Client established passive DATA connection on port 45491"}

data: {"time":"2026-09-19T16:15:56.878Z","priority":"6","pid":"2830187","message":" 16:15:56.223433 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:56.878Z","priority":"6","pid":"2830187","message":" 16:15:56.223700 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.878Z","priority":"6","pid":"2830187","message":" 16:15:56.223893 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:56.878Z","priority":"6","pid":"2830187","message":" 16:15:56.224092 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.878Z","priority":"6","pid":"2830187","message":" 16:15:56.224347 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:56.879Z","priority":"6","pid":"2830187","message":" 16:15:56.224414 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.879Z","priority":"6","pid":"2830187","message":" 16:15:56.224772 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:56.880Z","priority":"6","pid":"2830187","message":" 16:15:56.224812 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:56.880Z","priority":"6","pid":"2830187","message":" 16:15:56.225307 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:56.881Z","priority":"6","pid":"2830187","message":" 16:15:56.225375 DATA sockfilt for passive data channel quits (pid 85807)"}

data: {"time":"2026-09-19T16:15:56.881Z","priority":"6","pid":"2830187","message":" 16:15:56.225870 DATA sockfilt for passive data channel quit (pid 85807)"}

data: {"time":"2026-09-19T16:15:56.881Z","priority":"6","pid":"2830187","message":" 16:15:56.225924 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:56.882Z","priority":"6","pid":"2830187","message":" 16:15:56.225980 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.882Z","priority":"6","pid":"2830187","message":" 16:15:56.266108 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:56.882Z","priority":"6","pid":"2830187","message":" 16:15:56.266198 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:56.883Z","priority":"6","pid":"2830187","message":" 16:15:56.267203 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:56.883Z","priority":"6","pid":"2830187","message":" 16:15:56.267426 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:56.883Z","priority":"6","pid":"2830187","message":" 16:15:56.267594 Awaiting input"}

data: {"time":"2026-09-19T16:15:56.884Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:56.884Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:56.885Z","priority":"6","pid":"2830187","message":" 16:15:56.287973 ====> Client connect"}

data: {"time":"2026-09-19T16:15:56.885Z","priority":"6","pid":"2830187","message":" 16:15:56.288619 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.885Z","priority":"6","pid":"2830187","message":" 16:15:56.288648 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.885Z","priority":"6","pid":"2830187","message":" 16:15:56.288665 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:56.886Z","priority":"6","pid":"2830187","message":" 16:15:56.288684 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.886Z","priority":"6","pid":"2830187","message":" 16:15:56.288699 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.887Z","priority":"6","pid":"2830187","message":" 16:15:56.288941 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.887Z","priority":"6","pid":"2830187","message":" 16:15:56.288962 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.887Z","priority":"6","pid":"2830187","message":" 16:15:56.289213 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.888Z","priority":"6","pid":"2830187","message":" 16:15:56.289229 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.888Z","priority":"6","pid":"2830187","message":" 16:15:56.289290 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.888Z","priority":"6","pid":"2830187","message":" 16:15:56.289381 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.889Z","priority":"6","pid":"2830187","message":" 16:15:56.289396 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.889Z","priority":"6","pid":"2830187","message":" 16:15:56.289637 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.890Z","priority":"6","pid":"2830187","message":" 16:15:56.289654 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.890Z","priority":"6","pid":"2830187","message":" 16:15:56.289667 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.890Z","priority":"6","pid":"2830187","message":" 16:15:56.289744 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.890Z","priority":"6","pid":"2830187","message":" 16:15:56.289757 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.891Z","priority":"6","pid":"2830187","message":" 16:15:56.289998 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.891Z","priority":"6","pid":"2830187","message":" 16:15:56.290015 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.892Z","priority":"6","pid":"2830187","message":" 16:15:56.290027 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.892Z","priority":"6","pid":"2830187","message":" 16:15:56.290149 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.892Z","priority":"6","pid":"2830187","message":" 16:15:56.290164 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.893Z","priority":"6","pid":"2830187","message":" 16:15:56.294183 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.893Z","priority":"6","pid":"2830187","message":" 16:15:56.294214 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.893Z","priority":"6","pid":"2830187","message":" 16:15:56.294231 '229 Entering Passive Mode (|||45491|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.894Z","priority":"6","pid":"2830187","message":" 16:15:56.294575 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.894Z","priority":"6","pid":"2830187","message":" 16:15:56.294602 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.894Z","priority":"6","pid":"2830187","message":" 16:15:56.295009 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.895Z","priority":"6","pid":"2830187","message":" 16:15:56.295036 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.895Z","priority":"6","pid":"2830187","message":" 16:15:56.295064 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.896Z","priority":"6","pid":"2830187","message":" 16:15:56.295292 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.896Z","priority":"6","pid":"2830187","message":" 16:15:56.295311 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.896Z","priority":"6","pid":"2830187","message":" 16:15:56.295502 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.897Z","priority":"6","pid":"2830187","message":" 16:15:56.295525 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.897Z","priority":"6","pid":"2830187","message":" 16:15:56.295551 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.897Z","priority":"6","pid":"2830187","message":" 16:15:56.295739 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.898Z","priority":"6","pid":"2830187","message":" 16:15:56.295760 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.898Z","priority":"6","pid":"2830187","message":" 16:15:56.296041 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.899Z","priority":"6","pid":"2830187","message":" 16:15:56.296061 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.899Z","priority":"6","pid":"2830187","message":" 16:15:56.296076 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.899Z","priority":"6","pid":"2830187","message":" 16:15:56.297583 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.900Z","priority":"6","pid":"2830187","message":" 16:15:56.297607 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.900Z","priority":"6","pid":"2830187","message":" 16:15:56.297624 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.901Z","priority":"6","pid":"2830187","message":" 16:15:56.337424 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:56.901Z","priority":"6","pid":"2830187","message":" 16:15:56.337494 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.901Z","priority":"6","pid":"2830187","message":" 16:15:56.337751 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.902Z","priority":"6","pid":"2830187","message":" 16:15:56.337768 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.902Z","priority":"6","pid":"2830187","message":" 16:15:56.337793 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.903Z","priority":"6","pid":"2830187","message":" 16:15:56.338615 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:56.903Z","priority":"6","pid":"2830187","message":" 16:15:56.338807 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:56.904Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:56.904Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:56.904Z","priority":"6","pid":"2830187","message":" 16:15:56.293163 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:56.905Z","priority":"6","pid":"2830187","message":" 16:15:56.293658 Listening on port 45491"}

data: {"time":"2026-09-19T16:15:56.905Z","priority":"6","pid":"2830187","message":" 16:15:56.293708 Wrote pid 85807 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:56.905Z","priority":"6","pid":"2830187","message":" 16:15:56.293737 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:56.905Z","priority":"6","pid":"2830187","message":" 16:15:56.293921 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:56.906Z","priority":"6","pid":"2830187","message":" 16:15:56.294637 ====> Client connect"}

data: {"time":"2026-09-19T16:15:56.906Z","priority":"6","pid":"2830187","message":" 16:15:56.295988 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:56.906Z","priority":"6","pid":"2830187","message":" 16:15:56.296018 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:56.907Z","priority":"6","pid":"2830187","message":" 16:15:56.296124 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:56.907Z","priority":"6","pid":"2830187","message":" 16:15:56.296724 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:56.908Z","priority":"6","pid":"2830187","message":" 16:15:56.296755 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:56.908Z","priority":"6","pid":"2830187","message":" 16:15:56.296921 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:56.908Z","priority":"6","pid":"2830187","message":" 16:15:56.296937 quits"}

data: {"time":"2026-09-19T16:15:56.910Z","priority":"6","pid":"2830187","message":" 16:15:56.297058 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:56.910Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:56.910Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:56.910Z","priority":"6","pid":"2830187","message":" REPLY RETR 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:56.910Z","priority":"6","pid":"2830187","message":" REPLY SIZE 500 command not understood"}

data: {"time":"2026-09-19T16:15:56.910Z","priority":"6","pid":"2830187","message":" Testnum 119"}

data: {"time":"2026-09-19T16:15:56.910Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:56.911Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind119"}

data: {"time":"2026-09-19T16:15:56.911Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:56.912Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:56.912Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:56.912Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.912Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:56.913Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:56.913Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:56.914Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:56.914Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:56.915Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.915Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:56.915Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:56.916Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:56.916Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:56.917Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:56.917Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:56.918Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:56.918Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.918Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:56.918Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:56.919Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.919Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:56.920Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:56.920Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:56.920Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:56.921Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:56.922Z","priority":"6","pid":"2830187","message":"=== End of file valgrind119"}

data: {"time":"2026-09-19T16:15:56.922Z","priority":"6","pid":"2830187","message":"test 0120 [ftp download with post-quote delete operation]"}

data: {"time":"2026-09-19T16:15:56.923Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind120 ../src/curl -q --output log/curl120.out  --include --trace-ascii log/trace120 --trace-time ftp://127.0.0.1:40545/120 -Q \"-DELE file\" > log/stdout120 2> log/stderr120"}

data: {"time":"2026-09-19T16:15:56.924Z","priority":"6","pid":"2830187","message":" 120: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:56.925Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:56.925Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:56.925Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 120"}

data: {"time":"2026-09-19T16:15:56.925Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:56.927Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind120 ../src/curl -q --output log/curl120.out  --include --trace-ascii log/trace120 --trace-time ftp://127.0.0.1:40545/120 -Q \"-DELE file\" > log/stdout120 2> log/stderr120"}

data: {"time":"2026-09-19T16:15:56.928Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:56.928Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:57.248Z","priority":"6","pid":"2830187","message":" 16:15:56.613701 ====> Client connectCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind121 ../src/curl -q --output log/curl121.out  --include --trace-ascii log/trace121 --trace-time ftp://127.0.0.1:40545/121 -Q \"-DELE after_transfer\" -Q \"DELE before_transfer\" > log/stdout121 2> log/stderr121"}

data: {"time":"2026-09-19T16:15:57.253Z","priority":"6","pid":"2830187","message":" 16:15:56.614417 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.254Z","priority":"6","pid":"2830187","message":" 16:15:56.614639 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:57.254Z","priority":"6","pid":"2830187","message":" 16:15:56.614867 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.255Z","priority":"6","pid":"2830187","message":" 16:15:56.614995 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:57.255Z","priority":"6","pid":"2830187","message":" 16:15:56.615033 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.256Z","priority":"6","pid":"2830187","message":" 16:15:56.615256 < \"PWD\""}

data: {"time":"2026-09-19T16:15:57.256Z","priority":"6","pid":"2830187","message":" 16:15:56.615309 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.257Z","priority":"6","pid":"2830187","message":" 16:15:56.615659 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:57.257Z","priority":"6","pid":"2830187","message":" 16:15:56.615729 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:57.257Z","priority":"6","pid":"2830187","message":" 16:15:56.615756 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:57.258Z","priority":"6","pid":"2830187","message":" 16:15:56.619296 DATA sockfilt for passive data channel started (pid 85872)"}

data: {"time":"2026-09-19T16:15:57.259Z","priority":"6","pid":"2830187","message":" 16:15:56.619583 DATA sockfilt for passive data channel listens on port 35997"}

data: {"time":"2026-09-19T16:15:57.259Z","priority":"6","pid":"2830187","message":" 16:15:56.619659 > \"229 Entering Passive Mode (|||35997|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.260Z","priority":"6","pid":"2830187","message":" 16:15:56.619702 Client has been notified that upcoming DATA connection is awaited on port 35997"}

data: {"time":"2026-09-19T16:15:57.260Z","priority":"6","pid":"2830187","message":" 16:15:56.620130 Client connects to port 35997"}

data: {"time":"2026-09-19T16:15:57.261Z","priority":"6","pid":"2830187","message":" 16:15:56.620182 ====> Client established passive DATA connection on port 35997"}

data: {"time":"2026-09-19T16:15:57.261Z","priority":"6","pid":"2830187","message":" 16:15:56.620485 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:57.262Z","priority":"6","pid":"2830187","message":" 16:15:56.620539 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.263Z","priority":"6","pid":"2830187","message":" 16:15:56.620830 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:57.263Z","priority":"6","pid":"2830187","message":" 16:15:56.620889 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.263Z","priority":"6","pid":"2830187","message":" 16:15:56.621178 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:57.263Z","priority":"6","pid":"2830187","message":" 16:15:56.621247 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.264Z","priority":"6","pid":"2830187","message":" 16:15:56.621591 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:57.264Z","priority":"6","pid":"2830187","message":" 16:15:56.621618 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:57.265Z","priority":"6","pid":"2830187","message":" 16:15:56.621897 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:57.266Z","priority":"6","pid":"2830187","message":" 16:15:56.621949 DATA sockfilt for passive data channel quits (pid 85872)"}

data: {"time":"2026-09-19T16:15:57.266Z","priority":"6","pid":"2830187","message":" 16:15:56.622464 DATA sockfilt for passive data channel quit (pid 85872)"}

data: {"time":"2026-09-19T16:15:57.266Z","priority":"6","pid":"2830187","message":" 16:15:56.622523 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:57.267Z","priority":"6","pid":"2830187","message":" 16:15:56.622588 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.267Z","priority":"6","pid":"2830187","message":" 16:15:56.663116 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:57.267Z","priority":"6","pid":"2830187","message":" 16:15:56.663258 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.268Z","priority":"6","pid":"2830187","message":" 16:15:56.664295 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:57.268Z","priority":"6","pid":"2830187","message":" 16:15:56.664540 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:57.269Z","priority":"6","pid":"2830187","message":" 16:15:56.664703 Awaiting input"}

data: {"time":"2026-09-19T16:15:57.269Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:57.270Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:57.270Z","priority":"6","pid":"2830187","message":" 16:15:56.685010 ====> Client connect"}

data: {"time":"2026-09-19T16:15:57.270Z","priority":"6","pid":"2830187","message":" 16:15:56.685513 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.271Z","priority":"6","pid":"2830187","message":" 16:15:56.685540 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.271Z","priority":"6","pid":"2830187","message":" 16:15:56.685655 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:57.272Z","priority":"6","pid":"2830187","message":" 16:15:56.685676 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.272Z","priority":"6","pid":"2830187","message":" 16:15:56.685688 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.272Z","priority":"6","pid":"2830187","message":" 16:15:56.685820 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.273Z","priority":"6","pid":"2830187","message":" 16:15:56.685870 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.273Z","priority":"6","pid":"2830187","message":" 16:15:56.686188 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.273Z","priority":"6","pid":"2830187","message":" 16:15:56.686205 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.274Z","priority":"6","pid":"2830187","message":" 16:15:56.686229 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.274Z","priority":"6","pid":"2830187","message":" 16:15:56.686315 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.274Z","priority":"6","pid":"2830187","message":" 16:15:56.686330 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.276Z","priority":"6","pid":"2830187","message":" 16:15:56.686559 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.276Z","priority":"6","pid":"2830187","message":" 16:15:56.686575 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.277Z","priority":"6","pid":"2830187","message":" 16:15:56.686588 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.277Z","priority":"6","pid":"2830187","message":" 16:15:56.686663 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.277Z","priority":"6","pid":"2830187","message":" 16:15:56.686676 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.277Z","priority":"6","pid":"2830187","message":" 16:15:56.686887 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.278Z","priority":"6","pid":"2830187","message":" 16:15:56.686908 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.279Z","priority":"6","pid":"2830187","message":" 16:15:56.686922 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.279Z","priority":"6","pid":"2830187","message":" 16:15:56.687080 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.280Z","priority":"6","pid":"2830187","message":" 16:15:56.687097 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.280Z","priority":"6","pid":"2830187","message":" 16:15:56.691260 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.280Z","priority":"6","pid":"2830187","message":" 16:15:56.691282 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.281Z","priority":"6","pid":"2830187","message":" 16:15:56.691292 '229 Entering Passive Mode (|||35997|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.281Z","priority":"6","pid":"2830187","message":" 16:15:56.691816 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.282Z","priority":"6","pid":"2830187","message":" 16:15:56.691856 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.282Z","priority":"6","pid":"2830187","message":" 16:15:56.692071 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.282Z","priority":"6","pid":"2830187","message":" 16:15:56.692093 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.283Z","priority":"6","pid":"2830187","message":" 16:15:56.692106 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.283Z","priority":"6","pid":"2830187","message":" 16:15:56.692208 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.284Z","priority":"6","pid":"2830187","message":" 16:15:56.692226 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.284Z","priority":"6","pid":"2830187","message":" 16:15:56.692417 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.284Z","priority":"6","pid":"2830187","message":" 16:15:56.692435 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.284Z","priority":"6","pid":"2830187","message":" 16:15:56.692447 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.284Z","priority":"6","pid":"2830187","message":" 16:15:56.692555 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.284Z","priority":"6","pid":"2830187","message":" 16:15:56.692579 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.285Z","priority":"6","pid":"2830187","message":" 16:15:56.692859 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.285Z","priority":"6","pid":"2830187","message":" 16:15:56.692875 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.286Z","priority":"6","pid":"2830187","message":" 16:15:56.692887 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.286Z","priority":"6","pid":"2830187","message":" 16:15:56.694146 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.286Z","priority":"6","pid":"2830187","message":" 16:15:56.694169 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.286Z","priority":"6","pid":"2830187","message":" 16:15:56.694186 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.287Z","priority":"6","pid":"2830187","message":" 16:15:56.734274 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.287Z","priority":"6","pid":"2830187","message":" 16:15:56.734351 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.288Z","priority":"6","pid":"2830187","message":" 16:15:56.734818 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.288Z","priority":"6","pid":"2830187","message":" 16:15:56.734867 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.288Z","priority":"6","pid":"2830187","message":" 16:15:56.734880 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.289Z","priority":"6","pid":"2830187","message":" 16:15:56.735691 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:57.289Z","priority":"6","pid":"2830187","message":" 16:15:56.735923 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:57.290Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:57.290Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:57.290Z","priority":"6","pid":"2830187","message":" 16:15:56.690474 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:57.291Z","priority":"6","pid":"2830187","message":" 16:15:56.690658 Listening on port 35997"}

data: {"time":"2026-09-19T16:15:57.291Z","priority":"6","pid":"2830187","message":" 16:15:56.690708 Wrote pid 85872 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:57.292Z","priority":"6","pid":"2830187","message":" 16:15:56.690739 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:57.292Z","priority":"6","pid":"2830187","message":" 16:15:56.690951 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:57.293Z","priority":"6","pid":"2830187","message":" 16:15:56.691570 ====> Client connect"}

data: {"time":"2026-09-19T16:15:57.293Z","priority":"6","pid":"2830187","message":" 16:15:56.692802 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.293Z","priority":"6","pid":"2830187","message":" 16:15:56.692840 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.294Z","priority":"6","pid":"2830187","message":" 16:15:56.693168 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.294Z","priority":"6","pid":"2830187","message":" 16:15:56.693227 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:57.295Z","priority":"6","pid":"2830187","message":" 16:15:56.693243 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:57.295Z","priority":"6","pid":"2830187","message":" 16:15:56.693494 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:57.295Z","priority":"6","pid":"2830187","message":" 16:15:56.693515 quits"}

data: {"time":"2026-09-19T16:15:57.295Z","priority":"6","pid":"2830187","message":" 16:15:56.693636 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:57.296Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:57.296Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:57.297Z","priority":"6","pid":"2830187","message":" REPLY EPSV 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:57.297Z","priority":"6","pid":"2830187","message":" Testnum 120"}

data: {"time":"2026-09-19T16:15:57.297Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:57.298Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind120"}

data: {"time":"2026-09-19T16:15:57.298Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:57.299Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:57.299Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:57.300Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.300Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:57.300Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:57.301Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:57.301Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:57.302Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:57.302Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.303Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:57.303Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:57.304Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:57.304Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:57.304Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:57.305Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:57.305Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:57.306Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.306Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:57.306Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:57.307Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.307Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:57.307Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:57.308Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:57.309Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.309Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:57.309Z","priority":"6","pid":"2830187","message":"=== End of file valgrind120"}

data: {"time":"2026-09-19T16:15:57.309Z","priority":"6","pid":"2830187","message":"test 0121 [ftp download with post- and pre-transfer delete operations]"}

data: {"time":"2026-09-19T16:15:57.311Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind121 ../src/curl -q --output log/curl121.out  --include --trace-ascii log/trace121 --trace-time ftp://127.0.0.1:40545/121 -Q \"-DELE after_transfer\" -Q \"DELE before_transfer\" > log/stdout121 2> log/stderr121"}

data: {"time":"2026-09-19T16:15:57.312Z","priority":"6","pid":"2830187","message":" 121: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:57.312Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:57.312Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:57.313Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 121"}

data: {"time":"2026-09-19T16:15:57.313Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:57.315Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind121 ../src/curl -q --output log/curl121.out  --include --trace-ascii log/trace121 --trace-time ftp://127.0.0.1:40545/121 -Q \"-DELE after_transfer\" -Q \"DELE before_transfer\" > log/stdout121 2> log/stderr121"}

data: {"time":"2026-09-19T16:15:57.315Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:57.316Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:57.316Z","priority":"6","pid":"2830187","message":" 16:15:56.988576 ====> Client connect"}

data: {"time":"2026-09-19T16:15:57.318Z","priority":"6","pid":"2830187","message":" 16:15:56.989300 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.318Z","priority":"6","pid":"2830187","message":" 16:15:56.989565 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:57.318Z","priority":"6","pid":"2830187","message":" 16:15:56.989677 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.318Z","priority":"6","pid":"2830187","message":" 16:15:56.989974 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:57.591Z","priority":"6","pid":"2830187","message":" 16:15:56.990017 > \"230 WCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind122 ../src/curl -q --output log/curl122.out  --include --trace-ascii log/trace122 --trace-time ftp://127.0.0.1:40545/122 -C 5 > log/stdout122 2> log/stderr122"}

data: {"time":"2026-09-19T16:15:57.607Z","priority":"6","pid":"2830187","message":"elcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.608Z","priority":"6","pid":"2830187","message":" 16:15:56.990261 < \"PWD\""}

data: {"time":"2026-09-19T16:15:57.608Z","priority":"6","pid":"2830187","message":" 16:15:56.990314 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.608Z","priority":"6","pid":"2830187","message":" 16:15:56.990648 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:57.610Z","priority":"6","pid":"2830187","message":" 16:15:56.990696 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:57.610Z","priority":"6","pid":"2830187","message":" 16:15:56.990716 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:57.611Z","priority":"6","pid":"2830187","message":" 16:15:56.994409 DATA sockfilt for passive data channel started (pid 85937)"}

data: {"time":"2026-09-19T16:15:57.611Z","priority":"6","pid":"2830187","message":" 16:15:56.994646 DATA sockfilt for passive data channel listens on port 39429"}

data: {"time":"2026-09-19T16:15:57.612Z","priority":"6","pid":"2830187","message":" 16:15:56.994857 > \"229 Entering Passive Mode (|||39429|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.613Z","priority":"6","pid":"2830187","message":" 16:15:56.994895 Client has been notified that upcoming DATA connection is awaited on port 39429"}

data: {"time":"2026-09-19T16:15:57.613Z","priority":"6","pid":"2830187","message":" 16:15:56.995187 Client connects to port 39429"}

data: {"time":"2026-09-19T16:15:57.613Z","priority":"6","pid":"2830187","message":" 16:15:56.995237 ====> Client established passive DATA connection on port 39429"}

data: {"time":"2026-09-19T16:15:57.614Z","priority":"6","pid":"2830187","message":" 16:15:56.995582 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:57.614Z","priority":"6","pid":"2830187","message":" 16:15:56.995641 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.614Z","priority":"6","pid":"2830187","message":" 16:15:56.995978 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:57.615Z","priority":"6","pid":"2830187","message":" 16:15:56.996083 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.615Z","priority":"6","pid":"2830187","message":" 16:15:56.996311 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:57.615Z","priority":"6","pid":"2830187","message":" 16:15:56.996387 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.616Z","priority":"6","pid":"2830187","message":" 16:15:56.996538 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:57.616Z","priority":"6","pid":"2830187","message":" 16:15:56.996563 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:57.617Z","priority":"6","pid":"2830187","message":" 16:15:56.997033 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:57.617Z","priority":"6","pid":"2830187","message":" 16:15:56.997079 DATA sockfilt for passive data channel quits (pid 85937)"}

data: {"time":"2026-09-19T16:15:57.618Z","priority":"6","pid":"2830187","message":" 16:15:56.997657 DATA sockfilt for passive data channel quit (pid 85937)"}

data: {"time":"2026-09-19T16:15:57.618Z","priority":"6","pid":"2830187","message":" 16:15:56.997705 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:57.618Z","priority":"6","pid":"2830187","message":" 16:15:56.997757 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.619Z","priority":"6","pid":"2830187","message":" 16:15:57.038185 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:57.619Z","priority":"6","pid":"2830187","message":" 16:15:57.038277 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.620Z","priority":"6","pid":"2830187","message":" 16:15:57.039378 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:57.620Z","priority":"6","pid":"2830187","message":" 16:15:57.039592 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:57.620Z","priority":"6","pid":"2830187","message":" 16:15:57.039887 Awaiting input"}

data: {"time":"2026-09-19T16:15:57.620Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:57.621Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:57.621Z","priority":"6","pid":"2830187","message":" 16:15:57.059862 ====> Client connect"}

data: {"time":"2026-09-19T16:15:57.622Z","priority":"6","pid":"2830187","message":" 16:15:57.060375 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.622Z","priority":"6","pid":"2830187","message":" 16:15:57.060407 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.622Z","priority":"6","pid":"2830187","message":" 16:15:57.060546 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:57.622Z","priority":"6","pid":"2830187","message":" 16:15:57.060566 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.623Z","priority":"6","pid":"2830187","message":" 16:15:57.060577 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.623Z","priority":"6","pid":"2830187","message":" 16:15:57.060717 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.623Z","priority":"6","pid":"2830187","message":" 16:15:57.060732 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.624Z","priority":"6","pid":"2830187","message":" 16:15:57.061102 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.624Z","priority":"6","pid":"2830187","message":" 16:15:57.061122 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.624Z","priority":"6","pid":"2830187","message":" 16:15:57.061187 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.625Z","priority":"6","pid":"2830187","message":" 16:15:57.061331 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.625Z","priority":"6","pid":"2830187","message":" 16:15:57.061348 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.626Z","priority":"6","pid":"2830187","message":" 16:15:57.061527 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.626Z","priority":"6","pid":"2830187","message":" 16:15:57.061542 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.627Z","priority":"6","pid":"2830187","message":" 16:15:57.061554 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.627Z","priority":"6","pid":"2830187","message":" 16:15:57.061638 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.627Z","priority":"6","pid":"2830187","message":" 16:15:57.061652 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.628Z","priority":"6","pid":"2830187","message":" 16:15:57.061847 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.628Z","priority":"6","pid":"2830187","message":" 16:15:57.061866 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.629Z","priority":"6","pid":"2830187","message":" 16:15:57.061878 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.629Z","priority":"6","pid":"2830187","message":" 16:15:57.062047 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.629Z","priority":"6","pid":"2830187","message":" 16:15:57.062069 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.630Z","priority":"6","pid":"2830187","message":" 16:15:57.066193 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.630Z","priority":"6","pid":"2830187","message":" 16:15:57.066219 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.631Z","priority":"6","pid":"2830187","message":" 16:15:57.066243 '229 Entering Passive Mode (|||39429|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.631Z","priority":"6","pid":"2830187","message":" 16:15:57.066897 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.632Z","priority":"6","pid":"2830187","message":" 16:15:57.066920 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.633Z","priority":"6","pid":"2830187","message":" 16:15:57.067154 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.634Z","priority":"6","pid":"2830187","message":" 16:15:57.067193 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.634Z","priority":"6","pid":"2830187","message":" 16:15:57.067207 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.634Z","priority":"6","pid":"2830187","message":" 16:15:57.067364 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.635Z","priority":"6","pid":"2830187","message":" 16:15:57.067384 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.635Z","priority":"6","pid":"2830187","message":" 16:15:57.067522 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.635Z","priority":"6","pid":"2830187","message":" 16:15:57.067537 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.636Z","priority":"6","pid":"2830187","message":" 16:15:57.067598 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.637Z","priority":"6","pid":"2830187","message":" 16:15:57.067687 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.637Z","priority":"6","pid":"2830187","message":" 16:15:57.067702 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.637Z","priority":"6","pid":"2830187","message":" 16:15:57.068080 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.637Z","priority":"6","pid":"2830187","message":" 16:15:57.068100 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.637Z","priority":"6","pid":"2830187","message":" 16:15:57.068112 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.638Z","priority":"6","pid":"2830187","message":" 16:15:57.069284 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.638Z","priority":"6","pid":"2830187","message":" 16:15:57.069308 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.638Z","priority":"6","pid":"2830187","message":" 16:15:57.069322 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.639Z","priority":"6","pid":"2830187","message":" 16:15:57.109426 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.639Z","priority":"6","pid":"2830187","message":" 16:15:57.109506 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.640Z","priority":"6","pid":"2830187","message":" 16:15:57.109838 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.640Z","priority":"6","pid":"2830187","message":" 16:15:57.109868 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.641Z","priority":"6","pid":"2830187","message":" 16:15:57.109883 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.641Z","priority":"6","pid":"2830187","message":" 16:15:57.110705 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:57.641Z","priority":"6","pid":"2830187","message":" 16:15:57.110958 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:57.642Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:57.642Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:57.642Z","priority":"6","pid":"2830187","message":" 16:15:56.065491 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:57.643Z","priority":"6","pid":"2830187","message":" 16:15:56.065677 Listening on port 39429"}

data: {"time":"2026-09-19T16:15:57.644Z","priority":"6","pid":"2830187","message":" 16:15:56.065734 Wrote pid 85937 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:57.644Z","priority":"6","pid":"2830187","message":" 16:15:56.065775 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:57.644Z","priority":"6","pid":"2830187","message":" 16:15:56.066004 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:57.644Z","priority":"6","pid":"2830187","message":" 16:15:56.066617 ====> Client connect"}

data: {"time":"2026-09-19T16:15:57.645Z","priority":"6","pid":"2830187","message":" 16:15:56.068161 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.645Z","priority":"6","pid":"2830187","message":" 16:15:56.068192 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.645Z","priority":"6","pid":"2830187","message":" 16:15:56.068204 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.646Z","priority":"6","pid":"2830187","message":" 16:15:56.068271 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:57.646Z","priority":"6","pid":"2830187","message":" 16:15:56.068288 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:57.647Z","priority":"6","pid":"2830187","message":" 16:15:56.068592 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:57.647Z","priority":"6","pid":"2830187","message":" 16:15:56.068610 quits"}

data: {"time":"2026-09-19T16:15:57.647Z","priority":"6","pid":"2830187","message":" 16:15:56.068734 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:57.647Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:57.647Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:57.648Z","priority":"6","pid":"2830187","message":" Testnum 121"}

data: {"time":"2026-09-19T16:15:57.648Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:57.648Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind121"}

data: {"time":"2026-09-19T16:15:57.649Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:57.649Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:57.650Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:57.650Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.650Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:57.651Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:57.651Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:57.651Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:57.652Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:57.652Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.652Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:57.653Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:57.654Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:57.654Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:57.654Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:57.654Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:57.655Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:57.655Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.656Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:57.656Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:57.656Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.656Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:57.657Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:57.657Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:57.657Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:57.658Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:57.658Z","priority":"6","pid":"2830187","message":"=== End of file valgrind121"}

data: {"time":"2026-09-19T16:15:57.658Z","priority":"6","pid":"2830187","message":"test 0122 [FTP download resume with whole file already downloaded]"}

data: {"time":"2026-09-19T16:15:57.660Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind122 ../src/curl -q --output log/curl122.out  --include --trace-ascii log/trace122 --trace-time ftp://127.0.0.1:40545/122 -C 5 > log/stdout122 2> log/stderr122"}

data: {"time":"2026-09-19T16:15:57.660Z","priority":"6","pid":"2830187","message":" 122: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:57.660Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:57.661Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:57.661Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 122"}

data: {"time":"2026-09-19T16:15:57.661Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:57.663Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind122 ../src/curl -q --output log/curl122.out  --include --trace-ascii log/trace122 --trace-time ftp://127.0.0.1:40545/122 -C 5 > log/stdout122 2> log/stderr122"}

data: {"time":"2026-09-19T16:15:57.664Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:57.664Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:57.664Z","priority":"6","pid":"2830187","message":" 16:15:57.362959 ====> Client connect"}

data: {"time":"2026-09-19T16:15:57.665Z","priority":"6","pid":"2830187","message":" 16:15:57.363311 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.665Z","priority":"6","pid":"2830187","message":" 16:15:57.364162 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:57.665Z","priority":"6","pid":"2830187","message":" 16:15:57.364512 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.666Z","priority":"6","pid":"2830187","message":" 16:15:57.364673 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:57.666Z","priority":"6","pid":"2830187","message":" 16:15:57.364719 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.667Z","priority":"6","pid":"2830187","message":" 16:15:57.365041 < \"PWD\""}

data: {"time":"2026-09-19T16:15:57.667Z","priority":"6","pid":"2830187","message":" 16:15:57.365161 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.668Z","priority":"6","pid":"2830187","message":" 16:15:57.365437 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:57.668Z","priority":"6","pid":"2830187","message":" 16:15:57.365483 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:57.668Z","priority":"6","pid":"2830187","message":" 16:15:57.365505 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:57.669Z","priority":"6","pid":"2830187","message":" 16:15:57.369631 DATA sockfilt for passive data channel started (pid 86003)"}

data: {"time":"2026-09-19T16:15:57.669Z","priority":"6","pid":"2830187","message":" 16:15:57.369938 DATA sockfilt for passive data channel listens on port 38135"}

data: {"time":"2026-09-19T16:15:57.960Z","priority":"6","pid":"2830187","message":" 16:15:57.370209 > \"229 Entering Passive Mode (|||38135|)[CR][LFCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind123 ../src/curl -q --output log/curl123.out  --include --trace-ascii log/trace123 --trace-time ftp://127.0.0.1:40545/123 -T log/upload123 -C 51 > log/stdout123 2> log/stderr123"}

data: {"time":"2026-09-19T16:15:57.963Z","priority":"6","pid":"2830187","message":"]\""}

data: {"time":"2026-09-19T16:15:57.964Z","priority":"6","pid":"2830187","message":" 16:15:57.370256 Client has been notified that upcoming DATA connection is awaited on port 38135"}

data: {"time":"2026-09-19T16:15:57.964Z","priority":"6","pid":"2830187","message":" 16:15:57.370671 Client connects to port 38135"}

data: {"time":"2026-09-19T16:15:57.965Z","priority":"6","pid":"2830187","message":" 16:15:57.370746 ====> Client established passive DATA connection on port 38135"}

data: {"time":"2026-09-19T16:15:57.965Z","priority":"6","pid":"2830187","message":" 16:15:57.371139 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:57.965Z","priority":"6","pid":"2830187","message":" 16:15:57.371202 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.966Z","priority":"6","pid":"2830187","message":" 16:15:57.371573 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:57.966Z","priority":"6","pid":"2830187","message":" 16:15:57.371662 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.967Z","priority":"6","pid":"2830187","message":" 16:15:57.371998 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:57.967Z","priority":"6","pid":"2830187","message":" 16:15:57.372167 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.967Z","priority":"6","pid":"2830187","message":" 16:15:57.372570 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:57.968Z","priority":"6","pid":"2830187","message":" 16:15:57.372604 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:57.968Z","priority":"6","pid":"2830187","message":" 16:15:57.372872 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:57.969Z","priority":"6","pid":"2830187","message":" 16:15:57.372919 DATA sockfilt for passive data channel quits (pid 86003)"}

data: {"time":"2026-09-19T16:15:57.969Z","priority":"6","pid":"2830187","message":" 16:15:57.373445 DATA sockfilt for passive data channel quit (pid 86003)"}

data: {"time":"2026-09-19T16:15:57.970Z","priority":"6","pid":"2830187","message":" 16:15:57.373495 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:57.970Z","priority":"6","pid":"2830187","message":" 16:15:57.373550 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.971Z","priority":"6","pid":"2830187","message":" 16:15:57.413248 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:57.971Z","priority":"6","pid":"2830187","message":" 16:15:57.413371 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:57.971Z","priority":"6","pid":"2830187","message":" 16:15:57.414437 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:57.972Z","priority":"6","pid":"2830187","message":" 16:15:57.414650 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:57.973Z","priority":"6","pid":"2830187","message":" 16:15:57.414831 Awaiting input"}

data: {"time":"2026-09-19T16:15:57.973Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:57.973Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:57.973Z","priority":"6","pid":"2830187","message":" 16:15:57.434228 ====> Client connect"}

data: {"time":"2026-09-19T16:15:57.973Z","priority":"6","pid":"2830187","message":" 16:15:57.434938 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.974Z","priority":"6","pid":"2830187","message":" 16:15:57.434987 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.975Z","priority":"6","pid":"2830187","message":" 16:15:57.435002 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:57.975Z","priority":"6","pid":"2830187","message":" 16:15:57.435015 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.976Z","priority":"6","pid":"2830187","message":" 16:15:57.435026 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.976Z","priority":"6","pid":"2830187","message":" 16:15:57.435209 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.976Z","priority":"6","pid":"2830187","message":" 16:15:57.435233 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.977Z","priority":"6","pid":"2830187","message":" 16:15:57.435698 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.977Z","priority":"6","pid":"2830187","message":" 16:15:57.435724 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.977Z","priority":"6","pid":"2830187","message":" 16:15:57.435750 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.978Z","priority":"6","pid":"2830187","message":" 16:15:57.435914 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.978Z","priority":"6","pid":"2830187","message":" 16:15:57.435935 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.979Z","priority":"6","pid":"2830187","message":" 16:15:57.436249 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.979Z","priority":"6","pid":"2830187","message":" 16:15:57.436272 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.979Z","priority":"6","pid":"2830187","message":" 16:15:57.436286 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.980Z","priority":"6","pid":"2830187","message":" 16:15:57.436376 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.980Z","priority":"6","pid":"2830187","message":" 16:15:57.436394 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.981Z","priority":"6","pid":"2830187","message":" 16:15:57.436578 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.981Z","priority":"6","pid":"2830187","message":" 16:15:57.436597 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.981Z","priority":"6","pid":"2830187","message":" 16:15:57.436660 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.981Z","priority":"6","pid":"2830187","message":" 16:15:57.436770 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.982Z","priority":"6","pid":"2830187","message":" 16:15:57.436785 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.982Z","priority":"6","pid":"2830187","message":" 16:15:57.441482 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.983Z","priority":"6","pid":"2830187","message":" 16:15:57.441509 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.983Z","priority":"6","pid":"2830187","message":" 16:15:57.441535 '229 Entering Passive Mode (|||38135|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.984Z","priority":"6","pid":"2830187","message":" 16:15:57.442411 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.984Z","priority":"6","pid":"2830187","message":" 16:15:57.442440 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.984Z","priority":"6","pid":"2830187","message":" 16:15:57.442698 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.984Z","priority":"6","pid":"2830187","message":" 16:15:57.442715 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.985Z","priority":"6","pid":"2830187","message":" 16:15:57.442729 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.985Z","priority":"6","pid":"2830187","message":" 16:15:57.442906 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.986Z","priority":"6","pid":"2830187","message":" 16:15:57.442956 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.986Z","priority":"6","pid":"2830187","message":" 16:15:57.443200 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.986Z","priority":"6","pid":"2830187","message":" 16:15:57.443224 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.987Z","priority":"6","pid":"2830187","message":" 16:15:57.443236 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.987Z","priority":"6","pid":"2830187","message":" 16:15:57.443337 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.988Z","priority":"6","pid":"2830187","message":" 16:15:57.443354 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.988Z","priority":"6","pid":"2830187","message":" 16:15:57.443538 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.988Z","priority":"6","pid":"2830187","message":" 16:15:57.443558 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.989Z","priority":"6","pid":"2830187","message":" 16:15:57.443582 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.990Z","priority":"6","pid":"2830187","message":" 16:15:57.445054 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.990Z","priority":"6","pid":"2830187","message":" 16:15:57.445078 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.990Z","priority":"6","pid":"2830187","message":" 16:15:57.445091 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.990Z","priority":"6","pid":"2830187","message":" 16:15:57.484444 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:57.991Z","priority":"6","pid":"2830187","message":" 16:15:57.484520 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.991Z","priority":"6","pid":"2830187","message":" 16:15:57.484886 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.992Z","priority":"6","pid":"2830187","message":" 16:15:57.484914 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.992Z","priority":"6","pid":"2830187","message":" 16:15:57.484927 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.992Z","priority":"6","pid":"2830187","message":" 16:15:57.485752 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:57.993Z","priority":"6","pid":"2830187","message":" 16:15:57.486001 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:57.993Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:57.993Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:57.994Z","priority":"6","pid":"2830187","message":" 16:15:57.440665 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:57.994Z","priority":"6","pid":"2830187","message":" 16:15:57.440905 Listening on port 38135"}

data: {"time":"2026-09-19T16:15:57.995Z","priority":"6","pid":"2830187","message":" 16:15:57.440977 Wrote pid 86003 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:57.995Z","priority":"6","pid":"2830187","message":" 16:15:57.441012 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:57.996Z","priority":"6","pid":"2830187","message":" 16:15:57.441260 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:57.996Z","priority":"6","pid":"2830187","message":" 16:15:57.442066 ====> Client connect"}

data: {"time":"2026-09-19T16:15:57.996Z","priority":"6","pid":"2830187","message":" 16:15:57.443696 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:57.997Z","priority":"6","pid":"2830187","message":" 16:15:57.443728 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:57.997Z","priority":"6","pid":"2830187","message":" 16:15:57.443838 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:57.997Z","priority":"6","pid":"2830187","message":" 16:15:57.444218 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:57.998Z","priority":"6","pid":"2830187","message":" 16:15:57.444248 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:57.998Z","priority":"6","pid":"2830187","message":" 16:15:57.444417 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:57.999Z","priority":"6","pid":"2830187","message":" 16:15:57.444434 quits"}

data: {"time":"2026-09-19T16:15:57.999Z","priority":"6","pid":"2830187","message":" 16:15:57.444565 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:57.999Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:57.999Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:57.999Z","priority":"6","pid":"2830187","message":" REPLY EPSV 500 no such command"}

data: {"time":"2026-09-19T16:15:58.000Z","priority":"6","pid":"2830187","message":" Testnum 122"}

data: {"time":"2026-09-19T16:15:58.000Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:58.000Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind122"}

data: {"time":"2026-09-19T16:15:58.001Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:58.001Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:58.002Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:58.002Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.002Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:58.002Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:58.003Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:58.003Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:58.004Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:58.004Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.004Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:58.005Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:58.005Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:58.006Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:58.006Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:58.007Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:58.007Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:58.007Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.007Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:58.008Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:58.008Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.008Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:58.009Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:58.009Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:58.009Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.010Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:58.011Z","priority":"6","pid":"2830187","message":"=== End of file valgrind122"}

data: {"time":"2026-09-19T16:15:58.011Z","priority":"6","pid":"2830187","message":"test 0123 [FTP upload resume with whole file already downloaded]"}

data: {"time":"2026-09-19T16:15:58.012Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind123 ../src/curl -q --output log/curl123.out  --include --trace-ascii log/trace123 --trace-time ftp://127.0.0.1:40545/123 -T log/upload123 -C 51 > log/stdout123 2> log/stderr123"}

data: {"time":"2026-09-19T16:15:58.012Z","priority":"6","pid":"2830187","message":" 123: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:58.013Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:58.013Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:58.013Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 123"}

data: {"time":"2026-09-19T16:15:58.014Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:58.015Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind123 ../src/curl -q --output log/curl123.out  --include --trace-ascii log/trace123 --trace-time ftp://127.0.0.1:40545/123 -T log/upload123 -C 51 > log/stdout123 2> log/stderr123"}

data: {"time":"2026-09-19T16:15:58.016Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:58.016Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:58.017Z","priority":"6","pid":"2830187","message":" 16:15:57.710300 ====> Client connect"}

data: {"time":"2026-09-19T16:15:58.017Z","priority":"6","pid":"2830187","message":" 16:15:57.710664 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.018Z","priority":"6","pid":"2830187","message":" 16:15:57.711251 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:58.018Z","priority":"6","pid":"2830187","message":" 16:15:57.711563 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.019Z","priority":"6","pid":"2830187","message":" 16:15:57.711703 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:58.019Z","priority":"6","pid":"2830187","message":" 16:15:57.711755 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.019Z","priority":"6","pid":"2830187","message":" 16:15:57.712002 < \"PWD\""}

data: {"time":"2026-09-19T16:15:58.020Z","priority":"6","pid":"2830187","message":" 16:15:57.712054 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.020Z","priority":"6","pid":"2830187","message":" 16:15:57.712309 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:58.020Z","priority":"6","pid":"2830187","message":" 16:15:57.712366 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:58.021Z","priority":"6","pid":"2830187","message":" 16:15:57.712388 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:58.021Z","priority":"6","pid":"2830187","message":" 16:15:57.715674 DATA sockfilt for passive data channel started (pid 86069)"}

data: {"time":"2026-09-19T16:15:58.022Z","priority":"6","pid":"2830187","message":" 16:15:57.715892 DATA sockfilt for passive data channel listens on port 37459"}

data: {"time":"2026-09-19T16:15:58.022Z","priority":"6","pid":"2830187","message":" 16:15:57.715957 > \"229 Entering Passive Mode (|||37459|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.023Z","priority":"6","pid":"2830187","message":" 16:15:57.715981 Client has been notified that upcoming DATA connection is awaited on port 37459"}

data: {"time":"2026-09-19T16:15:58.024Z","priority":"6","pid":"2830187","message":" 16:15:57.716418 Client connects to port 37459"}

data: {"time":"2026-09-19T16:15:58.024Z","priority":"6","pid":"2830187","message":" 16:15:57.716467 ====> Client established passive DATA connection on port 37459"}

data: {"time":"2026-09-19T16:15:58.024Z","priority":"6","pid":"2830187","message":" 16:15:57.716656 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:58.025Z","priority":"6","pid":"2830187","message":" 16:15:57.716824 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.025Z","priority":"6","pid":"2830187","message":" 16:15:57.716974 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:58.026Z","priority":"6","pid":"2830187","message":" 16:15:57.717025 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.310Z","priority":"6","pid":"2830187","message":" 16:15:57.717354 < \"RETR verifiedCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind124 ../src/curl -q --output log/curl124.out  --include --trace-ascii log/trace124 --trace-time ftp://127.0.0.1:40545/124 > log/stdout124 2> log/stderr124"}

data: {"time":"2026-09-19T16:15:58.325Z","priority":"6","pid":"2830187","message":"server\""}

data: {"time":"2026-09-19T16:15:58.326Z","priority":"6","pid":"2830187","message":" 16:15:57.717585 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.327Z","priority":"6","pid":"2830187","message":" 16:15:57.717827 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:58.328Z","priority":"6","pid":"2830187","message":" 16:15:57.717854 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:58.329Z","priority":"6","pid":"2830187","message":" 16:15:57.718103 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:58.329Z","priority":"6","pid":"2830187","message":" 16:15:57.718139 DATA sockfilt for passive data channel quits (pid 86069)"}

data: {"time":"2026-09-19T16:15:58.330Z","priority":"6","pid":"2830187","message":" 16:15:57.718621 DATA sockfilt for passive data channel quit (pid 86069)"}

data: {"time":"2026-09-19T16:15:58.330Z","priority":"6","pid":"2830187","message":" 16:15:57.718664 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:58.331Z","priority":"6","pid":"2830187","message":" 16:15:57.718707 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.331Z","priority":"6","pid":"2830187","message":" 16:15:57.759164 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:58.331Z","priority":"6","pid":"2830187","message":" 16:15:57.759268 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.332Z","priority":"6","pid":"2830187","message":" 16:15:57.760305 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:58.332Z","priority":"6","pid":"2830187","message":" 16:15:57.760560 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:58.333Z","priority":"6","pid":"2830187","message":" 16:15:57.760726 Awaiting input"}

data: {"time":"2026-09-19T16:15:58.333Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:58.334Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:58.334Z","priority":"6","pid":"2830187","message":" 16:15:57.781561 ====> Client connect"}

data: {"time":"2026-09-19T16:15:58.334Z","priority":"6","pid":"2830187","message":" 16:15:57.782194 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.334Z","priority":"6","pid":"2830187","message":" 16:15:57.782230 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.335Z","priority":"6","pid":"2830187","message":" 16:15:57.782248 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:58.335Z","priority":"6","pid":"2830187","message":" 16:15:57.782262 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.336Z","priority":"6","pid":"2830187","message":" 16:15:57.782273 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.336Z","priority":"6","pid":"2830187","message":" 16:15:57.782472 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.337Z","priority":"6","pid":"2830187","message":" 16:15:57.782493 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.337Z","priority":"6","pid":"2830187","message":" 16:15:57.782763 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.337Z","priority":"6","pid":"2830187","message":" 16:15:57.782833 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.338Z","priority":"6","pid":"2830187","message":" 16:15:57.782860 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.338Z","priority":"6","pid":"2830187","message":" 16:15:57.782950 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.339Z","priority":"6","pid":"2830187","message":" 16:15:57.782965 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.339Z","priority":"6","pid":"2830187","message":" 16:15:57.783236 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.339Z","priority":"6","pid":"2830187","message":" 16:15:57.783255 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.340Z","priority":"6","pid":"2830187","message":" 16:15:57.783268 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.340Z","priority":"6","pid":"2830187","message":" 16:15:57.783350 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.341Z","priority":"6","pid":"2830187","message":" 16:15:57.783363 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.341Z","priority":"6","pid":"2830187","message":" 16:15:57.783528 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.341Z","priority":"6","pid":"2830187","message":" 16:15:57.783543 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.342Z","priority":"6","pid":"2830187","message":" 16:15:57.783556 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.342Z","priority":"6","pid":"2830187","message":" 16:15:57.783641 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.343Z","priority":"6","pid":"2830187","message":" 16:15:57.783655 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.343Z","priority":"6","pid":"2830187","message":" 16:15:57.787471 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.344Z","priority":"6","pid":"2830187","message":" 16:15:57.787492 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.344Z","priority":"6","pid":"2830187","message":" 16:15:57.787513 '229 Entering Passive Mode (|||37459|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.344Z","priority":"6","pid":"2830187","message":" 16:15:57.787974 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.345Z","priority":"6","pid":"2830187","message":" 16:15:57.787991 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.345Z","priority":"6","pid":"2830187","message":" 16:15:57.788146 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.345Z","priority":"6","pid":"2830187","message":" 16:15:57.788160 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.346Z","priority":"6","pid":"2830187","message":" 16:15:57.788180 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.346Z","priority":"6","pid":"2830187","message":" 16:15:57.788319 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.347Z","priority":"6","pid":"2830187","message":" 16:15:57.788334 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.347Z","priority":"6","pid":"2830187","message":" 16:15:57.788499 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.347Z","priority":"6","pid":"2830187","message":" 16:15:57.788512 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.347Z","priority":"6","pid":"2830187","message":" 16:15:57.788523 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.348Z","priority":"6","pid":"2830187","message":" 16:15:57.788622 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.348Z","priority":"6","pid":"2830187","message":" 16:15:57.788643 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.349Z","priority":"6","pid":"2830187","message":" 16:15:57.788873 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.349Z","priority":"6","pid":"2830187","message":" 16:15:57.788895 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.350Z","priority":"6","pid":"2830187","message":" 16:15:57.788922 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.350Z","priority":"6","pid":"2830187","message":" 16:15:57.790199 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.350Z","priority":"6","pid":"2830187","message":" 16:15:57.790217 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.351Z","priority":"6","pid":"2830187","message":" 16:15:57.790229 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.352Z","priority":"6","pid":"2830187","message":" 16:15:57.830273 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.352Z","priority":"6","pid":"2830187","message":" 16:15:57.830345 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.352Z","priority":"6","pid":"2830187","message":" 16:15:57.830767 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.352Z","priority":"6","pid":"2830187","message":" 16:15:57.830815 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.352Z","priority":"6","pid":"2830187","message":" 16:15:57.830831 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.353Z","priority":"6","pid":"2830187","message":" 16:15:57.831645 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:58.353Z","priority":"6","pid":"2830187","message":" 16:15:57.831894 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:58.354Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:58.354Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:58.355Z","priority":"6","pid":"2830187","message":" 16:15:57.786608 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:58.355Z","priority":"6","pid":"2830187","message":" 16:15:57.786744 Listening on port 37459"}

data: {"time":"2026-09-19T16:15:58.355Z","priority":"6","pid":"2830187","message":" 16:15:57.787033 Wrote pid 86069 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:58.355Z","priority":"6","pid":"2830187","message":" 16:15:57.787075 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:58.356Z","priority":"6","pid":"2830187","message":" 16:15:57.787228 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:58.356Z","priority":"6","pid":"2830187","message":" 16:15:57.787814 ====> Client connect"}

data: {"time":"2026-09-19T16:15:58.357Z","priority":"6","pid":"2830187","message":" 16:15:57.789105 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.357Z","priority":"6","pid":"2830187","message":" 16:15:57.789136 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.357Z","priority":"6","pid":"2830187","message":" 16:15:57.789331 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.358Z","priority":"6","pid":"2830187","message":" 16:15:57.789379 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:58.358Z","priority":"6","pid":"2830187","message":" 16:15:57.789401 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:58.359Z","priority":"6","pid":"2830187","message":" 16:15:57.789614 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:58.359Z","priority":"6","pid":"2830187","message":" 16:15:57.789629 quits"}

data: {"time":"2026-09-19T16:15:58.360Z","priority":"6","pid":"2830187","message":" 16:15:57.789722 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:58.360Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:58.360Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:58.360Z","priority":"6","pid":"2830187","message":" Testnum 123"}

data: {"time":"2026-09-19T16:15:58.360Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:58.361Z","priority":"6","pid":"2830187","message":"=== Start of file upload123"}

data: {"time":"2026-09-19T16:15:58.361Z","priority":"6","pid":"2830187","message":" --------------------------------------------------"}

data: {"time":"2026-09-19T16:15:58.361Z","priority":"6","pid":"2830187","message":"=== End of file upload123"}

data: {"time":"2026-09-19T16:15:58.362Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind123"}

data: {"time":"2026-09-19T16:15:58.362Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:58.363Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:58.363Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:58.363Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.364Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:58.364Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:58.365Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:58.365Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:58.366Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:58.366Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.367Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:58.367Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:58.367Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:58.368Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:58.368Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:58.369Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:58.369Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:58.370Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.370Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:58.370Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:58.371Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.371Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:58.372Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:58.372Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:58.372Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.373Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:58.373Z","priority":"6","pid":"2830187","message":"=== End of file valgrind123"}

data: {"time":"2026-09-19T16:15:58.373Z","priority":"6","pid":"2830187","message":"test 0124 [FTP download, failed PWD]"}

data: {"time":"2026-09-19T16:15:58.375Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind124 ../src/curl -q --output log/curl124.out  --include --trace-ascii log/trace124 --trace-time ftp://127.0.0.1:40545/124 > log/stdout124 2> log/stderr124"}

data: {"time":"2026-09-19T16:15:58.376Z","priority":"6","pid":"2830187","message":" 124: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:58.376Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:58.377Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:58.377Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 124"}

data: {"time":"2026-09-19T16:15:58.377Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:58.380Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind124 ../src/curl -q --output log/curl124.out  --include --trace-ascii log/trace124 --trace-time ftp://127.0.0.1:40545/124 > log/stdout124 2> log/stderr124"}

data: {"time":"2026-09-19T16:15:58.380Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:58.380Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:58.380Z","priority":"6","pid":"2830187","message":" 16:15:58.069082 ====> Client connect"}

data: {"time":"2026-09-19T16:15:58.381Z","priority":"6","pid":"2830187","message":" 16:15:58.070166 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.381Z","priority":"6","pid":"2830187","message":" 16:15:58.070670 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:58.382Z","priority":"6","pid":"2830187","message":" 16:15:58.070772 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.382Z","priority":"6","pid":"2830187","message":" 16:15:58.071238 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:58.383Z","priority":"6","pid":"2830187","message":" 16:15:58.071302 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.383Z","priority":"6","pid":"2830187","message":" 16:15:58.071713 < \"PWD\""}

data: {"time":"2026-09-19T16:15:58.384Z","priority":"6","pid":"2830187","message":" 16:15:58.071788 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.384Z","priority":"6","pid":"2830187","message":" 16:15:58.072089 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:58.385Z","priority":"6","pid":"2830187","message":" 16:15:58.072134 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:58.385Z","priority":"6","pid":"2830187","message":" 16:15:58.072154 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:58.386Z","priority":"6","pid":"2830187","message":" 16:15:58.075425 DATA sockfilt for passive data channel started (pid 86139)"}

data: {"time":"2026-09-19T16:15:58.386Z","priority":"6","pid":"2830187","message":" 16:15:58.075718 DATA sockfilt for passive data channel listens on port 37519"}

data: {"time":"2026-09-19T16:15:58.387Z","priority":"6","pid":"2830187","message":" 16:15:58.075970 > \"229 Entering Passive Mode (|||37519|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.387Z","priority":"6","pid":"2830187","message":" 16:15:58.076032 Client has been notified that upcoming DATA connection is awaited on port 37519"}

data: {"time":"2026-09-19T16:15:58.388Z","priority":"6","pid":"2830187","message":" 16:15:58.076391 Client connects to port 37519"}

data: {"time":"2026-09-19T16:15:58.388Z","priority":"6","pid":"2830187","message":" 16:15:58.076459 ====> Client established passive DATA connection on port 37519"}

data: {"time":"2026-09-19T16:15:58.389Z","priority":"6","pid":"2830187","message":" 16:15:58.076684 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:58.389Z","priority":"6","pid":"2830187","message":" 16:15:58.076844 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.390Z","priority":"6","pid":"2830187","message":" 16:15:58.077091 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:58.390Z","priority":"6","pid":"2830187","message":" 16:15:58.077147 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.390Z","priority":"6","pid":"2830187","message":" 16:15:58.077452 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:58.391Z","priority":"6","pid":"2830187","message":" 16:15:58.077508 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.391Z","priority":"6","pid":"2830187","message":" 16:15:58.077642 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:58.392Z","priority":"6","pid":"2830187","message":" 16:15:58.077664 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:58.392Z","priority":"6","pid":"2830187","message":" 16:15:58.078071 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:58.393Z","priority":"6","pid":"2830187","message":" 16:15:58.078116 DATA sockfilt for passive data channel quits (pid 86139)"}

data: {"time":"2026-09-19T16:15:58.393Z","priority":"6","pid":"2830187","message":" 16:15:58.078584 DATA sockfilt for passive data channel quit (pid 86139)"}

data: {"time":"2026-09-19T16:15:58.670Z","priority":"6","pid":"2830187","message":" 16:15:58.078627 =====> Closed pasCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind125 ../src/curl -q --output log/curl125.out  --include --trace-ascii log/trace125 --trace-time ftp://127.0.0.1:40545/path/to/file/125 > log/stdout125 2> log/stderr125"}

data: {"time":"2026-09-19T16:15:58.675Z","priority":"6","pid":"2830187","message":"sive DATA connection"}

data: {"time":"2026-09-19T16:15:58.675Z","priority":"6","pid":"2830187","message":" 16:15:58.078749 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.676Z","priority":"6","pid":"2830187","message":" 16:15:58.118994 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:58.676Z","priority":"6","pid":"2830187","message":" 16:15:58.119169 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.676Z","priority":"6","pid":"2830187","message":" 16:15:58.120226 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:58.676Z","priority":"6","pid":"2830187","message":" 16:15:58.120425 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:58.677Z","priority":"6","pid":"2830187","message":" 16:15:58.120611 Awaiting input"}

data: {"time":"2026-09-19T16:15:58.677Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:58.677Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:58.678Z","priority":"6","pid":"2830187","message":" 16:15:58.140299 ====> Client connect"}

data: {"time":"2026-09-19T16:15:58.678Z","priority":"6","pid":"2830187","message":" 16:15:58.141135 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.679Z","priority":"6","pid":"2830187","message":" 16:15:58.141198 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.679Z","priority":"6","pid":"2830187","message":" 16:15:58.141247 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:58.680Z","priority":"6","pid":"2830187","message":" 16:15:58.141264 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.680Z","priority":"6","pid":"2830187","message":" 16:15:58.141277 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.681Z","priority":"6","pid":"2830187","message":" 16:15:58.141483 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.681Z","priority":"6","pid":"2830187","message":" 16:15:58.141515 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.681Z","priority":"6","pid":"2830187","message":" 16:15:58.142269 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.682Z","priority":"6","pid":"2830187","message":" 16:15:58.142307 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.682Z","priority":"6","pid":"2830187","message":" 16:15:58.142324 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.683Z","priority":"6","pid":"2830187","message":" 16:15:58.142481 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.683Z","priority":"6","pid":"2830187","message":" 16:15:58.142510 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.683Z","priority":"6","pid":"2830187","message":" 16:15:58.142803 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.684Z","priority":"6","pid":"2830187","message":" 16:15:58.142830 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.684Z","priority":"6","pid":"2830187","message":" 16:15:58.142845 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.685Z","priority":"6","pid":"2830187","message":" 16:15:58.143018 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.685Z","priority":"6","pid":"2830187","message":" 16:15:58.143045 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.685Z","priority":"6","pid":"2830187","message":" 16:15:58.143269 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.685Z","priority":"6","pid":"2830187","message":" 16:15:58.143291 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.686Z","priority":"6","pid":"2830187","message":" 16:15:58.143309 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.686Z","priority":"6","pid":"2830187","message":" 16:15:58.143413 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.686Z","priority":"6","pid":"2830187","message":" 16:15:58.143427 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.687Z","priority":"6","pid":"2830187","message":" 16:15:58.147235 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.687Z","priority":"6","pid":"2830187","message":" 16:15:58.147266 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.688Z","priority":"6","pid":"2830187","message":" 16:15:58.147298 '229 Entering Passive Mode (|||37519|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.688Z","priority":"6","pid":"2830187","message":" 16:15:58.147967 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.688Z","priority":"6","pid":"2830187","message":" 16:15:58.147989 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.689Z","priority":"6","pid":"2830187","message":" 16:15:58.148162 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.689Z","priority":"6","pid":"2830187","message":" 16:15:58.148177 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.689Z","priority":"6","pid":"2830187","message":" 16:15:58.148207 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.690Z","priority":"6","pid":"2830187","message":" 16:15:58.148404 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.690Z","priority":"6","pid":"2830187","message":" 16:15:58.148424 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.690Z","priority":"6","pid":"2830187","message":" 16:15:58.148605 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.691Z","priority":"6","pid":"2830187","message":" 16:15:58.148618 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.691Z","priority":"6","pid":"2830187","message":" 16:15:58.148631 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.691Z","priority":"6","pid":"2830187","message":" 16:15:58.148729 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.692Z","priority":"6","pid":"2830187","message":" 16:15:58.148746 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.692Z","priority":"6","pid":"2830187","message":" 16:15:58.149127 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.693Z","priority":"6","pid":"2830187","message":" 16:15:58.149143 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.693Z","priority":"6","pid":"2830187","message":" 16:15:58.149156 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.693Z","priority":"6","pid":"2830187","message":" 16:15:58.150108 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.694Z","priority":"6","pid":"2830187","message":" 16:15:58.150125 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.694Z","priority":"6","pid":"2830187","message":" 16:15:58.150148 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.695Z","priority":"6","pid":"2830187","message":" 16:15:58.190162 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.696Z","priority":"6","pid":"2830187","message":" 16:15:58.190226 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.696Z","priority":"6","pid":"2830187","message":" 16:15:58.190697 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.696Z","priority":"6","pid":"2830187","message":" 16:15:58.190728 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.696Z","priority":"6","pid":"2830187","message":" 16:15:58.190744 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.696Z","priority":"6","pid":"2830187","message":" 16:15:58.191568 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:58.697Z","priority":"6","pid":"2830187","message":" 16:15:58.191719 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:58.697Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:58.697Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:58.698Z","priority":"6","pid":"2830187","message":" 16:15:58.146508 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:58.698Z","priority":"6","pid":"2830187","message":" 16:15:58.146645 Listening on port 37519"}

data: {"time":"2026-09-19T16:15:58.698Z","priority":"6","pid":"2830187","message":" 16:15:58.146713 Wrote pid 86139 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:58.699Z","priority":"6","pid":"2830187","message":" 16:15:58.146744 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:58.699Z","priority":"6","pid":"2830187","message":" 16:15:58.146960 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:58.699Z","priority":"6","pid":"2830187","message":" 16:15:58.147690 ====> Client connect"}

data: {"time":"2026-09-19T16:15:58.700Z","priority":"6","pid":"2830187","message":" 16:15:58.149195 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.700Z","priority":"6","pid":"2830187","message":" 16:15:58.149219 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.701Z","priority":"6","pid":"2830187","message":" 16:15:58.149231 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.701Z","priority":"6","pid":"2830187","message":" 16:15:58.149267 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:58.701Z","priority":"6","pid":"2830187","message":" 16:15:58.149282 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:58.702Z","priority":"6","pid":"2830187","message":" 16:15:58.149576 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:58.702Z","priority":"6","pid":"2830187","message":" 16:15:58.149593 quits"}

data: {"time":"2026-09-19T16:15:58.702Z","priority":"6","pid":"2830187","message":" 16:15:58.149696 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:58.703Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:58.704Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:58.704Z","priority":"6","pid":"2830187","message":" REPLY PWD 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:58.704Z","priority":"6","pid":"2830187","message":" REPLY EPSV 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:58.704Z","priority":"6","pid":"2830187","message":" Testnum 124"}

data: {"time":"2026-09-19T16:15:58.704Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:58.705Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind124"}

data: {"time":"2026-09-19T16:15:58.705Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:58.705Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:58.706Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:58.706Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.707Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:58.707Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:58.707Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:58.708Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:58.708Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:58.708Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.708Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:58.709Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:58.709Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:58.710Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:58.710Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:58.711Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:58.711Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:58.712Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.712Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:58.712Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:58.712Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.713Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:58.713Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:58.713Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:58.714Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:58.714Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:58.714Z","priority":"6","pid":"2830187","message":"=== End of file valgrind124"}

data: {"time":"2026-09-19T16:15:58.715Z","priority":"6","pid":"2830187","message":"test 0125 [FTP download, failed CWD]"}

data: {"time":"2026-09-19T16:15:58.716Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind125 ../src/curl -q --output log/curl125.out  --include --trace-ascii log/trace125 --trace-time ftp://127.0.0.1:40545/path/to/file/125 > log/stdout125 2> log/stderr125"}

data: {"time":"2026-09-19T16:15:58.717Z","priority":"6","pid":"2830187","message":" 125: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:58.717Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:58.717Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:58.718Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 125"}

data: {"time":"2026-09-19T16:15:58.718Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:58.720Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind125 ../src/curl -q --output log/curl125.out  --include --trace-ascii log/trace125 --trace-time ftp://127.0.0.1:40545/path/to/file/125 > log/stdout125 2> log/stderr125"}

data: {"time":"2026-09-19T16:15:58.720Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:58.720Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:58.721Z","priority":"6","pid":"2830187","message":" 16:15:58.435525 ====> Client connect"}

data: {"time":"2026-09-19T16:15:58.722Z","priority":"6","pid":"2830187","message":" 16:15:58.436187 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.722Z","priority":"6","pid":"2830187","message":" 16:15:58.436414 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:58.723Z","priority":"6","pid":"2830187","message":" 16:15:58.436501 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.723Z","priority":"6","pid":"2830187","message":" 16:15:58.436717 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:58.724Z","priority":"6","pid":"2830187","message":" 16:15:58.436749 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.724Z","priority":"6","pid":"2830187","message":" 16:15:58.436925 < \"PWD\""}

data: {"time":"2026-09-19T16:15:58.724Z","priority":"6","pid":"2830187","message":" 16:15:58.436965 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.725Z","priority":"6","pid":"2830187","message":" 16:15:58.437190 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:58.725Z","priority":"6","pid":"2830187","message":" 16:15:58.437226 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:58.725Z","priority":"6","pid":"2830187","message":" 16:15:58.437241 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:58.725Z","priority":"6","pid":"2830187","message":" 16:15:58.440192 DATA sockfilt for passive data channel started (pid 86204)"}

data: {"time":"2026-09-19T16:15:58.726Z","priority":"6","pid":"2830187","message":" 16:15:58.440381 DATA sockfilt for passive data channel listens on port 40937"}

data: {"time":"2026-09-19T16:15:58.726Z","priority":"6","pid":"2830187","message":" 16:15:58.440442 > \"229 Entering Passive Mode (|||40937|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.727Z","priority":"6","pid":"2830187","message":" 16:15:58.440462 Client has been notified that upcoming DATA connection is awaited on port 40937"}

data: {"time":"2026-09-19T16:15:58.728Z","priority":"6","pid":"2830187","message":" 16:15:58.440844 Client connects to port 40937"}

data: {"time":"2026-09-19T16:15:58.728Z","priority":"6","pid":"2830187","message":" 16:15:58.440892 ====> Client established passive DATA connection on port 40937"}

data: {"time":"2026-09-19T16:15:58.728Z","priority":"6","pid":"2830187","message":" 16:15:58.441010 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:58.728Z","priority":"6","pid":"2830187","message":" 16:15:58.441195 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.729Z","priority":"6","pid":"2830187","message":" 16:15:58.441277 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:58.729Z","priority":"6","pid":"2830187","message":" 16:15:58.441471 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.729Z","priority":"6","pid":"2830187","message":" 16:15:58.441540 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:58.730Z","priority":"6","pid":"2830187","message":" 16:15:58.441579 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.730Z","priority":"6","pid":"2830187","message":" 16:15:58.441691 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:58.731Z","priority":"6","pid":"2830187","message":" 16:15:58.441707 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:58.731Z","priority":"6","pid":"2830187","message":" 16:15:58.442058 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:58.731Z","priority":"6","pid":"2830187","message":" 16:15:58.442092 DATA sockfilt for passive data channel quits (pid 86204)"}

data: {"time":"2026-09-19T16:15:58.732Z","priority":"6","pid":"2830187","message":" 16:15:58.442442 DATA sockfilt for passive data channel quit (pid 86204)"}

data: {"time":"2026-09-19T16:15:58.732Z","priority":"6","pid":"2830187","message":" 16:15:58.442475 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:58.733Z","priority":"6","pid":"2830187","message":" 16:15:58.442568 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.733Z","priority":"6","pid":"2830187","message":" 16:15:58.483153 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:58.733Z","priority":"6","pid":"2830187","message":" 16:15:58.483301 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:58.733Z","priority":"6","pid":"2830187","message":" 16:15:58.484451 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:58.734Z","priority":"6","pid":"2830187","message":" 16:15:58.484687 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:58.734Z","priority":"6","pid":"2830187","message":" 16:15:58.484865 Awaiting input"}

data: {"time":"2026-09-19T16:15:58.734Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:58.735Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:58.735Z","priority":"6","pid":"2830187","message":" 16:15:58.506769 ====> Client connect"}

data: {"time":"2026-09-19T16:15:58.735Z","priority":"6","pid":"2830187","message":" 16:15:58.507249 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.974Z","priority":"6","pid":"2830187","message":" 16:15:58.507280 > 146 bytes data,CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind126 ../src/curl -q --output log/curl126.out  --include --trace-ascii log/trace126 --trace-time ftp://127.0.0.1:40545/blalbla/lululul/126 > log/stdout126 2> log/stderr126"}

data: {"time":"2026-09-19T16:15:58.992Z","priority":"6","pid":"2830187","message":" server => client"}

data: {"time":"2026-09-19T16:15:58.992Z","priority":"6","pid":"2830187","message":" 16:15:58.507401 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:58.993Z","priority":"6","pid":"2830187","message":" 16:15:58.507426 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.993Z","priority":"6","pid":"2830187","message":" 16:15:58.507443 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.994Z","priority":"6","pid":"2830187","message":" 16:15:58.507550 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.994Z","priority":"6","pid":"2830187","message":" 16:15:58.507562 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.995Z","priority":"6","pid":"2830187","message":" 16:15:58.507870 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.995Z","priority":"6","pid":"2830187","message":" 16:15:58.507887 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.996Z","priority":"6","pid":"2830187","message":" 16:15:58.507946 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.997Z","priority":"6","pid":"2830187","message":" 16:15:58.508029 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.997Z","priority":"6","pid":"2830187","message":" 16:15:58.508041 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.997Z","priority":"6","pid":"2830187","message":" 16:15:58.508183 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.997Z","priority":"6","pid":"2830187","message":" 16:15:58.508194 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:58.997Z","priority":"6","pid":"2830187","message":" 16:15:58.508203 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.999Z","priority":"6","pid":"2830187","message":" 16:15:58.508263 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:58.999Z","priority":"6","pid":"2830187","message":" 16:15:58.508273 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:58.999Z","priority":"6","pid":"2830187","message":" 16:15:58.508397 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:58.999Z","priority":"6","pid":"2830187","message":" 16:15:58.508408 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.000Z","priority":"6","pid":"2830187","message":" 16:15:58.508417 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.000Z","priority":"6","pid":"2830187","message":" 16:15:58.508514 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.001Z","priority":"6","pid":"2830187","message":" 16:15:58.508528 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.001Z","priority":"6","pid":"2830187","message":" 16:15:58.511911 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.002Z","priority":"6","pid":"2830187","message":" 16:15:58.511932 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.003Z","priority":"6","pid":"2830187","message":" 16:15:58.511942 '229 Entering Passive Mode (|||40937|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.003Z","priority":"6","pid":"2830187","message":" 16:15:58.512175 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.003Z","priority":"6","pid":"2830187","message":" 16:15:58.512193 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.003Z","priority":"6","pid":"2830187","message":" 16:15:58.512462 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.003Z","priority":"6","pid":"2830187","message":" 16:15:58.512478 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.004Z","priority":"6","pid":"2830187","message":" 16:15:58.512495 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.005Z","priority":"6","pid":"2830187","message":" 16:15:58.512563 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.005Z","priority":"6","pid":"2830187","message":" 16:15:58.512574 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.005Z","priority":"6","pid":"2830187","message":" 16:15:58.512731 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.005Z","priority":"6","pid":"2830187","message":" 16:15:58.512772 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.005Z","priority":"6","pid":"2830187","message":" 16:15:58.512790 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.006Z","priority":"6","pid":"2830187","message":" 16:15:58.512847 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.006Z","priority":"6","pid":"2830187","message":" 16:15:58.512858 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.006Z","priority":"6","pid":"2830187","message":" 16:15:58.513311 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.007Z","priority":"6","pid":"2830187","message":" 16:15:58.513326 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.007Z","priority":"6","pid":"2830187","message":" 16:15:58.513335 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.008Z","priority":"6","pid":"2830187","message":" 16:15:58.513922 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.008Z","priority":"6","pid":"2830187","message":" 16:15:58.513938 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.009Z","priority":"6","pid":"2830187","message":" 16:15:58.513954 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.009Z","priority":"6","pid":"2830187","message":" 16:15:58.554203 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.009Z","priority":"6","pid":"2830187","message":" 16:15:58.554277 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.010Z","priority":"6","pid":"2830187","message":" 16:15:58.554818 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.010Z","priority":"6","pid":"2830187","message":" 16:15:58.554852 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.010Z","priority":"6","pid":"2830187","message":" 16:15:58.554868 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.011Z","priority":"6","pid":"2830187","message":" 16:15:58.555701 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:59.012Z","priority":"6","pid":"2830187","message":" 16:15:58.555969 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:59.012Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:59.012Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:59.012Z","priority":"6","pid":"2830187","message":" 16:15:58.511327 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:59.013Z","priority":"6","pid":"2830187","message":" 16:15:58.511447 Listening on port 40937"}

data: {"time":"2026-09-19T16:15:59.013Z","priority":"6","pid":"2830187","message":" 16:15:58.511487 Wrote pid 86204 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:59.013Z","priority":"6","pid":"2830187","message":" 16:15:58.511546 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:59.014Z","priority":"6","pid":"2830187","message":" 16:15:58.511674 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:59.015Z","priority":"6","pid":"2830187","message":" 16:15:58.512218 ====> Client connect"}

data: {"time":"2026-09-19T16:15:59.015Z","priority":"6","pid":"2830187","message":" 16:15:58.513188 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.015Z","priority":"6","pid":"2830187","message":" 16:15:58.513214 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.015Z","priority":"6","pid":"2830187","message":" 16:15:58.513223 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.015Z","priority":"6","pid":"2830187","message":" 16:15:58.513266 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:59.016Z","priority":"6","pid":"2830187","message":" 16:15:58.513278 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:59.016Z","priority":"6","pid":"2830187","message":" 16:15:58.513539 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:59.016Z","priority":"6","pid":"2830187","message":" 16:15:58.513553 quits"}

data: {"time":"2026-09-19T16:15:59.017Z","priority":"6","pid":"2830187","message":" 16:15:58.513633 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:59.017Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:59.017Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:59.018Z","priority":"6","pid":"2830187","message":" REPLY CWD 314 bluah you f00l"}

data: {"time":"2026-09-19T16:15:59.018Z","priority":"6","pid":"2830187","message":" Testnum 125"}

data: {"time":"2026-09-19T16:15:59.018Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:59.018Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind125"}

data: {"time":"2026-09-19T16:15:59.019Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:59.019Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:59.019Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:59.020Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.020Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:59.021Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:59.021Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:59.021Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:59.021Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:59.021Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.023Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:59.023Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:59.023Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:59.023Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:59.024Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:59.024Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:59.025Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:59.025Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.025Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:59.025Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:59.026Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.026Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:59.027Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:59.027Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:59.027Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.028Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:59.028Z","priority":"6","pid":"2830187","message":"=== End of file valgrind125"}

data: {"time":"2026-09-19T16:15:59.028Z","priority":"6","pid":"2830187","message":"test 0126 [FTP download with multiple replies at once in RETR]"}

data: {"time":"2026-09-19T16:15:59.030Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind126 ../src/curl -q --output log/curl126.out  --include --trace-ascii log/trace126 --trace-time ftp://127.0.0.1:40545/blalbla/lululul/126 > log/stdout126 2> log/stderr126"}

data: {"time":"2026-09-19T16:15:59.030Z","priority":"6","pid":"2830187","message":" 126: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:59.030Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:59.031Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:59.031Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 126"}

data: {"time":"2026-09-19T16:15:59.032Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:59.033Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind126 ../src/curl -q --output log/curl126.out  --include --trace-ascii log/trace126 --trace-time ftp://127.0.0.1:40545/blalbla/lululul/126 > log/stdout126 2> log/stderr126"}

data: {"time":"2026-09-19T16:15:59.033Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:59.034Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:59.034Z","priority":"6","pid":"2830187","message":" 16:15:58.773492 ====> Client connect"}

data: {"time":"2026-09-19T16:15:59.035Z","priority":"6","pid":"2830187","message":" 16:15:58.774178 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.035Z","priority":"6","pid":"2830187","message":" 16:15:58.774419 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:59.036Z","priority":"6","pid":"2830187","message":" 16:15:58.774526 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.036Z","priority":"6","pid":"2830187","message":" 16:15:58.774804 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:59.036Z","priority":"6","pid":"2830187","message":" 16:15:58.774847 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.037Z","priority":"6","pid":"2830187","message":" 16:15:58.775069 < \"PWD\""}

data: {"time":"2026-09-19T16:15:59.037Z","priority":"6","pid":"2830187","message":" 16:15:58.775119 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.038Z","priority":"6","pid":"2830187","message":" 16:15:58.775388 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:59.038Z","priority":"6","pid":"2830187","message":" 16:15:58.775430 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:59.038Z","priority":"6","pid":"2830187","message":" 16:15:58.775450 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:59.039Z","priority":"6","pid":"2830187","message":" 16:15:58.778520 DATA sockfilt for passive data channel started (pid 86269)"}

data: {"time":"2026-09-19T16:15:59.039Z","priority":"6","pid":"2830187","message":" 16:15:58.778698 DATA sockfilt for passive data channel listens on port 44461"}

data: {"time":"2026-09-19T16:15:59.040Z","priority":"6","pid":"2830187","message":" 16:15:58.778761 > \"229 Entering Passive Mode (|||44461|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.040Z","priority":"6","pid":"2830187","message":" 16:15:58.778781 Client has been notified that upcoming DATA connection is awaited on port 44461"}

data: {"time":"2026-09-19T16:15:59.041Z","priority":"6","pid":"2830187","message":" 16:15:58.779384 Client connects to port 44461"}

data: {"time":"2026-09-19T16:15:59.041Z","priority":"6","pid":"2830187","message":" 16:15:58.779455 ====> Client established passive DATA connection on port 44461"}

data: {"time":"2026-09-19T16:15:59.042Z","priority":"6","pid":"2830187","message":" 16:15:58.779607 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:59.042Z","priority":"6","pid":"2830187","message":" 16:15:58.779812 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.043Z","priority":"6","pid":"2830187","message":" 16:15:58.780103 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:59.043Z","priority":"6","pid":"2830187","message":" 16:15:58.780165 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.043Z","priority":"6","pid":"2830187","message":" 16:15:58.780437 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:59.043Z","priority":"6","pid":"2830187","message":" 16:15:58.780501 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.043Z","priority":"6","pid":"2830187","message":" 16:15:58.780764 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:59.044Z","priority":"6","pid":"2830187","message":" 16:15:58.780792 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:59.044Z","priority":"6","pid":"2830187","message":" 16:15:58.781104 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:59.045Z","priority":"6","pid":"2830187","message":" 16:15:58.781144 DATA sockfilt for passive data channel quits (pid 86269)"}

data: {"time":"2026-09-19T16:15:59.045Z","priority":"6","pid":"2830187","message":" 16:15:58.781590 DATA sockfilt for passive data channel quit (pid 86269)"}

data: {"time":"2026-09-19T16:15:59.046Z","priority":"6","pid":"2830187","message":" 16:15:58.781632 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:59.046Z","priority":"6","pid":"2830187","message":" 16:15:58.781684 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.046Z","priority":"6","pid":"2830187","message":" 16:15:58.822009 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:59.047Z","priority":"6","pid":"2830187","message":" 16:15:58.822122 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.047Z","priority":"6","pid":"2830187","message":" 16:15:58.822438 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:59.048Z","priority":"6","pid":"2830187","message":" 16:15:58.823154 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:59.048Z","priority":"6","pid":"2830187","message":" 16:15:58.823372 Awaiting input"}

data: {"time":"2026-09-19T16:15:59.048Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:59.048Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:59.049Z","priority":"6","pid":"2830187","message":" 16:15:58.844681 ====> Client connect"}

data: {"time":"2026-09-19T16:15:59.049Z","priority":"6","pid":"2830187","message":" 16:15:58.845184 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.049Z","priority":"6","pid":"2830187","message":" 16:15:58.845211 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.050Z","priority":"6","pid":"2830187","message":" 16:15:58.845324 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:59.050Z","priority":"6","pid":"2830187","message":" 16:15:58.845350 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.051Z","priority":"6","pid":"2830187","message":" 16:15:58.845364 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.051Z","priority":"6","pid":"2830187","message":" 16:15:58.845513 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.051Z","priority":"6","pid":"2830187","message":" 16:15:58.845530 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.052Z","priority":"6","pid":"2830187","message":" 16:15:58.845869 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.052Z","priority":"6","pid":"2830187","message":" 16:15:58.845888 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.312Z","priority":"6","pid":"2830187","message":" 16:15:58.845969 '331 We areCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind127 ../src/curl -q --output log/curl127.out  --include --trace-ascii log/trace127 --trace-time ftp://127.0.0.1:40545/path/to/file/127 --disable-epsv > log/stdout127 2> log/stderr127"}

data: {"time":"2026-09-19T16:15:59.328Z","priority":"6","pid":"2830187","message":" happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.328Z","priority":"6","pid":"2830187","message":" 16:15:58.846075 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.328Z","priority":"6","pid":"2830187","message":" 16:15:58.846091 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.330Z","priority":"6","pid":"2830187","message":" 16:15:58.846272 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.330Z","priority":"6","pid":"2830187","message":" 16:15:58.846287 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.330Z","priority":"6","pid":"2830187","message":" 16:15:58.846300 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.331Z","priority":"6","pid":"2830187","message":" 16:15:58.846374 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.331Z","priority":"6","pid":"2830187","message":" 16:15:58.846387 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.331Z","priority":"6","pid":"2830187","message":" 16:15:58.846542 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.332Z","priority":"6","pid":"2830187","message":" 16:15:58.846556 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.332Z","priority":"6","pid":"2830187","message":" 16:15:58.846569 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.333Z","priority":"6","pid":"2830187","message":" 16:15:58.846664 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.334Z","priority":"6","pid":"2830187","message":" 16:15:58.846679 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.334Z","priority":"6","pid":"2830187","message":" 16:15:58.850231 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.334Z","priority":"6","pid":"2830187","message":" 16:15:58.850267 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.334Z","priority":"6","pid":"2830187","message":" 16:15:58.850287 '229 Entering Passive Mode (|||44461|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.334Z","priority":"6","pid":"2830187","message":" 16:15:58.850615 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.335Z","priority":"6","pid":"2830187","message":" 16:15:58.850657 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.335Z","priority":"6","pid":"2830187","message":" 16:15:58.851069 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.335Z","priority":"6","pid":"2830187","message":" 16:15:58.851112 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.336Z","priority":"6","pid":"2830187","message":" 16:15:58.851147 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.336Z","priority":"6","pid":"2830187","message":" 16:15:58.851393 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.337Z","priority":"6","pid":"2830187","message":" 16:15:58.851429 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.337Z","priority":"6","pid":"2830187","message":" 16:15:58.851590 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.337Z","priority":"6","pid":"2830187","message":" 16:15:58.851604 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.338Z","priority":"6","pid":"2830187","message":" 16:15:58.851618 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.338Z","priority":"6","pid":"2830187","message":" 16:15:58.851703 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.338Z","priority":"6","pid":"2830187","message":" 16:15:58.851719 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.339Z","priority":"6","pid":"2830187","message":" 16:15:58.851988 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.339Z","priority":"6","pid":"2830187","message":" 16:15:58.852003 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.340Z","priority":"6","pid":"2830187","message":" 16:15:58.852016 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.340Z","priority":"6","pid":"2830187","message":" 16:15:58.853128 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.341Z","priority":"6","pid":"2830187","message":" 16:15:58.853146 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.341Z","priority":"6","pid":"2830187","message":" 16:15:58.853158 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.341Z","priority":"6","pid":"2830187","message":" 16:15:58.893238 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.342Z","priority":"6","pid":"2830187","message":" 16:15:58.893298 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.343Z","priority":"6","pid":"2830187","message":" 16:15:58.893473 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.343Z","priority":"6","pid":"2830187","message":" 16:15:58.893488 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.343Z","priority":"6","pid":"2830187","message":" 16:15:58.893549 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.343Z","priority":"6","pid":"2830187","message":" 16:15:58.893768 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:59.344Z","priority":"6","pid":"2830187","message":" 16:15:58.893880 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:59.344Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:59.345Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:59.345Z","priority":"6","pid":"2830187","message":" 16:15:58.849642 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:59.345Z","priority":"6","pid":"2830187","message":" 16:15:58.849791 Listening on port 44461"}

data: {"time":"2026-09-19T16:15:59.346Z","priority":"6","pid":"2830187","message":" 16:15:58.849835 Wrote pid 86269 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:59.346Z","priority":"6","pid":"2830187","message":" 16:15:58.849861 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:59.347Z","priority":"6","pid":"2830187","message":" 16:15:58.849991 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:59.347Z","priority":"6","pid":"2830187","message":" 16:15:58.850694 ====> Client connect"}

data: {"time":"2026-09-19T16:15:59.347Z","priority":"6","pid":"2830187","message":" 16:15:58.851945 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.348Z","priority":"6","pid":"2830187","message":" 16:15:58.851969 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.348Z","priority":"6","pid":"2830187","message":" 16:15:58.852277 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.349Z","priority":"6","pid":"2830187","message":" 16:15:58.852328 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:59.349Z","priority":"6","pid":"2830187","message":" 16:15:58.852343 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:59.349Z","priority":"6","pid":"2830187","message":" 16:15:58.852568 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:59.350Z","priority":"6","pid":"2830187","message":" 16:15:58.852583 quits"}

data: {"time":"2026-09-19T16:15:59.350Z","priority":"6","pid":"2830187","message":" 16:15:58.852681 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:59.350Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:59.351Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:59.351Z","priority":"6","pid":"2830187","message":" RETRWEIRDO"}

data: {"time":"2026-09-19T16:15:59.351Z","priority":"6","pid":"2830187","message":" Testnum 126"}

data: {"time":"2026-09-19T16:15:59.352Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:59.352Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind126"}

data: {"time":"2026-09-19T16:15:59.352Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:59.353Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:59.353Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:59.353Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.354Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:59.354Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:59.354Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:59.354Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:59.355Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:59.355Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.355Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:59.356Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:59.356Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:59.357Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:59.357Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:59.358Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:59.358Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:59.358Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.359Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:59.359Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:59.359Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.359Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:59.360Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:59.360Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:59.361Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.361Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:59.361Z","priority":"6","pid":"2830187","message":"=== End of file valgrind126"}

data: {"time":"2026-09-19T16:15:59.361Z","priority":"6","pid":"2830187","message":"test 0127 [FTP --disable-epsv]"}

data: {"time":"2026-09-19T16:15:59.362Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind127 ../src/curl -q --output log/curl127.out  --include --trace-ascii log/trace127 --trace-time ftp://127.0.0.1:40545/path/to/file/127 --disable-epsv > log/stdout127 2> log/stderr127"}

data: {"time":"2026-09-19T16:15:59.363Z","priority":"6","pid":"2830187","message":" 127: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:59.363Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:59.364Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:59.364Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 127"}

data: {"time":"2026-09-19T16:15:59.364Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:59.366Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind127 ../src/curl -q --output log/curl127.out  --include --trace-ascii log/trace127 --trace-time ftp://127.0.0.1:40545/path/to/file/127 --disable-epsv > log/stdout127 2> log/stderr127"}

data: {"time":"2026-09-19T16:15:59.366Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:59.366Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:59.367Z","priority":"6","pid":"2830187","message":" 16:15:59.093036 ====> Client connect"}

data: {"time":"2026-09-19T16:15:59.368Z","priority":"6","pid":"2830187","message":" 16:15:59.093430 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.368Z","priority":"6","pid":"2830187","message":" 16:15:59.093942 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:59.368Z","priority":"6","pid":"2830187","message":" 16:15:59.093999 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.369Z","priority":"6","pid":"2830187","message":" 16:15:59.094287 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:59.369Z","priority":"6","pid":"2830187","message":" 16:15:59.094462 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.370Z","priority":"6","pid":"2830187","message":" 16:15:59.094671 < \"PWD\""}

data: {"time":"2026-09-19T16:15:59.370Z","priority":"6","pid":"2830187","message":" 16:15:59.094725 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.370Z","priority":"6","pid":"2830187","message":" 16:15:59.094994 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:59.370Z","priority":"6","pid":"2830187","message":" 16:15:59.095038 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:59.371Z","priority":"6","pid":"2830187","message":" 16:15:59.095057 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:59.371Z","priority":"6","pid":"2830187","message":" 16:15:59.098927 DATA sockfilt for passive data channel started (pid 86334)"}

data: {"time":"2026-09-19T16:15:59.372Z","priority":"6","pid":"2830187","message":" 16:15:59.099166 DATA sockfilt for passive data channel listens on port 42741"}

data: {"time":"2026-09-19T16:15:59.373Z","priority":"6","pid":"2830187","message":" 16:15:59.099246 > \"229 Entering Passive Mode (|||42741|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.373Z","priority":"6","pid":"2830187","message":" 16:15:59.099270 Client has been notified that upcoming DATA connection is awaited on port 42741"}

data: {"time":"2026-09-19T16:15:59.373Z","priority":"6","pid":"2830187","message":" 16:15:59.099774 Client connects to port 42741"}

data: {"time":"2026-09-19T16:15:59.374Z","priority":"6","pid":"2830187","message":" 16:15:59.099837 ====> Client established passive DATA connection on port 42741"}

data: {"time":"2026-09-19T16:15:59.374Z","priority":"6","pid":"2830187","message":" 16:15:59.100221 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:59.374Z","priority":"6","pid":"2830187","message":" 16:15:59.100456 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.375Z","priority":"6","pid":"2830187","message":" 16:15:59.100619 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:59.375Z","priority":"6","pid":"2830187","message":" 16:15:59.100676 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.375Z","priority":"6","pid":"2830187","message":" 16:15:59.100922 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:59.376Z","priority":"6","pid":"2830187","message":" 16:15:59.100990 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.376Z","priority":"6","pid":"2830187","message":" 16:15:59.101279 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:59.376Z","priority":"6","pid":"2830187","message":" 16:15:59.101306 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:59.377Z","priority":"6","pid":"2830187","message":" 16:15:59.101659 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:59.377Z","priority":"6","pid":"2830187","message":" 16:15:59.101715 DATA sockfilt for passive data channel quits (pid 86334)"}

data: {"time":"2026-09-19T16:15:59.378Z","priority":"6","pid":"2830187","message":" 16:15:59.102192 DATA sockfilt for passive data channel quit (pid 86334)"}

data: {"time":"2026-09-19T16:15:59.378Z","priority":"6","pid":"2830187","message":" 16:15:59.102252 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:59.379Z","priority":"6","pid":"2830187","message":" 16:15:59.102302 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.379Z","priority":"6","pid":"2830187","message":" 16:15:59.142241 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:59.379Z","priority":"6","pid":"2830187","message":" 16:15:59.142406 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.379Z","priority":"6","pid":"2830187","message":" 16:15:59.143407 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:59.380Z","priority":"6","pid":"2830187","message":" 16:15:59.143582 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:59.380Z","priority":"6","pid":"2830187","message":" 16:15:59.143858 Awaiting input"}

data: {"time":"2026-09-19T16:15:59.380Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:59.380Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:59.381Z","priority":"6","pid":"2830187","message":" 16:15:59.164129 ====> Client connect"}

data: {"time":"2026-09-19T16:15:59.381Z","priority":"6","pid":"2830187","message":" 16:15:59.164872 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.382Z","priority":"6","pid":"2830187","message":" 16:15:59.164904 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.382Z","priority":"6","pid":"2830187","message":" 16:15:59.164920 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:59.383Z","priority":"6","pid":"2830187","message":" 16:15:59.164932 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.383Z","priority":"6","pid":"2830187","message":" 16:15:59.164943 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.383Z","priority":"6","pid":"2830187","message":" 16:15:59.165109 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.384Z","priority":"6","pid":"2830187","message":" 16:15:59.165127 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.384Z","priority":"6","pid":"2830187","message":" 16:15:59.165415 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.384Z","priority":"6","pid":"2830187","message":" 16:15:59.165434 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.385Z","priority":"6","pid":"2830187","message":" 16:15:59.165446 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.385Z","priority":"6","pid":"2830187","message":" 16:15:59.165537 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.385Z","priority":"6","pid":"2830187","message":" 16:15:59.165554 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.386Z","priority":"6","pid":"2830187","message":" 16:15:59.165765 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.386Z","priority":"6","pid":"2830187","message":" 16:15:59.165786 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.386Z","priority":"6","pid":"2830187","message":" 16:15:59.165799 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.387Z","priority":"6","pid":"2830187","message":" 16:15:59.165934 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.387Z","priority":"6","pid":"2830187","message":" 16:15:59.165951 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.387Z","priority":"6","pid":"2830187","message":" 16:15:59.166135 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.388Z","priority":"6","pid":"2830187","message":" 16:15:59.166154 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.680Z","priority":"6","pid":"2830187","message":" 16:15:59.166167 '257 \"/\" is currCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind128 ../src/curl -q --output log/curl128.out  --include --trace-ascii log/trace128 --trace-time ftp://127.0.0.1:40545/128 -T log/upload128 --crlf > log/stdout128 2> log/stderr128"}

data: {"time":"2026-09-19T16:15:59.685Z","priority":"6","pid":"2830187","message":"ent directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.685Z","priority":"6","pid":"2830187","message":" 16:15:59.166263 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.686Z","priority":"6","pid":"2830187","message":" 16:15:59.166277 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.686Z","priority":"6","pid":"2830187","message":" 16:15:59.170703 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.686Z","priority":"6","pid":"2830187","message":" 16:15:59.170758 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.687Z","priority":"6","pid":"2830187","message":" 16:15:59.170773 '229 Entering Passive Mode (|||42741|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.687Z","priority":"6","pid":"2830187","message":" 16:15:59.171398 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.688Z","priority":"6","pid":"2830187","message":" 16:15:59.171423 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.688Z","priority":"6","pid":"2830187","message":" 16:15:59.171661 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.689Z","priority":"6","pid":"2830187","message":" 16:15:59.171681 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.689Z","priority":"6","pid":"2830187","message":" 16:15:59.171704 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.690Z","priority":"6","pid":"2830187","message":" 16:15:59.171892 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.690Z","priority":"6","pid":"2830187","message":" 16:15:59.171909 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.691Z","priority":"6","pid":"2830187","message":" 16:15:59.172089 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.691Z","priority":"6","pid":"2830187","message":" 16:15:59.172105 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.691Z","priority":"6","pid":"2830187","message":" 16:15:59.172116 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.692Z","priority":"6","pid":"2830187","message":" 16:15:59.172200 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.692Z","priority":"6","pid":"2830187","message":" 16:15:59.172215 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.693Z","priority":"6","pid":"2830187","message":" 16:15:59.172468 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.693Z","priority":"6","pid":"2830187","message":" 16:15:59.172485 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.694Z","priority":"6","pid":"2830187","message":" 16:15:59.172497 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.694Z","priority":"6","pid":"2830187","message":" 16:15:59.173774 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.694Z","priority":"6","pid":"2830187","message":" 16:15:59.173798 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.695Z","priority":"6","pid":"2830187","message":" 16:15:59.173812 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.696Z","priority":"6","pid":"2830187","message":" 16:15:59.213389 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.696Z","priority":"6","pid":"2830187","message":" 16:15:59.213472 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.696Z","priority":"6","pid":"2830187","message":" 16:15:59.213869 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.696Z","priority":"6","pid":"2830187","message":" 16:15:59.213899 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.697Z","priority":"6","pid":"2830187","message":" 16:15:59.213914 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.697Z","priority":"6","pid":"2830187","message":" 16:15:59.214023 ====> Client disconnect"}

data: {"time":"2026-09-19T16:15:59.698Z","priority":"6","pid":"2830187","message":" 16:15:59.215318 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:15:59.698Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:59.698Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:59.698Z","priority":"6","pid":"2830187","message":" 16:15:59.169355 Running IPv4 version"}

data: {"time":"2026-09-19T16:15:59.698Z","priority":"6","pid":"2830187","message":" 16:15:59.170144 Listening on port 42741"}

data: {"time":"2026-09-19T16:15:59.699Z","priority":"6","pid":"2830187","message":" 16:15:59.170211 Wrote pid 86334 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:15:59.699Z","priority":"6","pid":"2830187","message":" 16:15:59.170244 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:15:59.700Z","priority":"6","pid":"2830187","message":" 16:15:59.170408 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:15:59.700Z","priority":"6","pid":"2830187","message":" 16:15:59.171091 ====> Client connect"}

data: {"time":"2026-09-19T16:15:59.701Z","priority":"6","pid":"2830187","message":" 16:15:59.172420 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.701Z","priority":"6","pid":"2830187","message":" 16:15:59.172447 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.701Z","priority":"6","pid":"2830187","message":" 16:15:59.172796 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.702Z","priority":"6","pid":"2830187","message":" 16:15:59.172856 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:15:59.703Z","priority":"6","pid":"2830187","message":" 16:15:59.172871 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:15:59.703Z","priority":"6","pid":"2830187","message":" 16:15:59.173129 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:15:59.704Z","priority":"6","pid":"2830187","message":" 16:15:59.173147 quits"}

data: {"time":"2026-09-19T16:15:59.704Z","priority":"6","pid":"2830187","message":" 16:15:59.173266 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:15:59.704Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:15:59.704Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:15:59.704Z","priority":"6","pid":"2830187","message":" Testnum 127"}

data: {"time":"2026-09-19T16:15:59.704Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:15:59.704Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind127"}

data: {"time":"2026-09-19T16:15:59.705Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:15:59.705Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:15:59.706Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:15:59.706Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.706Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:15:59.707Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:15:59.707Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:59.708Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:15:59.708Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:15:59.708Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.709Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:15:59.709Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:15:59.710Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:15:59.710Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:15:59.710Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:15:59.711Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:15:59.711Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:15:59.712Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.712Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:15:59.712Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:15:59.713Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.713Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:15:59.713Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:15:59.713Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:15:59.714Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:15:59.714Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:15:59.714Z","priority":"6","pid":"2830187","message":"=== End of file valgrind127"}

data: {"time":"2026-09-19T16:15:59.715Z","priority":"6","pid":"2830187","message":"test 0128 [FTP upload with --crlf]"}

data: {"time":"2026-09-19T16:15:59.716Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind128 ../src/curl -q --output log/curl128.out  --include --trace-ascii log/trace128 --trace-time ftp://127.0.0.1:40545/128 -T log/upload128 --crlf > log/stdout128 2> log/stderr128"}

data: {"time":"2026-09-19T16:15:59.716Z","priority":"6","pid":"2830187","message":" 128: protocol FAILED!"}

data: {"time":"2026-09-19T16:15:59.717Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:15:59.717Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:15:59.717Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 128"}

data: {"time":"2026-09-19T16:15:59.718Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:15:59.719Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind128 ../src/curl -q --output log/curl128.out  --include --trace-ascii log/trace128 --trace-time ftp://127.0.0.1:40545/128 -T log/upload128 --crlf > log/stdout128 2> log/stderr128"}

data: {"time":"2026-09-19T16:15:59.720Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:15:59.720Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:59.720Z","priority":"6","pid":"2830187","message":" 16:15:59.431913 ====> Client connect"}

data: {"time":"2026-09-19T16:15:59.721Z","priority":"6","pid":"2830187","message":" 16:15:59.432190 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.721Z","priority":"6","pid":"2830187","message":" 16:15:59.432718 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:15:59.722Z","priority":"6","pid":"2830187","message":" 16:15:59.432813 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.722Z","priority":"6","pid":"2830187","message":" 16:15:59.433107 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:15:59.722Z","priority":"6","pid":"2830187","message":" 16:15:59.433156 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.723Z","priority":"6","pid":"2830187","message":" 16:15:59.433449 < \"PWD\""}

data: {"time":"2026-09-19T16:15:59.723Z","priority":"6","pid":"2830187","message":" 16:15:59.433498 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.724Z","priority":"6","pid":"2830187","message":" 16:15:59.433742 < \"EPSV\""}

data: {"time":"2026-09-19T16:15:59.724Z","priority":"6","pid":"2830187","message":" 16:15:59.433796 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:15:59.724Z","priority":"6","pid":"2830187","message":" 16:15:59.433824 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:15:59.725Z","priority":"6","pid":"2830187","message":" 16:15:59.436844 DATA sockfilt for passive data channel started (pid 86399)"}

data: {"time":"2026-09-19T16:15:59.725Z","priority":"6","pid":"2830187","message":" 16:15:59.437042 DATA sockfilt for passive data channel listens on port 36391"}

data: {"time":"2026-09-19T16:15:59.726Z","priority":"6","pid":"2830187","message":" 16:15:59.437132 > \"229 Entering Passive Mode (|||36391|)[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.726Z","priority":"6","pid":"2830187","message":" 16:15:59.437168 Client has been notified that upcoming DATA connection is awaited on port 36391"}

data: {"time":"2026-09-19T16:15:59.726Z","priority":"6","pid":"2830187","message":" 16:15:59.437834 Client connects to port 36391"}

data: {"time":"2026-09-19T16:15:59.727Z","priority":"6","pid":"2830187","message":" 16:15:59.437908 ====> Client established passive DATA connection on port 36391"}

data: {"time":"2026-09-19T16:15:59.727Z","priority":"6","pid":"2830187","message":" 16:15:59.438080 < \"TYPE I\""}

data: {"time":"2026-09-19T16:15:59.728Z","priority":"6","pid":"2830187","message":" 16:15:59.438319 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.728Z","priority":"6","pid":"2830187","message":" 16:15:59.438510 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:15:59.729Z","priority":"6","pid":"2830187","message":" 16:15:59.438640 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.729Z","priority":"6","pid":"2830187","message":" 16:15:59.438941 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:15:59.729Z","priority":"6","pid":"2830187","message":" 16:15:59.439141 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.729Z","priority":"6","pid":"2830187","message":" 16:15:59.439427 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:15:59.730Z","priority":"6","pid":"2830187","message":" 16:15:59.439453 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:15:59.730Z","priority":"6","pid":"2830187","message":" 16:15:59.439670 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:15:59.731Z","priority":"6","pid":"2830187","message":" 16:15:59.439728 DATA sockfilt for passive data channel quits (pid 86399)"}

data: {"time":"2026-09-19T16:15:59.731Z","priority":"6","pid":"2830187","message":" 16:15:59.440138 DATA sockfilt for passive data channel quit (pid 86399)"}

data: {"time":"2026-09-19T16:15:59.732Z","priority":"6","pid":"2830187","message":" 16:15:59.440173 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:15:59.732Z","priority":"6","pid":"2830187","message":" 16:15:59.440216 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.732Z","priority":"6","pid":"2830187","message":" 16:15:59.480200 < \"QUIT\""}

data: {"time":"2026-09-19T16:15:59.733Z","priority":"6","pid":"2830187","message":" 16:15:59.480365 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:15:59.733Z","priority":"6","pid":"2830187","message":" 16:15:59.481422 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:15:59.734Z","priority":"6","pid":"2830187","message":" 16:15:59.481598 ====> Client disconnected"}

data: {"time":"2026-09-19T16:15:59.734Z","priority":"6","pid":"2830187","message":" 16:15:59.481731 Awaiting input"}

data: {"time":"2026-09-19T16:15:59.734Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:15:59.734Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:15:59.734Z","priority":"6","pid":"2830187","message":" 16:15:59.503110 ====> Client connect"}

data: {"time":"2026-09-19T16:15:59.735Z","priority":"6","pid":"2830187","message":" 16:15:59.503673 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.735Z","priority":"6","pid":"2830187","message":" 16:15:59.503726 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.736Z","priority":"6","pid":"2830187","message":" 16:15:59.503743 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:15:59.736Z","priority":"6","pid":"2830187","message":" 16:15:59.503758 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.737Z","priority":"6","pid":"2830187","message":" 16:15:59.503769 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.737Z","priority":"6","pid":"2830187","message":" 16:15:59.503882 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.737Z","priority":"6","pid":"2830187","message":" 16:15:59.503897 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.738Z","priority":"6","pid":"2830187","message":" 16:15:59.504132 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.738Z","priority":"6","pid":"2830187","message":" 16:15:59.504147 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.738Z","priority":"6","pid":"2830187","message":" 16:15:59.504216 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.738Z","priority":"6","pid":"2830187","message":" 16:15:59.504343 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.738Z","priority":"6","pid":"2830187","message":" 16:15:59.504364 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.739Z","priority":"6","pid":"2830187","message":" 16:15:59.504558 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.739Z","priority":"6","pid":"2830187","message":" 16:15:59.504576 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.739Z","priority":"6","pid":"2830187","message":" 16:15:59.504589 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.740Z","priority":"6","pid":"2830187","message":" 16:15:59.504676 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.740Z","priority":"6","pid":"2830187","message":" 16:15:59.504692 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.740Z","priority":"6","pid":"2830187","message":" 16:15:59.504905 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.741Z","priority":"6","pid":"2830187","message":" 16:15:59.504915 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.741Z","priority":"6","pid":"2830187","message":" 16:15:59.504928 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.742Z","priority":"6","pid":"2830187","message":" 16:15:59.505015 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.742Z","priority":"6","pid":"2830187","message":" 16:15:59.505028 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.742Z","priority":"6","pid":"2830187","message":" 16:15:59.508615 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.742Z","priority":"6","pid":"2830187","message":" 16:15:59.508643 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.743Z","priority":"6","pid":"2830187","message":" 16:15:59.508660 '229 Entering Passive Mode (|||36391|)\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.743Z","priority":"6","pid":"2830187","message":" 16:15:59.509074 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:15:59.743Z","priority":"6","pid":"2830187","message":" 16:15:59.509111 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.744Z","priority":"6","pid":"2830187","message":" 16:15:59.509511 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:15:59.744Z","priority":"6","pid":"2830187","message":" 16:15:59.509536 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:15:59.745Z","priority":"6","pid":"2830187","message":" 16:15:59.509564 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:15:59.962Z","priority":"6","pid":"2830187","message":" 16:15:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind129 ../src/curl -q --output log/curl129.out  --include --trace-ascii log/trace129 --trace-time http://127.0.0.1:36137/129 > log/stdout129 2> log/stderr129"}

data: {"time":"2026-09-19T16:16:00.266Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind130 ../src/curl -q --output log/curl130.out  --include --trace-ascii log/trace130 --trace-time --netrc-optional --netrc-file log/netrc130 ftp://127.0.0.1:40545/ > log/stdout130 2> log/stderr130"}

data: {"time":"2026-09-19T16:16:00.271Z","priority":"6","pid":"2830187","message":"59.509766 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.272Z","priority":"6","pid":"2830187","message":" 16:15:59.509783 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.272Z","priority":"6","pid":"2830187","message":" 16:15:59.509953 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.273Z","priority":"6","pid":"2830187","message":" 16:15:59.509975 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.273Z","priority":"6","pid":"2830187","message":" 16:15:59.510048 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.274Z","priority":"6","pid":"2830187","message":" 16:15:59.510173 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.274Z","priority":"6","pid":"2830187","message":" 16:15:59.510194 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.274Z","priority":"6","pid":"2830187","message":" 16:15:59.510373 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.275Z","priority":"6","pid":"2830187","message":" 16:15:59.510390 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.276Z","priority":"6","pid":"2830187","message":" 16:15:59.510411 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.276Z","priority":"6","pid":"2830187","message":" 16:15:59.511615 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.277Z","priority":"6","pid":"2830187","message":" 16:15:59.511631 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.277Z","priority":"6","pid":"2830187","message":" 16:15:59.511644 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.277Z","priority":"6","pid":"2830187","message":" 16:15:59.551341 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.278Z","priority":"6","pid":"2830187","message":" 16:15:59.551413 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.278Z","priority":"6","pid":"2830187","message":" 16:15:59.551792 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.279Z","priority":"6","pid":"2830187","message":" 16:15:59.551858 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.279Z","priority":"6","pid":"2830187","message":" 16:15:59.551872 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.279Z","priority":"6","pid":"2830187","message":" 16:15:59.552674 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:00.280Z","priority":"6","pid":"2830187","message":" 16:15:59.552850 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:00.280Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:00.281Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:00.281Z","priority":"6","pid":"2830187","message":" 16:15:59.507936 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:00.282Z","priority":"6","pid":"2830187","message":" 16:15:59.508081 Listening on port 36391"}

data: {"time":"2026-09-19T16:16:00.282Z","priority":"6","pid":"2830187","message":" 16:15:59.508128 Wrote pid 86399 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:00.282Z","priority":"6","pid":"2830187","message":" 16:15:59.508157 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:00.283Z","priority":"6","pid":"2830187","message":" 16:15:59.508300 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:00.283Z","priority":"6","pid":"2830187","message":" 16:15:59.509148 ====> Client connect"}

data: {"time":"2026-09-19T16:16:00.283Z","priority":"6","pid":"2830187","message":" 16:15:59.510577 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.283Z","priority":"6","pid":"2830187","message":" 16:15:59.510602 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.284Z","priority":"6","pid":"2830187","message":" 16:15:59.510623 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.284Z","priority":"6","pid":"2830187","message":" 16:15:59.510953 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:00.285Z","priority":"6","pid":"2830187","message":" 16:15:59.510975 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:00.285Z","priority":"6","pid":"2830187","message":" 16:15:59.511126 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:00.285Z","priority":"6","pid":"2830187","message":" 16:15:59.511141 quits"}

data: {"time":"2026-09-19T16:16:00.286Z","priority":"6","pid":"2830187","message":" 16:15:59.511247 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:00.286Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:00.287Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:00.287Z","priority":"6","pid":"2830187","message":" Testnum 128"}

data: {"time":"2026-09-19T16:16:00.287Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:00.287Z","priority":"6","pid":"2830187","message":"=== Start of file upload128"}

data: {"time":"2026-09-19T16:16:00.287Z","priority":"6","pid":"2830187","message":" file"}

data: {"time":"2026-09-19T16:16:00.288Z","priority":"6","pid":"2830187","message":" with Unix newlines"}

data: {"time":"2026-09-19T16:16:00.288Z","priority":"6","pid":"2830187","message":" meant to be"}

data: {"time":"2026-09-19T16:16:00.288Z","priority":"6","pid":"2830187","message":" converted"}

data: {"time":"2026-09-19T16:16:00.288Z","priority":"6","pid":"2830187","message":" with"}

data: {"time":"2026-09-19T16:16:00.289Z","priority":"6","pid":"2830187","message":" the"}

data: {"time":"2026-09-19T16:16:00.289Z","priority":"6","pid":"2830187","message":" --crlf option"}

data: {"time":"2026-09-19T16:16:00.289Z","priority":"6","pid":"2830187","message":"=== End of file upload128"}

data: {"time":"2026-09-19T16:16:00.289Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind128"}

data: {"time":"2026-09-19T16:16:00.290Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:00.290Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:00.291Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:00.291Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.291Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:00.292Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:00.293Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:00.293Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:00.293Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:00.293Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.294Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:00.294Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:00.295Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:00.295Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:00.296Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:00.297Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:00.297Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:00.297Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.297Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:00.297Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:00.298Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.298Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:00.299Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:00.299Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:00.300Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.300Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:00.300Z","priority":"6","pid":"2830187","message":"=== End of file valgrind128"}

data: {"time":"2026-09-19T16:16:00.301Z","priority":"6","pid":"2830187","message":"test 0129 [HTTP/1.2 is rejected]"}

data: {"time":"2026-09-19T16:16:00.301Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind129 ../src/curl -q --output log/curl129.out  --include --trace-ascii log/trace129 --trace-time http://127.0.0.1:36137/129 > log/stdout129 2> log/stderr129"}

data: {"time":"2026-09-19T16:16:00.302Z","priority":"6","pid":"2830187","message":" 129: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:00.302Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:00.303Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:00.303Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 129"}

data: {"time":"2026-09-19T16:16:00.304Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:00.305Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind129 ../src/curl -q --output log/curl129.out  --include --trace-ascii log/trace129 --trace-time http://127.0.0.1:36137/129 > log/stdout129 2> log/stderr129"}

data: {"time":"2026-09-19T16:16:00.305Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:00.306Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:00.307Z","priority":"6","pid":"2830187","message":" 16:15:59.859539 ====> Client connect"}

data: {"time":"2026-09-19T16:16:00.307Z","priority":"6","pid":"2830187","message":" 16:15:59.859586 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:00.307Z","priority":"6","pid":"2830187","message":" 16:15:59.859798 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:00.307Z","priority":"6","pid":"2830187","message":" 16:15:59.859815 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:00.307Z","priority":"6","pid":"2830187","message":" 16:15:59.859831 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:00.308Z","priority":"6","pid":"2830187","message":" 16:15:59.859840 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:00.308Z","priority":"6","pid":"2830187","message":" 16:15:59.859877 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:00.308Z","priority":"6","pid":"2830187","message":" 16:15:59.859897 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:00.309Z","priority":"6","pid":"2830187","message":" 16:15:59.859968 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:00.309Z","priority":"6","pid":"2830187","message":" 16:15:59.859979 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:00.310Z","priority":"6","pid":"2830187","message":" 16:15:59.859988 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:00.310Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:00.311Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:00.311Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:00.311Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57510"}

data: {"time":"2026-09-19T16:16:00.312Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:00.312Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:00.313Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:00.313Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:00.313Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:00.313Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:00.313Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:00.314Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:00.314Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:00.314Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:00.314Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:00.315Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:00.315Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:00.315Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:00.316Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:00.316Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:00.317Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:00.317Z","priority":"6","pid":"2830187","message":" Testnum 129"}

data: {"time":"2026-09-19T16:16:00.317Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:00.318Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:00.318Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:00.318Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:00.318Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:00.318Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:00.318Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind129"}

data: {"time":"2026-09-19T16:16:00.319Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:00.321Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:00.321Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:00.321Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.322Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:00.322Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:00.323Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:00.323Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:00.323Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:00.324Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.324Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:00.325Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:00.325Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:00.326Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:00.326Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:00.327Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:00.327Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:00.328Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.328Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:00.329Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:00.329Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.329Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:00.330Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:00.330Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:00.331Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.331Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:00.331Z","priority":"6","pid":"2830187","message":"=== End of file valgrind129"}

data: {"time":"2026-09-19T16:16:00.332Z","priority":"6","pid":"2830187","message":"test 0130 [FTP (optional .netrc; no user/pass) dir list PASV]"}

data: {"time":"2026-09-19T16:16:00.333Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind130 ../src/curl -q --output log/curl130.out  --include --trace-ascii log/trace130 --trace-time --netrc-optional --netrc-file log/netrc130 ftp://127.0.0.1:40545/ > log/stdout130 2> log/stderr130"}

data: {"time":"2026-09-19T16:16:00.334Z","priority":"6","pid":"2830187","message":" 130: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:00.334Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:00.335Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:00.335Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 130"}

data: {"time":"2026-09-19T16:16:00.336Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:00.337Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind130 ../src/curl -q --output log/curl130.out  --include --trace-ascii log/trace130 --trace-time --netrc-optional --netrc-file log/netrc130 ftp://127.0.0.1:40545/ > log/stdout130 2> log/stderr130"}

data: {"time":"2026-09-19T16:16:00.337Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:00.338Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:00.338Z","priority":"6","pid":"2830187","message":" 16:16:00.020284 ====> Client connect"}

data: {"time":"2026-09-19T16:16:00.640Z","priority":"6","pid":"2830187","message":" 16:16:00.020669 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind131 ../src/curl -q --output log/curl131.out  --include --trace-ascii log/trace131 --trace-time --netrc-optional --netrc-file log/netrc131 ftp://user2@127.0.0.1:40545/ > log/stdout131 2> log/stderr131"}

data: {"time":"2026-09-19T16:16:00.644Z","priority":"6","pid":"2830187","message":"|_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.645Z","priority":"6","pid":"2830187","message":" 16:16:00.021255 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:00.646Z","priority":"6","pid":"2830187","message":" 16:16:00.021654 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.646Z","priority":"6","pid":"2830187","message":" 16:16:00.021810 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:00.646Z","priority":"6","pid":"2830187","message":" 16:16:00.021858 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.646Z","priority":"6","pid":"2830187","message":" 16:16:00.022170 < \"PWD\""}

data: {"time":"2026-09-19T16:16:00.647Z","priority":"6","pid":"2830187","message":" 16:16:00.022237 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.647Z","priority":"6","pid":"2830187","message":" 16:16:00.022582 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:00.648Z","priority":"6","pid":"2830187","message":" 16:16:00.022637 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:00.648Z","priority":"6","pid":"2830187","message":" 16:16:00.022662 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:00.648Z","priority":"6","pid":"2830187","message":" 16:16:00.026392 DATA sockfilt for passive data channel started (pid 86532)"}

data: {"time":"2026-09-19T16:16:00.649Z","priority":"6","pid":"2830187","message":" 16:16:00.026662 DATA sockfilt for passive data channel listens on port 35585"}

data: {"time":"2026-09-19T16:16:00.649Z","priority":"6","pid":"2830187","message":" 16:16:00.026762 > \"229 Entering Passive Mode (|||35585|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.650Z","priority":"6","pid":"2830187","message":" 16:16:00.026795 Client has been notified that upcoming DATA connection is awaited on port 35585"}

data: {"time":"2026-09-19T16:16:00.650Z","priority":"6","pid":"2830187","message":" 16:16:00.027250 Client connects to port 35585"}

data: {"time":"2026-09-19T16:16:00.651Z","priority":"6","pid":"2830187","message":" 16:16:00.027304 ====> Client established passive DATA connection on port 35585"}

data: {"time":"2026-09-19T16:16:00.651Z","priority":"6","pid":"2830187","message":" 16:16:00.027477 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:00.651Z","priority":"6","pid":"2830187","message":" 16:16:00.027748 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.652Z","priority":"6","pid":"2830187","message":" 16:16:00.027988 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:00.652Z","priority":"6","pid":"2830187","message":" 16:16:00.028053 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.652Z","priority":"6","pid":"2830187","message":" 16:16:00.028374 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:00.653Z","priority":"6","pid":"2830187","message":" 16:16:00.028435 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.653Z","priority":"6","pid":"2830187","message":" 16:16:00.028765 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:00.653Z","priority":"6","pid":"2830187","message":" 16:16:00.028803 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:00.654Z","priority":"6","pid":"2830187","message":" 16:16:00.029158 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:00.654Z","priority":"6","pid":"2830187","message":" 16:16:00.029232 DATA sockfilt for passive data channel quits (pid 86532)"}

data: {"time":"2026-09-19T16:16:00.655Z","priority":"6","pid":"2830187","message":" 16:16:00.029815 DATA sockfilt for passive data channel quit (pid 86532)"}

data: {"time":"2026-09-19T16:16:00.655Z","priority":"6","pid":"2830187","message":" 16:16:00.029871 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:00.656Z","priority":"6","pid":"2830187","message":" 16:16:00.029932 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.656Z","priority":"6","pid":"2830187","message":" 16:16:00.070070 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:00.656Z","priority":"6","pid":"2830187","message":" 16:16:00.070165 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:00.657Z","priority":"6","pid":"2830187","message":" 16:16:00.071196 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:00.657Z","priority":"6","pid":"2830187","message":" 16:16:00.071435 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:00.657Z","priority":"6","pid":"2830187","message":" 16:16:00.071593 Awaiting input"}

data: {"time":"2026-09-19T16:16:00.658Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:00.658Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:00.658Z","priority":"6","pid":"2830187","message":" 16:16:00.091432 ====> Client connect"}

data: {"time":"2026-09-19T16:16:00.659Z","priority":"6","pid":"2830187","message":" 16:16:00.092117 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.659Z","priority":"6","pid":"2830187","message":" 16:16:00.092147 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.659Z","priority":"6","pid":"2830187","message":" 16:16:00.092162 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:00.660Z","priority":"6","pid":"2830187","message":" 16:16:00.092175 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.660Z","priority":"6","pid":"2830187","message":" 16:16:00.092186 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.661Z","priority":"6","pid":"2830187","message":" 16:16:00.092370 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.661Z","priority":"6","pid":"2830187","message":" 16:16:00.092387 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.661Z","priority":"6","pid":"2830187","message":" 16:16:00.092657 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.662Z","priority":"6","pid":"2830187","message":" 16:16:00.092800 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.662Z","priority":"6","pid":"2830187","message":" 16:16:00.092834 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.663Z","priority":"6","pid":"2830187","message":" 16:16:00.092935 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.663Z","priority":"6","pid":"2830187","message":" 16:16:00.092953 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.664Z","priority":"6","pid":"2830187","message":" 16:16:00.093253 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.664Z","priority":"6","pid":"2830187","message":" 16:16:00.093275 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.664Z","priority":"6","pid":"2830187","message":" 16:16:00.093291 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.664Z","priority":"6","pid":"2830187","message":" 16:16:00.093383 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.664Z","priority":"6","pid":"2830187","message":" 16:16:00.093400 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.665Z","priority":"6","pid":"2830187","message":" 16:16:00.093605 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.665Z","priority":"6","pid":"2830187","message":" 16:16:00.093623 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.666Z","priority":"6","pid":"2830187","message":" 16:16:00.093640 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.666Z","priority":"6","pid":"2830187","message":" 16:16:00.093793 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.666Z","priority":"6","pid":"2830187","message":" 16:16:00.093816 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.667Z","priority":"6","pid":"2830187","message":" 16:16:00.098191 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.667Z","priority":"6","pid":"2830187","message":" 16:16:00.098215 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.668Z","priority":"6","pid":"2830187","message":" 16:16:00.098229 '229 Entering Passive Mode (|||35585|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.668Z","priority":"6","pid":"2830187","message":" 16:16:00.098500 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.669Z","priority":"6","pid":"2830187","message":" 16:16:00.098520 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.669Z","priority":"6","pid":"2830187","message":" 16:16:00.098879 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.669Z","priority":"6","pid":"2830187","message":" 16:16:00.098906 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.670Z","priority":"6","pid":"2830187","message":" 16:16:00.098934 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.670Z","priority":"6","pid":"2830187","message":" 16:16:00.099172 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.670Z","priority":"6","pid":"2830187","message":" 16:16:00.099194 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.671Z","priority":"6","pid":"2830187","message":" 16:16:00.099426 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.671Z","priority":"6","pid":"2830187","message":" 16:16:00.099448 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.671Z","priority":"6","pid":"2830187","message":" 16:16:00.099462 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.672Z","priority":"6","pid":"2830187","message":" 16:16:00.099566 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.672Z","priority":"6","pid":"2830187","message":" 16:16:00.099584 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.673Z","priority":"6","pid":"2830187","message":" 16:16:00.099868 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.673Z","priority":"6","pid":"2830187","message":" 16:16:00.099897 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.673Z","priority":"6","pid":"2830187","message":" 16:16:00.099911 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.674Z","priority":"6","pid":"2830187","message":" 16:16:00.101330 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.674Z","priority":"6","pid":"2830187","message":" 16:16:00.101365 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.674Z","priority":"6","pid":"2830187","message":" 16:16:00.101379 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.675Z","priority":"6","pid":"2830187","message":" 16:16:00.141069 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:00.675Z","priority":"6","pid":"2830187","message":" 16:16:00.141150 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.676Z","priority":"6","pid":"2830187","message":" 16:16:00.141554 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.676Z","priority":"6","pid":"2830187","message":" 16:16:00.141596 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.676Z","priority":"6","pid":"2830187","message":" 16:16:00.141611 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.677Z","priority":"6","pid":"2830187","message":" 16:16:00.142431 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:00.678Z","priority":"6","pid":"2830187","message":" 16:16:00.142624 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:00.678Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:00.678Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:00.678Z","priority":"6","pid":"2830187","message":" 16:16:00.097369 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:00.679Z","priority":"6","pid":"2830187","message":" 16:16:00.097541 Listening on port 35585"}

data: {"time":"2026-09-19T16:16:00.679Z","priority":"6","pid":"2830187","message":" 16:16:00.097606 Wrote pid 86532 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:00.680Z","priority":"6","pid":"2830187","message":" 16:16:00.097640 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:00.680Z","priority":"6","pid":"2830187","message":" 16:16:00.097837 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:00.680Z","priority":"6","pid":"2830187","message":" 16:16:00.098548 ====> Client connect"}

data: {"time":"2026-09-19T16:16:00.682Z","priority":"6","pid":"2830187","message":" 16:16:00.099818 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:00.682Z","priority":"6","pid":"2830187","message":" 16:16:00.099843 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:00.682Z","priority":"6","pid":"2830187","message":" 16:16:00.100248 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:00.682Z","priority":"6","pid":"2830187","message":" 16:16:00.100304 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:00.683Z","priority":"6","pid":"2830187","message":" 16:16:00.100319 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:00.683Z","priority":"6","pid":"2830187","message":" 16:16:00.100608 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:00.684Z","priority":"6","pid":"2830187","message":" 16:16:00.100631 quits"}

data: {"time":"2026-09-19T16:16:00.684Z","priority":"6","pid":"2830187","message":" 16:16:00.100831 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:00.685Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:00.685Z","priority":"6","pid":"2830187","message":"=== Start of file netrc130"}

data: {"time":"2026-09-19T16:16:00.685Z","priority":"6","pid":"2830187","message":" # the following two lines were created while testing curl"}

data: {"time":"2026-09-19T16:16:00.686Z","priority":"6","pid":"2830187","message":" # machine 127.0.0.1 login user1 password commented"}

data: {"time":"2026-09-19T16:16:00.687Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login user1 password passwd1"}

data: {"time":"2026-09-19T16:16:00.687Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login user2 password passwd2"}

data: {"time":"2026-09-19T16:16:00.687Z","priority":"6","pid":"2830187","message":" default login userdef password passwddef"}

data: {"time":"2026-09-19T16:16:00.687Z","priority":"6","pid":"2830187","message":"=== End of file netrc130"}

data: {"time":"2026-09-19T16:16:00.687Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:00.688Z","priority":"6","pid":"2830187","message":" Testnum 130"}

data: {"time":"2026-09-19T16:16:00.688Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:00.688Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind130"}

data: {"time":"2026-09-19T16:16:00.689Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:00.689Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:00.690Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:00.690Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.690Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:00.691Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:00.691Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:00.691Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:00.692Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:00.692Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.692Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:00.693Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:00.693Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:00.694Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:00.694Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:00.695Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:00.695Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:00.695Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.696Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:00.696Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:00.696Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.697Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:00.697Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:00.698Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:00.698Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:00.698Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:00.699Z","priority":"6","pid":"2830187","message":"=== End of file valgrind130"}

data: {"time":"2026-09-19T16:16:00.699Z","priority":"6","pid":"2830187","message":"test 0131 [FTP (optional .netrc; user/no pass) dir list PASV]"}

data: {"time":"2026-09-19T16:16:00.700Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind131 ../src/curl -q --output log/curl131.out  --include --trace-ascii log/trace131 --trace-time --netrc-optional --netrc-file log/netrc131 ftp://user2@127.0.0.1:40545/ > log/stdout131 2> log/stderr131"}

data: {"time":"2026-09-19T16:16:00.701Z","priority":"6","pid":"2830187","message":" 131: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:00.701Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:00.702Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:00.702Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 131"}

data: {"time":"2026-09-19T16:16:00.703Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:00.704Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind131 ../src/curl -q --output log/curl131.out  --include --trace-ascii log/trace131 --trace-time --netrc-optional --netrc-file log/netrc131 ftp://user2@127.0.0.1:40545/ > log/stdout131 2> log/stderr131"}

data: {"time":"2026-09-19T16:16:00.705Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:00.705Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:00.705Z","priority":"6","pid":"2830187","message":" 16:16:00.386852 ====> Client connect"}

data: {"time":"2026-09-19T16:16:00.706Z","priority":"6","pid":"2830187","message":" 16:16:00.387201 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.002Z","priority":"6","pid":"2830187","message":" 16:16:00.387880 < \"USCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind132 ../src/curl -q --output log/curl132.out  --include --trace-ascii log/trace132 --trace-time --netrc-optional --netrc-file log/netrc132 ftp://mary:mark@127.0.0.1:40545/ > log/stdout132 2> log/stderr132"}

data: {"time":"2026-09-19T16:16:01.015Z","priority":"6","pid":"2830187","message":"ER anonymous\""}

data: {"time":"2026-09-19T16:16:01.017Z","priority":"6","pid":"2830187","message":" 16:16:00.388136 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.017Z","priority":"6","pid":"2830187","message":" 16:16:00.388271 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:01.018Z","priority":"6","pid":"2830187","message":" 16:16:00.388396 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.018Z","priority":"6","pid":"2830187","message":" 16:16:00.388707 < \"PWD\""}

data: {"time":"2026-09-19T16:16:01.019Z","priority":"6","pid":"2830187","message":" 16:16:00.388770 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.019Z","priority":"6","pid":"2830187","message":" 16:16:00.389056 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:01.019Z","priority":"6","pid":"2830187","message":" 16:16:00.389103 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:01.020Z","priority":"6","pid":"2830187","message":" 16:16:00.389125 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:01.020Z","priority":"6","pid":"2830187","message":" 16:16:00.393782 DATA sockfilt for passive data channel started (pid 86601)"}

data: {"time":"2026-09-19T16:16:01.021Z","priority":"6","pid":"2830187","message":" 16:16:00.394050 DATA sockfilt for passive data channel listens on port 37683"}

data: {"time":"2026-09-19T16:16:01.021Z","priority":"6","pid":"2830187","message":" 16:16:00.394141 > \"229 Entering Passive Mode (|||37683|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.022Z","priority":"6","pid":"2830187","message":" 16:16:00.394177 Client has been notified that upcoming DATA connection is awaited on port 37683"}

data: {"time":"2026-09-19T16:16:01.022Z","priority":"6","pid":"2830187","message":" 16:16:00.394823 Client connects to port 37683"}

data: {"time":"2026-09-19T16:16:01.023Z","priority":"6","pid":"2830187","message":" 16:16:00.394898 ====> Client established passive DATA connection on port 37683"}

data: {"time":"2026-09-19T16:16:01.023Z","priority":"6","pid":"2830187","message":" 16:16:00.395061 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:01.024Z","priority":"6","pid":"2830187","message":" 16:16:00.395326 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.024Z","priority":"6","pid":"2830187","message":" 16:16:00.395478 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:01.024Z","priority":"6","pid":"2830187","message":" 16:16:00.395539 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.025Z","priority":"6","pid":"2830187","message":" 16:16:00.395875 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:01.025Z","priority":"6","pid":"2830187","message":" 16:16:00.395985 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.026Z","priority":"6","pid":"2830187","message":" 16:16:00.396422 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:01.026Z","priority":"6","pid":"2830187","message":" 16:16:00.396457 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:01.027Z","priority":"6","pid":"2830187","message":" 16:16:00.396697 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:01.027Z","priority":"6","pid":"2830187","message":" 16:16:00.396737 DATA sockfilt for passive data channel quits (pid 86601)"}

data: {"time":"2026-09-19T16:16:01.028Z","priority":"6","pid":"2830187","message":" 16:16:00.397309 DATA sockfilt for passive data channel quit (pid 86601)"}

data: {"time":"2026-09-19T16:16:01.028Z","priority":"6","pid":"2830187","message":" 16:16:00.397400 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:01.029Z","priority":"6","pid":"2830187","message":" 16:16:00.397459 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.029Z","priority":"6","pid":"2830187","message":" 16:16:00.437226 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:01.029Z","priority":"6","pid":"2830187","message":" 16:16:00.437323 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.029Z","priority":"6","pid":"2830187","message":" 16:16:00.438366 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:01.030Z","priority":"6","pid":"2830187","message":" 16:16:00.438561 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:01.030Z","priority":"6","pid":"2830187","message":" 16:16:00.438702 Awaiting input"}

data: {"time":"2026-09-19T16:16:01.030Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:01.031Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:01.031Z","priority":"6","pid":"2830187","message":" 16:16:00.457972 ====> Client connect"}

data: {"time":"2026-09-19T16:16:01.032Z","priority":"6","pid":"2830187","message":" 16:16:00.458712 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.032Z","priority":"6","pid":"2830187","message":" 16:16:00.458748 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.032Z","priority":"6","pid":"2830187","message":" 16:16:00.458765 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:01.033Z","priority":"6","pid":"2830187","message":" 16:16:00.458779 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.033Z","priority":"6","pid":"2830187","message":" 16:16:00.458791 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.034Z","priority":"6","pid":"2830187","message":" 16:16:00.458924 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.035Z","priority":"6","pid":"2830187","message":" 16:16:00.458940 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.035Z","priority":"6","pid":"2830187","message":" 16:16:00.459266 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.035Z","priority":"6","pid":"2830187","message":" 16:16:00.459286 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.035Z","priority":"6","pid":"2830187","message":" 16:16:00.459311 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.036Z","priority":"6","pid":"2830187","message":" 16:16:00.459407 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.036Z","priority":"6","pid":"2830187","message":" 16:16:00.459422 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.037Z","priority":"6","pid":"2830187","message":" 16:16:00.459630 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.037Z","priority":"6","pid":"2830187","message":" 16:16:00.459755 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.037Z","priority":"6","pid":"2830187","message":" 16:16:00.459772 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.038Z","priority":"6","pid":"2830187","message":" 16:16:00.459900 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.038Z","priority":"6","pid":"2830187","message":" 16:16:00.459919 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.039Z","priority":"6","pid":"2830187","message":" 16:16:00.460121 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.039Z","priority":"6","pid":"2830187","message":" 16:16:00.460137 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.040Z","priority":"6","pid":"2830187","message":" 16:16:00.460150 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.041Z","priority":"6","pid":"2830187","message":" 16:16:00.460264 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.041Z","priority":"6","pid":"2830187","message":" 16:16:00.460280 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.041Z","priority":"6","pid":"2830187","message":" 16:16:00.465553 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.042Z","priority":"6","pid":"2830187","message":" 16:16:00.465584 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.042Z","priority":"6","pid":"2830187","message":" 16:16:00.465600 '229 Entering Passive Mode (|||37683|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.043Z","priority":"6","pid":"2830187","message":" 16:16:00.466023 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.043Z","priority":"6","pid":"2830187","message":" 16:16:00.466059 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.043Z","priority":"6","pid":"2830187","message":" 16:16:00.466437 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.044Z","priority":"6","pid":"2830187","message":" 16:16:00.466467 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.044Z","priority":"6","pid":"2830187","message":" 16:16:00.466496 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.045Z","priority":"6","pid":"2830187","message":" 16:16:00.466591 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.045Z","priority":"6","pid":"2830187","message":" 16:16:00.466606 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.046Z","priority":"6","pid":"2830187","message":" 16:16:00.466917 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.046Z","priority":"6","pid":"2830187","message":" 16:16:00.466937 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.046Z","priority":"6","pid":"2830187","message":" 16:16:00.466949 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.047Z","priority":"6","pid":"2830187","message":" 16:16:00.467060 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.047Z","priority":"6","pid":"2830187","message":" 16:16:00.467081 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.048Z","priority":"6","pid":"2830187","message":" 16:16:00.467258 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.048Z","priority":"6","pid":"2830187","message":" 16:16:00.467276 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.048Z","priority":"6","pid":"2830187","message":" 16:16:00.467402 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.049Z","priority":"6","pid":"2830187","message":" 16:16:00.468821 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.049Z","priority":"6","pid":"2830187","message":" 16:16:00.468845 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.050Z","priority":"6","pid":"2830187","message":" 16:16:00.468858 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.050Z","priority":"6","pid":"2830187","message":" 16:16:00.508285 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.050Z","priority":"6","pid":"2830187","message":" 16:16:00.508365 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.050Z","priority":"6","pid":"2830187","message":" 16:16:00.508710 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.051Z","priority":"6","pid":"2830187","message":" 16:16:00.508734 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.051Z","priority":"6","pid":"2830187","message":" 16:16:00.508750 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.052Z","priority":"6","pid":"2830187","message":" 16:16:00.509566 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:01.052Z","priority":"6","pid":"2830187","message":" 16:16:00.509766 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:01.052Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:01.053Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:01.053Z","priority":"6","pid":"2830187","message":" 16:16:00.464295 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:01.054Z","priority":"6","pid":"2830187","message":" 16:16:00.464925 Listening on port 37683"}

data: {"time":"2026-09-19T16:16:01.054Z","priority":"6","pid":"2830187","message":" 16:16:00.464989 Wrote pid 86601 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:01.054Z","priority":"6","pid":"2830187","message":" 16:16:00.465029 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:01.055Z","priority":"6","pid":"2830187","message":" 16:16:00.465228 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:01.055Z","priority":"6","pid":"2830187","message":" 16:16:00.466091 ====> Client connect"}

data: {"time":"2026-09-19T16:16:01.055Z","priority":"6","pid":"2830187","message":" 16:16:00.467356 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.056Z","priority":"6","pid":"2830187","message":" 16:16:00.467382 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.056Z","priority":"6","pid":"2830187","message":" 16:16:00.467519 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.057Z","priority":"6","pid":"2830187","message":" 16:16:00.467922 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:01.057Z","priority":"6","pid":"2830187","message":" 16:16:00.467947 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:01.057Z","priority":"6","pid":"2830187","message":" 16:16:00.468084 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:01.058Z","priority":"6","pid":"2830187","message":" 16:16:00.468098 quits"}

data: {"time":"2026-09-19T16:16:01.058Z","priority":"6","pid":"2830187","message":" 16:16:00.468272 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:01.059Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:01.059Z","priority":"6","pid":"2830187","message":"=== Start of file netrc131"}

data: {"time":"2026-09-19T16:16:01.059Z","priority":"6","pid":"2830187","message":" # the following two lines were created while testing curl"}

data: {"time":"2026-09-19T16:16:01.060Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login user1 password passwd1"}

data: {"time":"2026-09-19T16:16:01.060Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login user2 password passwd2"}

data: {"time":"2026-09-19T16:16:01.060Z","priority":"6","pid":"2830187","message":"=== End of file netrc131"}

data: {"time":"2026-09-19T16:16:01.061Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:01.061Z","priority":"6","pid":"2830187","message":" Testnum 131"}

data: {"time":"2026-09-19T16:16:01.062Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:01.062Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind131"}

data: {"time":"2026-09-19T16:16:01.062Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:01.062Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:01.063Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:01.063Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.063Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:01.064Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:01.064Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:01.065Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:01.065Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:01.066Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.066Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:01.067Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:01.067Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:01.068Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:01.068Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:01.068Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:01.069Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:01.069Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.069Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:01.070Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:01.070Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.071Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:01.071Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:01.072Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:01.072Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.072Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:01.072Z","priority":"6","pid":"2830187","message":"=== End of file valgrind131"}

data: {"time":"2026-09-19T16:16:01.073Z","priority":"6","pid":"2830187","message":"test 0132 [FTP (optional .netrc; user/passwd supplied) dir list PASV]"}

data: {"time":"2026-09-19T16:16:01.075Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind132 ../src/curl -q --output log/curl132.out  --include --trace-ascii log/trace132 --trace-time --netrc-optional --netrc-file log/netrc132 ftp://mary:mark@127.0.0.1:40545/ > log/stdout132 2> log/stderr132"}

data: {"time":"2026-09-19T16:16:01.075Z","priority":"6","pid":"2830187","message":" 132: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:01.076Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:01.076Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:01.077Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 132"}

data: {"time":"2026-09-19T16:16:01.077Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:01.079Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind132 ../src/curl -q --output log/curl132.out  --include --trace-ascii log/trace132 --trace-time --netrc-optional --netrc-file log/netrc132 ftp://mary:mark@127.0.0.1:40545/ > log/stdout132 2> log/stderr132"}

data: {"time":"2026-09-19T16:16:01.080Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:01.080Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:01.080Z","priority":"6","pid":"2830187","message":" 16:16:00.750389 ====> Client connect"}

data: {"time":"2026-09-19T16:16:01.081Z","priority":"6","pid":"2830187","message":" 16:16:00.750957 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.081Z","priority":"6","pid":"2830187","message":" 16:16:00.751138 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:01.082Z","priority":"6","pid":"2830187","message":" 16:16:00.751439 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.082Z","priority":"6","pid":"2830187","message":" 16:16:00.751615 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:01.083Z","priority":"6","pid":"2830187","message":" 16:16:00.751742 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.398Z","priority":"6","pid":"2830187","message":" 16:16:00.751967 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind133 ../src/curl -q --output log/curl133.out  --include --trace-ascii log/trace133 --trace-time -n --netrc-file log/netrc133 ftp://mary:mark@127.0.0.1:40545/ > log/stdout133 2> log/stderr133"}

data: {"time":"2026-09-19T16:16:01.402Z","priority":"6","pid":"2830187","message":"< \"PWD\""}

data: {"time":"2026-09-19T16:16:01.403Z","priority":"6","pid":"2830187","message":" 16:16:00.752038 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.403Z","priority":"6","pid":"2830187","message":" 16:16:00.752373 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:01.403Z","priority":"6","pid":"2830187","message":" 16:16:00.752427 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:01.404Z","priority":"6","pid":"2830187","message":" 16:16:00.752453 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:01.404Z","priority":"6","pid":"2830187","message":" 16:16:00.756543 DATA sockfilt for passive data channel started (pid 86670)"}

data: {"time":"2026-09-19T16:16:01.405Z","priority":"6","pid":"2830187","message":" 16:16:00.756786 DATA sockfilt for passive data channel listens on port 46853"}

data: {"time":"2026-09-19T16:16:01.405Z","priority":"6","pid":"2830187","message":" 16:16:00.757009 > \"229 Entering Passive Mode (|||46853|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.405Z","priority":"6","pid":"2830187","message":" 16:16:00.757044 Client has been notified that upcoming DATA connection is awaited on port 46853"}

data: {"time":"2026-09-19T16:16:01.406Z","priority":"6","pid":"2830187","message":" 16:16:00.757451 Client connects to port 46853"}

data: {"time":"2026-09-19T16:16:01.407Z","priority":"6","pid":"2830187","message":" 16:16:00.757516 ====> Client established passive DATA connection on port 46853"}

data: {"time":"2026-09-19T16:16:01.407Z","priority":"6","pid":"2830187","message":" 16:16:00.757736 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:01.407Z","priority":"6","pid":"2830187","message":" 16:16:00.757873 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.407Z","priority":"6","pid":"2830187","message":" 16:16:00.758106 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:01.407Z","priority":"6","pid":"2830187","message":" 16:16:00.758263 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.408Z","priority":"6","pid":"2830187","message":" 16:16:00.758548 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:01.408Z","priority":"6","pid":"2830187","message":" 16:16:00.758613 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.408Z","priority":"6","pid":"2830187","message":" 16:16:00.758749 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:01.409Z","priority":"6","pid":"2830187","message":" 16:16:00.758772 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:01.409Z","priority":"6","pid":"2830187","message":" 16:16:00.759182 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:01.410Z","priority":"6","pid":"2830187","message":" 16:16:00.759226 DATA sockfilt for passive data channel quits (pid 86670)"}

data: {"time":"2026-09-19T16:16:01.410Z","priority":"6","pid":"2830187","message":" 16:16:00.759668 DATA sockfilt for passive data channel quit (pid 86670)"}

data: {"time":"2026-09-19T16:16:01.411Z","priority":"6","pid":"2830187","message":" 16:16:00.759727 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:01.411Z","priority":"6","pid":"2830187","message":" 16:16:00.759851 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.411Z","priority":"6","pid":"2830187","message":" 16:16:00.800140 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:01.412Z","priority":"6","pid":"2830187","message":" 16:16:00.800287 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.412Z","priority":"6","pid":"2830187","message":" 16:16:00.800463 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:01.413Z","priority":"6","pid":"2830187","message":" 16:16:00.800506 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:01.413Z","priority":"6","pid":"2830187","message":" 16:16:00.800652 Awaiting input"}

data: {"time":"2026-09-19T16:16:01.413Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:01.414Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:01.414Z","priority":"6","pid":"2830187","message":" 16:16:00.821461 ====> Client connect"}

data: {"time":"2026-09-19T16:16:01.414Z","priority":"6","pid":"2830187","message":" 16:16:00.821964 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.415Z","priority":"6","pid":"2830187","message":" 16:16:00.821989 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.415Z","priority":"6","pid":"2830187","message":" 16:16:00.822088 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:01.416Z","priority":"6","pid":"2830187","message":" 16:16:00.822104 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.416Z","priority":"6","pid":"2830187","message":" 16:16:00.822112 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.417Z","priority":"6","pid":"2830187","message":" 16:16:00.822217 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.417Z","priority":"6","pid":"2830187","message":" 16:16:00.822228 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.418Z","priority":"6","pid":"2830187","message":" 16:16:00.822484 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.418Z","priority":"6","pid":"2830187","message":" 16:16:00.822499 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.418Z","priority":"6","pid":"2830187","message":" 16:16:00.822516 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.419Z","priority":"6","pid":"2830187","message":" 16:16:00.822592 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.419Z","priority":"6","pid":"2830187","message":" 16:16:00.822609 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.419Z","priority":"6","pid":"2830187","message":" 16:16:00.822970 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.420Z","priority":"6","pid":"2830187","message":" 16:16:00.822994 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.420Z","priority":"6","pid":"2830187","message":" 16:16:00.823082 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.421Z","priority":"6","pid":"2830187","message":" 16:16:00.823165 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.421Z","priority":"6","pid":"2830187","message":" 16:16:00.823179 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.421Z","priority":"6","pid":"2830187","message":" 16:16:00.823380 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.422Z","priority":"6","pid":"2830187","message":" 16:16:00.823396 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.422Z","priority":"6","pid":"2830187","message":" 16:16:00.823428 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.423Z","priority":"6","pid":"2830187","message":" 16:16:00.823529 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.423Z","priority":"6","pid":"2830187","message":" 16:16:00.823543 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.424Z","priority":"6","pid":"2830187","message":" 16:16:00.828165 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.424Z","priority":"6","pid":"2830187","message":" 16:16:00.828192 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.425Z","priority":"6","pid":"2830187","message":" 16:16:00.828219 '229 Entering Passive Mode (|||46853|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.425Z","priority":"6","pid":"2830187","message":" 16:16:00.828886 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.425Z","priority":"6","pid":"2830187","message":" 16:16:00.828907 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.426Z","priority":"6","pid":"2830187","message":" 16:16:00.829088 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.427Z","priority":"6","pid":"2830187","message":" 16:16:00.829104 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.427Z","priority":"6","pid":"2830187","message":" 16:16:00.829126 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.427Z","priority":"6","pid":"2830187","message":" 16:16:00.829274 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.427Z","priority":"6","pid":"2830187","message":" 16:16:00.829292 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.427Z","priority":"6","pid":"2830187","message":" 16:16:00.829471 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.428Z","priority":"6","pid":"2830187","message":" 16:16:00.829493 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.428Z","priority":"6","pid":"2830187","message":" 16:16:00.829516 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.429Z","priority":"6","pid":"2830187","message":" 16:16:00.829698 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.429Z","priority":"6","pid":"2830187","message":" 16:16:00.829723 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.430Z","priority":"6","pid":"2830187","message":" 16:16:00.830108 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.430Z","priority":"6","pid":"2830187","message":" 16:16:00.830125 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.431Z","priority":"6","pid":"2830187","message":" 16:16:00.830138 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.431Z","priority":"6","pid":"2830187","message":" 16:16:00.831084 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.431Z","priority":"6","pid":"2830187","message":" 16:16:00.831101 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.432Z","priority":"6","pid":"2830187","message":" 16:16:00.831123 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.432Z","priority":"6","pid":"2830187","message":" 16:16:00.871280 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.432Z","priority":"6","pid":"2830187","message":" 16:16:00.871340 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.432Z","priority":"6","pid":"2830187","message":" 16:16:00.871510 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.433Z","priority":"6","pid":"2830187","message":" 16:16:00.871525 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.433Z","priority":"6","pid":"2830187","message":" 16:16:00.871644 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.434Z","priority":"6","pid":"2830187","message":" 16:16:00.871730 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:01.434Z","priority":"6","pid":"2830187","message":" 16:16:00.872693 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:01.434Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:01.434Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:01.435Z","priority":"6","pid":"2830187","message":" 16:16:00.827458 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:01.436Z","priority":"6","pid":"2830187","message":" 16:16:00.827625 Listening on port 46853"}

data: {"time":"2026-09-19T16:16:01.436Z","priority":"6","pid":"2830187","message":" 16:16:00.827731 Wrote pid 86670 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:01.436Z","priority":"6","pid":"2830187","message":" 16:16:00.827768 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:01.436Z","priority":"6","pid":"2830187","message":" 16:16:00.827953 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:01.437Z","priority":"6","pid":"2830187","message":" 16:16:00.828583 ====> Client connect"}

data: {"time":"2026-09-19T16:16:01.437Z","priority":"6","pid":"2830187","message":" 16:16:00.830179 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.437Z","priority":"6","pid":"2830187","message":" 16:16:00.830214 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.438Z","priority":"6","pid":"2830187","message":" 16:16:00.830232 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.438Z","priority":"6","pid":"2830187","message":" 16:16:00.830281 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:01.439Z","priority":"6","pid":"2830187","message":" 16:16:00.830300 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:01.439Z","priority":"6","pid":"2830187","message":" 16:16:00.830572 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:01.440Z","priority":"6","pid":"2830187","message":" 16:16:00.830588 quits"}

data: {"time":"2026-09-19T16:16:01.440Z","priority":"6","pid":"2830187","message":" 16:16:00.830730 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:01.440Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:01.441Z","priority":"6","pid":"2830187","message":"=== Start of file netrc132"}

data: {"time":"2026-09-19T16:16:01.441Z","priority":"6","pid":"2830187","message":" # the following two lines were created while testing curl"}

data: {"time":"2026-09-19T16:16:01.441Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login user1 password passwd1"}

data: {"time":"2026-09-19T16:16:01.442Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login user2 password passwd2"}

data: {"time":"2026-09-19T16:16:01.442Z","priority":"6","pid":"2830187","message":"=== End of file netrc132"}

data: {"time":"2026-09-19T16:16:01.442Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:01.443Z","priority":"6","pid":"2830187","message":" Testnum 132"}

data: {"time":"2026-09-19T16:16:01.443Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:01.443Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind132"}

data: {"time":"2026-09-19T16:16:01.444Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:01.444Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:01.445Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:01.445Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.445Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:01.445Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:01.446Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:01.446Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:01.447Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:01.447Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.448Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:01.448Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:01.449Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:01.449Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:01.450Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:01.450Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:01.451Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:01.451Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.452Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:01.452Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:01.452Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.453Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:01.453Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:01.454Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:01.455Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.455Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:01.455Z","priority":"6","pid":"2830187","message":"=== End of file valgrind132"}

data: {"time":"2026-09-19T16:16:01.455Z","priority":"6","pid":"2830187","message":"test 0133 [FTP compulsory .netrc; ignore passwd in URL]"}

data: {"time":"2026-09-19T16:16:01.458Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind133 ../src/curl -q --output log/curl133.out  --include --trace-ascii log/trace133 --trace-time -n --netrc-file log/netrc133 ftp://mary:mark@127.0.0.1:40545/ > log/stdout133 2> log/stderr133"}

data: {"time":"2026-09-19T16:16:01.459Z","priority":"6","pid":"2830187","message":" 133: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:01.459Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:01.459Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:01.459Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 133"}

data: {"time":"2026-09-19T16:16:01.460Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:01.462Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind133 ../src/curl -q --output log/curl133.out  --include --trace-ascii log/trace133 --trace-time -n --netrc-file log/netrc133 ftp://mary:mark@127.0.0.1:40545/ > log/stdout133 2> log/stderr133"}

data: {"time":"2026-09-19T16:16:01.462Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:01.463Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:01.463Z","priority":"6","pid":"2830187","message":" 16:16:01.129975 ====> Client connect"}

data: {"time":"2026-09-19T16:16:01.464Z","priority":"6","pid":"2830187","message":" 16:16:01.130305 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.464Z","priority":"6","pid":"2830187","message":" 16:16:01.131042 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:01.465Z","priority":"6","pid":"2830187","message":" 16:16:01.131391 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.465Z","priority":"6","pid":"2830187","message":" 16:16:01.131547 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:01.466Z","priority":"6","pid":"2830187","message":" 16:16:01.131655 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.466Z","priority":"6","pid":"2830187","message":" 16:16:01.131983 < \"PWD\""}

data: {"time":"2026-09-19T16:16:01.466Z","priority":"6","pid":"2830187","message":" 16:16:01.132049 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.467Z","priority":"6","pid":"2830187","message":" 16:16:01.132381 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:01.467Z","priority":"6","pid":"2830187","message":" 16:16:01.132428 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:01.468Z","priority":"6","pid":"2830187","message":" 16:16:01.132452 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:01.763Z","priority":"6","pid":"2830187","message":" 16:16:01.CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind134 ../src/curl -q --output log/curl134.out  --include --trace-ascii log/trace134 --trace-time --netrc-optional --netrc-file log/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:40545/ > log/stdout134 2> log/stderr134"}

data: {"time":"2026-09-19T16:16:01.780Z","priority":"6","pid":"2830187","message":"136401 DATA sockfilt for passive data channel started (pid 86739)"}

data: {"time":"2026-09-19T16:16:01.781Z","priority":"6","pid":"2830187","message":" 16:16:01.136678 DATA sockfilt for passive data channel listens on port 33439"}

data: {"time":"2026-09-19T16:16:01.781Z","priority":"6","pid":"2830187","message":" 16:16:01.136943 > \"229 Entering Passive Mode (|||33439|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.782Z","priority":"6","pid":"2830187","message":" 16:16:01.136995 Client has been notified that upcoming DATA connection is awaited on port 33439"}

data: {"time":"2026-09-19T16:16:01.783Z","priority":"6","pid":"2830187","message":" 16:16:01.137462 Client connects to port 33439"}

data: {"time":"2026-09-19T16:16:01.783Z","priority":"6","pid":"2830187","message":" 16:16:01.137531 ====> Client established passive DATA connection on port 33439"}

data: {"time":"2026-09-19T16:16:01.783Z","priority":"6","pid":"2830187","message":" 16:16:01.137787 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:01.784Z","priority":"6","pid":"2830187","message":" 16:16:01.137927 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.784Z","priority":"6","pid":"2830187","message":" 16:16:01.138242 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:01.785Z","priority":"6","pid":"2830187","message":" 16:16:01.138453 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.785Z","priority":"6","pid":"2830187","message":" 16:16:01.138705 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:01.785Z","priority":"6","pid":"2830187","message":" 16:16:01.138773 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.785Z","priority":"6","pid":"2830187","message":" 16:16:01.138941 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:01.786Z","priority":"6","pid":"2830187","message":" 16:16:01.138983 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:01.786Z","priority":"6","pid":"2830187","message":" 16:16:01.139488 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:01.787Z","priority":"6","pid":"2830187","message":" 16:16:01.139543 DATA sockfilt for passive data channel quits (pid 86739)"}

data: {"time":"2026-09-19T16:16:01.787Z","priority":"6","pid":"2830187","message":" 16:16:01.140104 DATA sockfilt for passive data channel quit (pid 86739)"}

data: {"time":"2026-09-19T16:16:01.788Z","priority":"6","pid":"2830187","message":" 16:16:01.140158 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:01.788Z","priority":"6","pid":"2830187","message":" 16:16:01.140216 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.789Z","priority":"6","pid":"2830187","message":" 16:16:01.180108 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:01.789Z","priority":"6","pid":"2830187","message":" 16:16:01.180205 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.789Z","priority":"6","pid":"2830187","message":" 16:16:01.181289 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:01.789Z","priority":"6","pid":"2830187","message":" 16:16:01.181556 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:01.790Z","priority":"6","pid":"2830187","message":" 16:16:01.181730 Awaiting input"}

data: {"time":"2026-09-19T16:16:01.790Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:01.790Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:01.790Z","priority":"6","pid":"2830187","message":" 16:16:01.201057 ====> Client connect"}

data: {"time":"2026-09-19T16:16:01.791Z","priority":"6","pid":"2830187","message":" 16:16:01.201775 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.792Z","priority":"6","pid":"2830187","message":" 16:16:01.201821 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.792Z","priority":"6","pid":"2830187","message":" 16:16:01.201840 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:01.792Z","priority":"6","pid":"2830187","message":" 16:16:01.201854 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.793Z","priority":"6","pid":"2830187","message":" 16:16:01.201866 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.795Z","priority":"6","pid":"2830187","message":" 16:16:01.202027 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.795Z","priority":"6","pid":"2830187","message":" 16:16:01.202053 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.795Z","priority":"6","pid":"2830187","message":" 16:16:01.202397 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.795Z","priority":"6","pid":"2830187","message":" 16:16:01.202420 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.796Z","priority":"6","pid":"2830187","message":" 16:16:01.202448 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.796Z","priority":"6","pid":"2830187","message":" 16:16:01.202544 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.797Z","priority":"6","pid":"2830187","message":" 16:16:01.202564 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.797Z","priority":"6","pid":"2830187","message":" 16:16:01.202886 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.798Z","priority":"6","pid":"2830187","message":" 16:16:01.202908 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.798Z","priority":"6","pid":"2830187","message":" 16:16:01.203003 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.799Z","priority":"6","pid":"2830187","message":" 16:16:01.203160 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.799Z","priority":"6","pid":"2830187","message":" 16:16:01.203184 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.799Z","priority":"6","pid":"2830187","message":" 16:16:01.203372 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.799Z","priority":"6","pid":"2830187","message":" 16:16:01.203392 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.800Z","priority":"6","pid":"2830187","message":" 16:16:01.203406 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.800Z","priority":"6","pid":"2830187","message":" 16:16:01.203519 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.800Z","priority":"6","pid":"2830187","message":" 16:16:01.203540 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.801Z","priority":"6","pid":"2830187","message":" 16:16:01.208060 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.801Z","priority":"6","pid":"2830187","message":" 16:16:01.208091 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.802Z","priority":"6","pid":"2830187","message":" 16:16:01.208123 '229 Entering Passive Mode (|||33439|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.802Z","priority":"6","pid":"2830187","message":" 16:16:01.208896 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.803Z","priority":"6","pid":"2830187","message":" 16:16:01.208920 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.804Z","priority":"6","pid":"2830187","message":" 16:16:01.209148 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.804Z","priority":"6","pid":"2830187","message":" 16:16:01.209171 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.804Z","priority":"6","pid":"2830187","message":" 16:16:01.209260 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.805Z","priority":"6","pid":"2830187","message":" 16:16:01.209370 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.805Z","priority":"6","pid":"2830187","message":" 16:16:01.209389 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.805Z","priority":"6","pid":"2830187","message":" 16:16:01.209626 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.806Z","priority":"6","pid":"2830187","message":" 16:16:01.209650 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.806Z","priority":"6","pid":"2830187","message":" 16:16:01.209676 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.806Z","priority":"6","pid":"2830187","message":" 16:16:01.209860 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.807Z","priority":"6","pid":"2830187","message":" 16:16:01.209882 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.808Z","priority":"6","pid":"2830187","message":" 16:16:01.210312 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.808Z","priority":"6","pid":"2830187","message":" 16:16:01.210334 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.808Z","priority":"6","pid":"2830187","message":" 16:16:01.210349 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.808Z","priority":"6","pid":"2830187","message":" 16:16:01.211557 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.809Z","priority":"6","pid":"2830187","message":" 16:16:01.211581 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.809Z","priority":"6","pid":"2830187","message":" 16:16:01.211596 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.810Z","priority":"6","pid":"2830187","message":" 16:16:01.250972 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:01.810Z","priority":"6","pid":"2830187","message":" 16:16:01.251146 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.810Z","priority":"6","pid":"2830187","message":" 16:16:01.251602 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.811Z","priority":"6","pid":"2830187","message":" 16:16:01.251649 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.811Z","priority":"6","pid":"2830187","message":" 16:16:01.251664 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.812Z","priority":"6","pid":"2830187","message":" 16:16:01.252473 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:01.812Z","priority":"6","pid":"2830187","message":" 16:16:01.252720 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:01.812Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:01.813Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:01.813Z","priority":"6","pid":"2830187","message":" 16:16:01.207255 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:01.813Z","priority":"6","pid":"2830187","message":" 16:16:01.207450 Listening on port 33439"}

data: {"time":"2026-09-19T16:16:01.814Z","priority":"6","pid":"2830187","message":" 16:16:01.207515 Wrote pid 86739 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:01.814Z","priority":"6","pid":"2830187","message":" 16:16:01.207553 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:01.814Z","priority":"6","pid":"2830187","message":" 16:16:01.207816 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:01.815Z","priority":"6","pid":"2830187","message":" 16:16:01.208558 ====> Client connect"}

data: {"time":"2026-09-19T16:16:01.815Z","priority":"6","pid":"2830187","message":" 16:16:01.210401 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:01.815Z","priority":"6","pid":"2830187","message":" 16:16:01.210432 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:01.816Z","priority":"6","pid":"2830187","message":" 16:16:01.210446 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:01.816Z","priority":"6","pid":"2830187","message":" 16:16:01.210495 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:01.817Z","priority":"6","pid":"2830187","message":" 16:16:01.210513 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:01.817Z","priority":"6","pid":"2830187","message":" 16:16:01.210868 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:01.817Z","priority":"6","pid":"2830187","message":" 16:16:01.210897 quits"}

data: {"time":"2026-09-19T16:16:01.817Z","priority":"6","pid":"2830187","message":" 16:16:01.211052 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:01.818Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:01.818Z","priority":"6","pid":"2830187","message":"=== Start of file netrc133"}

data: {"time":"2026-09-19T16:16:01.819Z","priority":"6","pid":"2830187","message":" # the following two lines were created while testing curl"}

data: {"time":"2026-09-19T16:16:01.819Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login user1 password passwd1"}

data: {"time":"2026-09-19T16:16:01.819Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login mary password drfrank"}

data: {"time":"2026-09-19T16:16:01.820Z","priority":"6","pid":"2830187","message":"=== End of file netrc133"}

data: {"time":"2026-09-19T16:16:01.820Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:01.820Z","priority":"6","pid":"2830187","message":" Testnum 133"}

data: {"time":"2026-09-19T16:16:01.820Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:01.821Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind133"}

data: {"time":"2026-09-19T16:16:01.821Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:01.821Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:01.822Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:01.822Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.822Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:01.823Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:01.823Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:01.824Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:01.824Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:01.824Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.825Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:01.825Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:01.826Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:01.826Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:01.826Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:01.827Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:01.827Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:01.827Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.828Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:01.828Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:01.829Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.829Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:01.830Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:01.830Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:01.831Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:01.831Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:01.831Z","priority":"6","pid":"2830187","message":"=== End of file valgrind133"}

data: {"time":"2026-09-19T16:16:01.831Z","priority":"6","pid":"2830187","message":"test 0134 [FTP (optional .netrc; programmatic user/passwd) dir list PASV]"}

data: {"time":"2026-09-19T16:16:01.833Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind134 ../src/curl -q --output log/curl134.out  --include --trace-ascii log/trace134 --trace-time --netrc-optional --netrc-file log/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:40545/ > log/stdout134 2> log/stderr134"}

data: {"time":"2026-09-19T16:16:01.833Z","priority":"6","pid":"2830187","message":" 134: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:01.834Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:01.834Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:01.835Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 134"}

data: {"time":"2026-09-19T16:16:01.835Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:01.837Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind134 ../src/curl -q --output log/curl134.out  --include --trace-ascii log/trace134 --trace-time --netrc-optional --netrc-file log/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:40545/ > log/stdout134 2> log/stderr134"}

data: {"time":"2026-09-19T16:16:01.838Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:01.838Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:01.838Z","priority":"6","pid":"2830187","message":" 16:16:01.511728 ====> Client connect"}

data: {"time":"2026-09-19T16:16:01.839Z","priority":"6","pid":"2830187","message":" 16:16:01.512122 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.839Z","priority":"6","pid":"2830187","message":" 16:16:01.512812 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:01.839Z","priority":"6","pid":"2830187","message":" 16:16:01.513106 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.840Z","priority":"6","pid":"2830187","message":" 16:16:01.513260 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:01.840Z","priority":"6","pid":"2830187","message":" 16:16:01.513315 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.841Z","priority":"6","pid":"2830187","message":" 16:16:01.513665 < \"PWD\""}

data: {"time":"2026-09-19T16:16:01.841Z","priority":"6","pid":"2830187","message":" 16:16:01.513808 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:01.842Z","priority":"6","pid":"2830187","message":" 16:16:01.514123 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:01.842Z","priority":"6","pid":"2830187","message":" 16:16:01.514170 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:01.842Z","priority":"6","pid":"2830187","message":" 16:16:01.514190 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:01.843Z","priority":"6","pid":"2830187","message":" 16:16:01.518040 DATA sockfilt for passive data channel started (pid 86808)"}

data: {"time":"2026-09-19T16:16:01.843Z","priority":"6","pid":"2830187","message":" 16:16:01.518376 DATA sockfilt for passive data channel listens on port 37807"}

data: {"time":"2026-09-19T16:16:02.153Z","priority":"6","pid":"2830187","message":" 16:16:01CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind135 ../src/curl -q --output log/curl135.out  --include --trace-ascii log/trace135 --trace-time -r 4-16 ftp://127.0.0.1:40545/135 > log/stdout135 2> log/stderr135"}

data: {"time":"2026-09-19T16:16:02.156Z","priority":"6","pid":"2830187","message":".518469 > \"229 Entering Passive Mode (|||37807|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.158Z","priority":"6","pid":"2830187","message":" 16:16:01.518507 Client has been notified that upcoming DATA connection is awaited on port 37807"}

data: {"time":"2026-09-19T16:16:02.158Z","priority":"6","pid":"2830187","message":" 16:16:01.519124 Client connects to port 37807"}

data: {"time":"2026-09-19T16:16:02.158Z","priority":"6","pid":"2830187","message":" 16:16:01.519194 ====> Client established passive DATA connection on port 37807"}

data: {"time":"2026-09-19T16:16:02.159Z","priority":"6","pid":"2830187","message":" 16:16:01.519414 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:02.159Z","priority":"6","pid":"2830187","message":" 16:16:01.519658 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.159Z","priority":"6","pid":"2830187","message":" 16:16:01.519875 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:02.160Z","priority":"6","pid":"2830187","message":" 16:16:01.519986 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.160Z","priority":"6","pid":"2830187","message":" 16:16:01.520263 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:02.161Z","priority":"6","pid":"2830187","message":" 16:16:01.520433 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.161Z","priority":"6","pid":"2830187","message":" 16:16:01.520745 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:02.161Z","priority":"6","pid":"2830187","message":" 16:16:01.520776 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.162Z","priority":"6","pid":"2830187","message":" 16:16:01.521089 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.163Z","priority":"6","pid":"2830187","message":" 16:16:01.521138 DATA sockfilt for passive data channel quits (pid 86808)"}

data: {"time":"2026-09-19T16:16:02.163Z","priority":"6","pid":"2830187","message":" 16:16:01.521670 DATA sockfilt for passive data channel quit (pid 86808)"}

data: {"time":"2026-09-19T16:16:02.163Z","priority":"6","pid":"2830187","message":" 16:16:01.521722 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.164Z","priority":"6","pid":"2830187","message":" 16:16:01.521775 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.164Z","priority":"6","pid":"2830187","message":" 16:16:01.561991 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:02.164Z","priority":"6","pid":"2830187","message":" 16:16:01.562108 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.165Z","priority":"6","pid":"2830187","message":" 16:16:01.562418 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:02.165Z","priority":"6","pid":"2830187","message":" 16:16:01.562466 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:02.166Z","priority":"6","pid":"2830187","message":" 16:16:01.562603 Awaiting input"}

data: {"time":"2026-09-19T16:16:02.166Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:02.166Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:02.167Z","priority":"6","pid":"2830187","message":" 16:16:01.582794 ====> Client connect"}

data: {"time":"2026-09-19T16:16:02.168Z","priority":"6","pid":"2830187","message":" 16:16:01.583531 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.168Z","priority":"6","pid":"2830187","message":" 16:16:01.583562 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.168Z","priority":"6","pid":"2830187","message":" 16:16:01.583579 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:02.169Z","priority":"6","pid":"2830187","message":" 16:16:01.583646 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.169Z","priority":"6","pid":"2830187","message":" 16:16:01.583660 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.170Z","priority":"6","pid":"2830187","message":" 16:16:01.583823 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.170Z","priority":"6","pid":"2830187","message":" 16:16:01.583853 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.171Z","priority":"6","pid":"2830187","message":" 16:16:01.584140 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.171Z","priority":"6","pid":"2830187","message":" 16:16:01.584158 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.171Z","priority":"6","pid":"2830187","message":" 16:16:01.584181 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.172Z","priority":"6","pid":"2830187","message":" 16:16:01.584314 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.173Z","priority":"6","pid":"2830187","message":" 16:16:01.584332 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.173Z","priority":"6","pid":"2830187","message":" 16:16:01.584681 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.173Z","priority":"6","pid":"2830187","message":" 16:16:01.584704 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.174Z","priority":"6","pid":"2830187","message":" 16:16:01.584719 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.174Z","priority":"6","pid":"2830187","message":" 16:16:01.584799 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.174Z","priority":"6","pid":"2830187","message":" 16:16:01.584815 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.175Z","priority":"6","pid":"2830187","message":" 16:16:01.585011 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.175Z","priority":"6","pid":"2830187","message":" 16:16:01.585033 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.176Z","priority":"6","pid":"2830187","message":" 16:16:01.585126 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.176Z","priority":"6","pid":"2830187","message":" 16:16:01.585257 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.177Z","priority":"6","pid":"2830187","message":" 16:16:01.585279 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.177Z","priority":"6","pid":"2830187","message":" 16:16:01.589836 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.178Z","priority":"6","pid":"2830187","message":" 16:16:01.589868 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.178Z","priority":"6","pid":"2830187","message":" 16:16:01.589886 '229 Entering Passive Mode (|||37807|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.178Z","priority":"6","pid":"2830187","message":" 16:16:01.590261 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.179Z","priority":"6","pid":"2830187","message":" 16:16:01.590296 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.180Z","priority":"6","pid":"2830187","message":" 16:16:01.590745 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.180Z","priority":"6","pid":"2830187","message":" 16:16:01.590769 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.180Z","priority":"6","pid":"2830187","message":" 16:16:01.590796 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.180Z","priority":"6","pid":"2830187","message":" 16:16:01.591002 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.181Z","priority":"6","pid":"2830187","message":" 16:16:01.591023 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.181Z","priority":"6","pid":"2830187","message":" 16:16:01.591203 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.182Z","priority":"6","pid":"2830187","message":" 16:16:01.591220 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.182Z","priority":"6","pid":"2830187","message":" 16:16:01.591284 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.183Z","priority":"6","pid":"2830187","message":" 16:16:01.591388 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.184Z","priority":"6","pid":"2830187","message":" 16:16:01.591410 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.184Z","priority":"6","pid":"2830187","message":" 16:16:01.591592 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.185Z","priority":"6","pid":"2830187","message":" 16:16:01.591626 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.185Z","priority":"6","pid":"2830187","message":" 16:16:01.591649 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.185Z","priority":"6","pid":"2830187","message":" 16:16:01.593098 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.185Z","priority":"6","pid":"2830187","message":" 16:16:01.593124 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.186Z","priority":"6","pid":"2830187","message":" 16:16:01.593137 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.187Z","priority":"6","pid":"2830187","message":" 16:16:01.632955 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.188Z","priority":"6","pid":"2830187","message":" 16:16:01.633033 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.189Z","priority":"6","pid":"2830187","message":" 16:16:01.633418 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.189Z","priority":"6","pid":"2830187","message":" 16:16:01.633437 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.189Z","priority":"6","pid":"2830187","message":" 16:16:01.633451 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.190Z","priority":"6","pid":"2830187","message":" 16:16:01.633641 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:02.190Z","priority":"6","pid":"2830187","message":" 16:16:01.634549 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:02.191Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:02.191Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:02.191Z","priority":"6","pid":"2830187","message":" 16:16:01.588949 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:02.191Z","priority":"6","pid":"2830187","message":" 16:16:01.589124 Listening on port 37807"}

data: {"time":"2026-09-19T16:16:02.192Z","priority":"6","pid":"2830187","message":" 16:16:01.589194 Wrote pid 86808 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:02.193Z","priority":"6","pid":"2830187","message":" 16:16:01.589230 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:02.193Z","priority":"6","pid":"2830187","message":" 16:16:01.589443 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:02.193Z","priority":"6","pid":"2830187","message":" 16:16:01.590335 ====> Client connect"}

data: {"time":"2026-09-19T16:16:02.193Z","priority":"6","pid":"2830187","message":" 16:16:01.591756 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.194Z","priority":"6","pid":"2830187","message":" 16:16:01.591806 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.194Z","priority":"6","pid":"2830187","message":" 16:16:01.592078 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.195Z","priority":"6","pid":"2830187","message":" 16:16:01.592140 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:02.195Z","priority":"6","pid":"2830187","message":" 16:16:01.592156 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:02.196Z","priority":"6","pid":"2830187","message":" 16:16:01.592439 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:02.196Z","priority":"6","pid":"2830187","message":" 16:16:01.592458 quits"}

data: {"time":"2026-09-19T16:16:02.196Z","priority":"6","pid":"2830187","message":" 16:16:01.592582 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:02.197Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:02.197Z","priority":"6","pid":"2830187","message":"=== Start of file netrc134"}

data: {"time":"2026-09-19T16:16:02.198Z","priority":"6","pid":"2830187","message":" # the following two lines were created while testing curl"}

data: {"time":"2026-09-19T16:16:02.198Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login user1 password passwd1"}

data: {"time":"2026-09-19T16:16:02.198Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login user2 password passwd2"}

data: {"time":"2026-09-19T16:16:02.199Z","priority":"6","pid":"2830187","message":"=== End of file netrc134"}

data: {"time":"2026-09-19T16:16:02.199Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:02.200Z","priority":"6","pid":"2830187","message":" Testnum 134"}

data: {"time":"2026-09-19T16:16:02.200Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:02.200Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind134"}

data: {"time":"2026-09-19T16:16:02.201Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:02.201Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:02.202Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:02.202Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.202Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:02.203Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:02.203Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:02.204Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:02.205Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:02.205Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.205Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:02.205Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:02.206Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:02.206Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:02.207Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:02.208Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:02.208Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:02.208Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.209Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:02.210Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:02.210Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.210Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:02.211Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:02.211Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:02.211Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.211Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:02.212Z","priority":"6","pid":"2830187","message":"=== End of file valgrind134"}

data: {"time":"2026-09-19T16:16:02.212Z","priority":"6","pid":"2830187","message":"test 0135 [FTP retrieve a byte-range]"}

data: {"time":"2026-09-19T16:16:02.214Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind135 ../src/curl -q --output log/curl135.out  --include --trace-ascii log/trace135 --trace-time -r 4-16 ftp://127.0.0.1:40545/135 > log/stdout135 2> log/stderr135"}

data: {"time":"2026-09-19T16:16:02.215Z","priority":"6","pid":"2830187","message":" 135: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:02.215Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:02.215Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:02.215Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 135"}

data: {"time":"2026-09-19T16:16:02.216Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:02.218Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind135 ../src/curl -q --output log/curl135.out  --include --trace-ascii log/trace135 --trace-time -r 4-16 ftp://127.0.0.1:40545/135 > log/stdout135 2> log/stderr135"}

data: {"time":"2026-09-19T16:16:02.218Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:02.218Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:02.219Z","priority":"6","pid":"2830187","message":" 16:16:01.885898 ====> Client connect"}

data: {"time":"2026-09-19T16:16:02.220Z","priority":"6","pid":"2830187","message":" 16:16:01.886623 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.221Z","priority":"6","pid":"2830187","message":" 16:16:01.886891 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:02.222Z","priority":"6","pid":"2830187","message":" 16:16:01.887113 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.222Z","priority":"6","pid":"2830187","message":" 16:16:01.887323 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:02.222Z","priority":"6","pid":"2830187","message":" 16:16:01.887452 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.222Z","priority":"6","pid":"2830187","message":" 16:16:01.887744 < \"PWD\""}

data: {"time":"2026-09-19T16:16:02.223Z","priority":"6","pid":"2830187","message":" 16:16:01.887817 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.223Z","priority":"6","pid":"2830187","message":" 16:16:01.888147 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:02.224Z","priority":"6","pid":"2830187","message":" 16:16:01.888222 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:02.224Z","priority":"6","pid":"2830187","message":" 16:16:01.888276 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:02.225Z","priority":"6","pid":"2830187","message":" 16:16:01.891628 DATA sockfilt for passive data channel started (pid 86878)"}

data: {"time":"2026-09-19T16:16:02.225Z","priority":"6","pid":"2830187","message":" 16:16:01.891869 DATA sockfilt for passive data channel listens on port 39159"}

data: {"time":"2026-09-19T16:16:02.226Z","priority":"6","pid":"2830187","message":" 16:16:01.891941 > \"229 Entering Passive Mode (|||39159|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.226Z","priority":"6","pid":"2830187","message":" 16:16:01.891965 Client has been notified that upcoming DATA connection is awaited on port 39159"}

data: {"time":"2026-09-19T16:16:02.227Z","priority":"6","pid":"2830187","message":" 16:16:01.892400 Client connects to port 39159"}

data: {"time":"2026-09-19T16:16:02.227Z","priority":"6","pid":"2830187","message":" 16:16:01.892498 ====> Client established passive DATA connection on port 39159"}

data: {"time":"2026-09-19T16:16:02.514Z","priority":"6","pid":"2830187","message":" 16:16:01.892865 < \"TYPE ICMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind136 ../src/curl -q --output log/curl136.out  --include --trace-ascii log/trace136 --trace-time -u user: ftp://127.0.0.1:40545/136 > log/stdout136 2> log/stderr136"}

data: {"time":"2026-09-19T16:16:02.529Z","priority":"6","pid":"2830187","message":"\""}

data: {"time":"2026-09-19T16:16:02.530Z","priority":"6","pid":"2830187","message":" 16:16:01.892926 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.531Z","priority":"6","pid":"2830187","message":" 16:16:01.893311 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:02.531Z","priority":"6","pid":"2830187","message":" 16:16:01.893425 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.532Z","priority":"6","pid":"2830187","message":" 16:16:01.893739 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:02.532Z","priority":"6","pid":"2830187","message":" 16:16:01.893807 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.533Z","priority":"6","pid":"2830187","message":" 16:16:01.893980 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:02.533Z","priority":"6","pid":"2830187","message":" 16:16:01.894006 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.533Z","priority":"6","pid":"2830187","message":" 16:16:01.894487 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.534Z","priority":"6","pid":"2830187","message":" 16:16:01.894546 DATA sockfilt for passive data channel quits (pid 86878)"}

data: {"time":"2026-09-19T16:16:02.534Z","priority":"6","pid":"2830187","message":" 16:16:01.895077 DATA sockfilt for passive data channel quit (pid 86878)"}

data: {"time":"2026-09-19T16:16:02.535Z","priority":"6","pid":"2830187","message":" 16:16:01.895126 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.535Z","priority":"6","pid":"2830187","message":" 16:16:01.895181 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.535Z","priority":"6","pid":"2830187","message":" 16:16:01.935218 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:02.536Z","priority":"6","pid":"2830187","message":" 16:16:01.935319 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.537Z","priority":"6","pid":"2830187","message":" 16:16:01.936591 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:02.537Z","priority":"6","pid":"2830187","message":" 16:16:01.936807 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:02.537Z","priority":"6","pid":"2830187","message":" 16:16:01.936977 Awaiting input"}

data: {"time":"2026-09-19T16:16:02.537Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:02.538Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:02.538Z","priority":"6","pid":"2830187","message":" 16:16:01.956950 ====> Client connect"}

data: {"time":"2026-09-19T16:16:02.538Z","priority":"6","pid":"2830187","message":" 16:16:01.957447 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.539Z","priority":"6","pid":"2830187","message":" 16:16:01.957485 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.541Z","priority":"6","pid":"2830187","message":" 16:16:01.957633 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.957662 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.957675 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.957811 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.957829 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.958215 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.958241 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.958265 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.958437 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.958457 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.958661 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.958676 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.958750 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.545Z","priority":"6","pid":"2830187","message":" 16:16:01.958834 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.546Z","priority":"6","pid":"2830187","message":" 16:16:01.958847 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.546Z","priority":"6","pid":"2830187","message":" 16:16:01.959116 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.547Z","priority":"6","pid":"2830187","message":" 16:16:01.959139 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.547Z","priority":"6","pid":"2830187","message":" 16:16:01.959164 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.548Z","priority":"6","pid":"2830187","message":" 16:16:01.959284 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.548Z","priority":"6","pid":"2830187","message":" 16:16:01.959302 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.549Z","priority":"6","pid":"2830187","message":" 16:16:01.963266 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.549Z","priority":"6","pid":"2830187","message":" 16:16:01.963295 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.549Z","priority":"6","pid":"2830187","message":" 16:16:01.963309 '229 Entering Passive Mode (|||39159|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.551Z","priority":"6","pid":"2830187","message":" 16:16:01.963915 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.551Z","priority":"6","pid":"2830187","message":" 16:16:01.963937 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.553Z","priority":"6","pid":"2830187","message":" 16:16:01.964209 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.554Z","priority":"6","pid":"2830187","message":" 16:16:01.964240 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.555Z","priority":"6","pid":"2830187","message":" 16:16:01.964254 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.555Z","priority":"6","pid":"2830187","message":" 16:16:01.964400 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.557Z","priority":"6","pid":"2830187","message":" 16:16:01.964423 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.560Z","priority":"6","pid":"2830187","message":" 16:16:01.964714 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.563Z","priority":"6","pid":"2830187","message":" 16:16:01.964736 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.568Z","priority":"6","pid":"2830187","message":" 16:16:01.964749 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.571Z","priority":"6","pid":"2830187","message":" 16:16:01.964844 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.572Z","priority":"6","pid":"2830187","message":" 16:16:01.964862 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.573Z","priority":"6","pid":"2830187","message":" 16:16:01.965291 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.573Z","priority":"6","pid":"2830187","message":" 16:16:01.965313 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.574Z","priority":"6","pid":"2830187","message":" 16:16:01.965326 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.574Z","priority":"6","pid":"2830187","message":" 16:16:01.966482 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.575Z","priority":"6","pid":"2830187","message":" 16:16:01.966508 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.575Z","priority":"6","pid":"2830187","message":" 16:16:01.966520 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.576Z","priority":"6","pid":"2830187","message":" 16:16:02.006120 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.576Z","priority":"6","pid":"2830187","message":" 16:16:02.006194 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.578Z","priority":"6","pid":"2830187","message":" 16:16:02.006690 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.581Z","priority":"6","pid":"2830187","message":" 16:16:02.006724 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.583Z","priority":"6","pid":"2830187","message":" 16:16:02.006738 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.583Z","priority":"6","pid":"2830187","message":" 16:16:02.007610 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:02.585Z","priority":"6","pid":"2830187","message":" 16:16:02.007941 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:02.586Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:02.588Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:02.589Z","priority":"6","pid":"2830187","message":" 16:16:01.962268 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:02.589Z","priority":"6","pid":"2830187","message":" 16:16:01.962743 Listening on port 39159"}

data: {"time":"2026-09-19T16:16:02.590Z","priority":"6","pid":"2830187","message":" 16:16:01.962793 Wrote pid 86878 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:02.591Z","priority":"6","pid":"2830187","message":" 16:16:01.962821 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:02.592Z","priority":"6","pid":"2830187","message":" 16:16:01.962980 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:02.592Z","priority":"6","pid":"2830187","message":" 16:16:01.963569 ====> Client connect"}

data: {"time":"2026-09-19T16:16:02.593Z","priority":"6","pid":"2830187","message":" 16:16:01.965374 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.594Z","priority":"6","pid":"2830187","message":" 16:16:01.965405 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.594Z","priority":"6","pid":"2830187","message":" 16:16:01.965417 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.595Z","priority":"6","pid":"2830187","message":" 16:16:01.965461 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:02.595Z","priority":"6","pid":"2830187","message":" 16:16:01.965477 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:02.596Z","priority":"6","pid":"2830187","message":" 16:16:01.965837 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:02.598Z","priority":"6","pid":"2830187","message":" 16:16:01.965860 quits"}

data: {"time":"2026-09-19T16:16:02.598Z","priority":"6","pid":"2830187","message":" 16:16:01.965987 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:02.598Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:02.602Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:02.602Z","priority":"6","pid":"2830187","message":" Testnum 135"}

data: {"time":"2026-09-19T16:16:02.602Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:02.602Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind135"}

data: {"time":"2026-09-19T16:16:02.602Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:02.602Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:02.604Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:02.604Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.605Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:02.606Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:02.607Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:02.608Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:02.608Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:02.609Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.611Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:02.612Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:02.614Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:02.615Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:02.617Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:02.618Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:02.619Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:02.620Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.620Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:02.621Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:02.621Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.621Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:02.623Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:02.623Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:02.623Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.623Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:02.624Z","priority":"6","pid":"2830187","message":"=== End of file valgrind135"}

data: {"time":"2026-09-19T16:16:02.625Z","priority":"6","pid":"2830187","message":"test 0136 [FTP with user and no password]"}

data: {"time":"2026-09-19T16:16:02.628Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind136 ../src/curl -q --output log/curl136.out  --include --trace-ascii log/trace136 --trace-time -u user: ftp://127.0.0.1:40545/136 > log/stdout136 2> log/stderr136"}

data: {"time":"2026-09-19T16:16:02.630Z","priority":"6","pid":"2830187","message":" 136: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:02.631Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:02.633Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:02.633Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 136"}

data: {"time":"2026-09-19T16:16:02.636Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:02.639Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind136 ../src/curl -q --output log/curl136.out  --include --trace-ascii log/trace136 --trace-time -u user: ftp://127.0.0.1:40545/136 > log/stdout136 2> log/stderr136"}

data: {"time":"2026-09-19T16:16:02.641Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:02.642Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:02.642Z","priority":"6","pid":"2830187","message":" 16:16:02.276139 ====> Client connect"}

data: {"time":"2026-09-19T16:16:02.643Z","priority":"6","pid":"2830187","message":" 16:16:02.276888 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.644Z","priority":"6","pid":"2830187","message":" 16:16:02.277269 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:02.644Z","priority":"6","pid":"2830187","message":" 16:16:02.277321 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.645Z","priority":"6","pid":"2830187","message":" 16:16:02.277630 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:02.645Z","priority":"6","pid":"2830187","message":" 16:16:02.277678 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.645Z","priority":"6","pid":"2830187","message":" 16:16:02.278040 < \"PWD\""}

data: {"time":"2026-09-19T16:16:02.646Z","priority":"6","pid":"2830187","message":" 16:16:02.278138 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.646Z","priority":"6","pid":"2830187","message":" 16:16:02.278493 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:02.647Z","priority":"6","pid":"2830187","message":" 16:16:02.278546 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:02.647Z","priority":"6","pid":"2830187","message":" 16:16:02.278569 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:02.648Z","priority":"6","pid":"2830187","message":" 16:16:02.282173 DATA sockfilt for passive data channel started (pid 86944)"}

data: {"time":"2026-09-19T16:16:02.648Z","priority":"6","pid":"2830187","message":" 16:16:02.282444 DATA sockfilt for passive data channel listens on port 41755"}

data: {"time":"2026-09-19T16:16:02.649Z","priority":"6","pid":"2830187","message":" 16:16:02.282523 > \"229 Entering Passive Mode (|||41755|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.649Z","priority":"6","pid":"2830187","message":" 16:16:02.282547 Client has been notified that upcoming DATA connection is awaited on port 41755"}

data: {"time":"2026-09-19T16:16:02.650Z","priority":"6","pid":"2830187","message":" 16:16:02.283051 Client connects to port 41755"}

data: {"time":"2026-09-19T16:16:02.650Z","priority":"6","pid":"2830187","message":" 16:16:02.283116 ====> Client established passive DATA connection on port 41755"}

data: {"time":"2026-09-19T16:16:02.650Z","priority":"6","pid":"2830187","message":" 16:16:02.283261 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:02.652Z","priority":"6","pid":"2830187","message":" 16:16:02.283577 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.652Z","priority":"6","pid":"2830187","message":" 16:16:02.283825 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:02.653Z","priority":"6","pid":"2830187","message":" 16:16:02.283916 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.653Z","priority":"6","pid":"2830187","message":" 16:16:02.284249 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:02.653Z","priority":"6","pid":"2830187","message":" 16:16:02.284373 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.654Z","priority":"6","pid":"2830187","message":" 16:16:02.284533 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:02.655Z","priority":"6","pid":"2830187","message":" 16:16:02.284556 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.655Z","priority":"6","pid":"2830187","message":" 16:16:02.285050 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.655Z","priority":"6","pid":"2830187","message":" 16:16:02.285100 DATA sockfilt for passive data channel quits (pid 86944)"}

data: {"time":"2026-09-19T16:16:02.937Z","priority":"6","pid":"2830187","message":" 16:16:02.285656 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind137 ../src/curl -q --output log/curl137.out  --include --trace-ascii log/trace137 --trace-time ftp://127.0.0.1:40545/blalbla/lululul/137 > log/stdout137 2> log/stderr137"}

data: {"time":"2026-09-19T16:16:02.941Z","priority":"6","pid":"2830187","message":"DATA sockfilt for passive data channel quit (pid 86944)"}

data: {"time":"2026-09-19T16:16:02.942Z","priority":"6","pid":"2830187","message":" 16:16:02.285720 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.943Z","priority":"6","pid":"2830187","message":" 16:16:02.285815 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.943Z","priority":"6","pid":"2830187","message":" 16:16:02.326414 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:02.943Z","priority":"6","pid":"2830187","message":" 16:16:02.326517 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.943Z","priority":"6","pid":"2830187","message":" 16:16:02.327527 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:02.944Z","priority":"6","pid":"2830187","message":" 16:16:02.327862 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:02.944Z","priority":"6","pid":"2830187","message":" 16:16:02.328044 Awaiting input"}

data: {"time":"2026-09-19T16:16:02.944Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:02.945Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:02.945Z","priority":"6","pid":"2830187","message":" 16:16:02.347155 ====> Client connect"}

data: {"time":"2026-09-19T16:16:02.946Z","priority":"6","pid":"2830187","message":" 16:16:02.347920 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.946Z","priority":"6","pid":"2830187","message":" 16:16:02.347970 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.946Z","priority":"6","pid":"2830187","message":" 16:16:02.348005 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:02.947Z","priority":"6","pid":"2830187","message":" 16:16:02.348017 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.947Z","priority":"6","pid":"2830187","message":" 16:16:02.348027 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.948Z","priority":"6","pid":"2830187","message":" 16:16:02.348288 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.948Z","priority":"6","pid":"2830187","message":" 16:16:02.348306 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.949Z","priority":"6","pid":"2830187","message":" 16:16:02.348611 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.949Z","priority":"6","pid":"2830187","message":" 16:16:02.348628 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.949Z","priority":"6","pid":"2830187","message":" 16:16:02.348639 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.949Z","priority":"6","pid":"2830187","message":" 16:16:02.348748 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.950Z","priority":"6","pid":"2830187","message":" 16:16:02.348762 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.950Z","priority":"6","pid":"2830187","message":" 16:16:02.348942 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.950Z","priority":"6","pid":"2830187","message":" 16:16:02.348963 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.951Z","priority":"6","pid":"2830187","message":" 16:16:02.348982 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.951Z","priority":"6","pid":"2830187","message":" 16:16:02.349150 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.952Z","priority":"6","pid":"2830187","message":" 16:16:02.349178 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.952Z","priority":"6","pid":"2830187","message":" 16:16:02.349418 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.952Z","priority":"6","pid":"2830187","message":" 16:16:02.349439 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.953Z","priority":"6","pid":"2830187","message":" 16:16:02.349455 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.953Z","priority":"6","pid":"2830187","message":" 16:16:02.349594 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.953Z","priority":"6","pid":"2830187","message":" 16:16:02.349614 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.954Z","priority":"6","pid":"2830187","message":" 16:16:02.353827 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.954Z","priority":"6","pid":"2830187","message":" 16:16:02.353854 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.954Z","priority":"6","pid":"2830187","message":" 16:16:02.353870 '229 Entering Passive Mode (|||41755|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.955Z","priority":"6","pid":"2830187","message":" 16:16:02.354178 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.955Z","priority":"6","pid":"2830187","message":" 16:16:02.354199 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.955Z","priority":"6","pid":"2830187","message":" 16:16:02.354546 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.955Z","priority":"6","pid":"2830187","message":" 16:16:02.354621 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.956Z","priority":"6","pid":"2830187","message":" 16:16:02.354651 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.957Z","priority":"6","pid":"2830187","message":" 16:16:02.354752 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.957Z","priority":"6","pid":"2830187","message":" 16:16:02.354769 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.957Z","priority":"6","pid":"2830187","message":" 16:16:02.355214 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.957Z","priority":"6","pid":"2830187","message":" 16:16:02.355250 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.957Z","priority":"6","pid":"2830187","message":" 16:16:02.355264 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.958Z","priority":"6","pid":"2830187","message":" 16:16:02.355356 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.958Z","priority":"6","pid":"2830187","message":" 16:16:02.355373 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.959Z","priority":"6","pid":"2830187","message":" 16:16:02.355542 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.959Z","priority":"6","pid":"2830187","message":" 16:16:02.355574 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.959Z","priority":"6","pid":"2830187","message":" 16:16:02.355822 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.960Z","priority":"6","pid":"2830187","message":" 16:16:02.357116 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.960Z","priority":"6","pid":"2830187","message":" 16:16:02.357148 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.960Z","priority":"6","pid":"2830187","message":" 16:16:02.357164 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.961Z","priority":"6","pid":"2830187","message":" 16:16:02.397387 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:02.961Z","priority":"6","pid":"2830187","message":" 16:16:02.397471 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.961Z","priority":"6","pid":"2830187","message":" 16:16:02.397793 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.962Z","priority":"6","pid":"2830187","message":" 16:16:02.397818 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.962Z","priority":"6","pid":"2830187","message":" 16:16:02.397832 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.962Z","priority":"6","pid":"2830187","message":" 16:16:02.398650 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:02.963Z","priority":"6","pid":"2830187","message":" 16:16:02.398857 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:02.964Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:02.964Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:02.964Z","priority":"6","pid":"2830187","message":" 16:16:02.353073 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:02.964Z","priority":"6","pid":"2830187","message":" 16:16:02.353237 Listening on port 41755"}

data: {"time":"2026-09-19T16:16:02.964Z","priority":"6","pid":"2830187","message":" 16:16:02.353293 Wrote pid 86944 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:02.965Z","priority":"6","pid":"2830187","message":" 16:16:02.353339 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:02.965Z","priority":"6","pid":"2830187","message":" 16:16:02.353499 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:02.965Z","priority":"6","pid":"2830187","message":" 16:16:02.354230 ====> Client connect"}

data: {"time":"2026-09-19T16:16:02.966Z","priority":"6","pid":"2830187","message":" 16:16:02.355949 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:02.966Z","priority":"6","pid":"2830187","message":" 16:16:02.355984 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:02.967Z","priority":"6","pid":"2830187","message":" 16:16:02.355997 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:02.967Z","priority":"6","pid":"2830187","message":" 16:16:02.356046 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:02.967Z","priority":"6","pid":"2830187","message":" 16:16:02.356062 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:02.968Z","priority":"6","pid":"2830187","message":" 16:16:02.356367 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:02.968Z","priority":"6","pid":"2830187","message":" 16:16:02.356388 quits"}

data: {"time":"2026-09-19T16:16:02.969Z","priority":"6","pid":"2830187","message":" 16:16:02.356521 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:02.969Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:02.969Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:02.969Z","priority":"6","pid":"2830187","message":" Testnum 136"}

data: {"time":"2026-09-19T16:16:02.970Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:02.970Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind136"}

data: {"time":"2026-09-19T16:16:02.971Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:02.971Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:02.971Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:02.972Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.972Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:02.972Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:02.973Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:02.973Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:02.974Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:02.974Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.974Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:02.975Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:02.975Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:02.976Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:02.976Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:02.976Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:02.977Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:02.978Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.978Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:02.978Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:02.978Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.979Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:02.979Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:02.979Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:02.979Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:02.980Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:02.980Z","priority":"6","pid":"2830187","message":"=== End of file valgrind136"}

data: {"time":"2026-09-19T16:16:02.981Z","priority":"6","pid":"2830187","message":"test 0137 [FTP download without size in RETR string]"}

data: {"time":"2026-09-19T16:16:02.982Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind137 ../src/curl -q --output log/curl137.out  --include --trace-ascii log/trace137 --trace-time ftp://127.0.0.1:40545/blalbla/lululul/137 > log/stdout137 2> log/stderr137"}

data: {"time":"2026-09-19T16:16:02.983Z","priority":"6","pid":"2830187","message":" 137: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:02.983Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:02.983Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:02.984Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 137"}

data: {"time":"2026-09-19T16:16:02.984Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:02.986Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind137 ../src/curl -q --output log/curl137.out  --include --trace-ascii log/trace137 --trace-time ftp://127.0.0.1:40545/blalbla/lululul/137 > log/stdout137 2> log/stderr137"}

data: {"time":"2026-09-19T16:16:02.987Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:02.987Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:02.987Z","priority":"6","pid":"2830187","message":" 16:16:02.701279 ====> Client connect"}

data: {"time":"2026-09-19T16:16:02.988Z","priority":"6","pid":"2830187","message":" 16:16:02.702424 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.988Z","priority":"6","pid":"2830187","message":" 16:16:02.702772 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:02.989Z","priority":"6","pid":"2830187","message":" 16:16:02.702911 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.989Z","priority":"6","pid":"2830187","message":" 16:16:02.703118 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:02.989Z","priority":"6","pid":"2830187","message":" 16:16:02.703157 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.990Z","priority":"6","pid":"2830187","message":" 16:16:02.703497 < \"PWD\""}

data: {"time":"2026-09-19T16:16:02.990Z","priority":"6","pid":"2830187","message":" 16:16:02.703557 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.991Z","priority":"6","pid":"2830187","message":" 16:16:02.703900 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:02.991Z","priority":"6","pid":"2830187","message":" 16:16:02.703948 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:02.991Z","priority":"6","pid":"2830187","message":" 16:16:02.703971 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:02.992Z","priority":"6","pid":"2830187","message":" 16:16:02.708147 DATA sockfilt for passive data channel started (pid 87010)"}

data: {"time":"2026-09-19T16:16:02.992Z","priority":"6","pid":"2830187","message":" 16:16:02.708529 DATA sockfilt for passive data channel listens on port 42257"}

data: {"time":"2026-09-19T16:16:02.993Z","priority":"6","pid":"2830187","message":" 16:16:02.708643 > \"229 Entering Passive Mode (|||42257|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.993Z","priority":"6","pid":"2830187","message":" 16:16:02.708675 Client has been notified that upcoming DATA connection is awaited on port 42257"}

data: {"time":"2026-09-19T16:16:02.994Z","priority":"6","pid":"2830187","message":" 16:16:02.709506 Client connects to port 42257"}

data: {"time":"2026-09-19T16:16:02.994Z","priority":"6","pid":"2830187","message":" 16:16:02.709571 ====> Client established passive DATA connection on port 42257"}

data: {"time":"2026-09-19T16:16:02.995Z","priority":"6","pid":"2830187","message":" 16:16:02.709754 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:02.995Z","priority":"6","pid":"2830187","message":" 16:16:02.710061 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.996Z","priority":"6","pid":"2830187","message":" 16:16:02.710203 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:02.996Z","priority":"6","pid":"2830187","message":" 16:16:02.710272 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.996Z","priority":"6","pid":"2830187","message":" 16:16:02.710644 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:02.997Z","priority":"6","pid":"2830187","message":" 16:16:02.710760 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:02.997Z","priority":"6","pid":"2830187","message":" 16:16:02.711211 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:02.997Z","priority":"6","pid":"2830187","message":" 16:16:02.711248 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.998Z","priority":"6","pid":"2830187","message":" 16:16:02.711646 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:02.998Z","priority":"6","pid":"2830187","message":" 16:16:02.711694 DATA sockfilt for passive data channel quits (pid 87010)"}

data: {"time":"2026-09-19T16:16:02.999Z","priority":"6","pid":"2830187","message":" 16:16:02.712837 DATA sockfilt for passive data channel quit (pid 87010)"}

data: {"time":"2026-09-19T16:16:03.000Z","priority":"6","pid":"2830187","message":" 16:16:02.712900 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:03.000Z","priority":"6","pid":"2830187","message":" 16:16:02.712961 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.000Z","priority":"6","pid":"2830187","message":" 16:16:02.752407 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:03.001Z","priority":"6","pid":"2830187","message":" 16:16:02.752513 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.001Z","priority":"6","pid":"2830187","message":" 16:16:02.753486 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:03.001Z","priority":"6","pid":"2830187","message":" 16:16:02.753695 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:03.001Z","priority":"6","pid":"2830187","message":" 16:16:02.753873 Awaiting input"}

data: {"time":"2026-09-19T16:16:03.002Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:03.002Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:03.003Z","priority":"6","pid":"2830187","message":" 16:16:02.772223 ====> Client connect"}

data: {"time":"2026-09-19T16:16:03.283Z","priority":"6","pid":"2830187","message":" 16:16:02.773132 ReceivedCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind138 ../src/curl -q --output log/curl138.out  --include --trace-ascii log/trace138 --trace-time ftp://127.0.0.1:40545/blalbla/lululul/138 > log/stdout138 2> log/stderr138"}

data: {"time":"2026-09-19T16:16:03.301Z","priority":"6","pid":"2830187","message":" DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.301Z","priority":"6","pid":"2830187","message":" 16:16:02.773180 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.301Z","priority":"6","pid":"2830187","message":" 16:16:02.773230 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:03.302Z","priority":"6","pid":"2830187","message":" 16:16:02.773300 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.302Z","priority":"6","pid":"2830187","message":" 16:16:02.773319 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.302Z","priority":"6","pid":"2830187","message":" 16:16:02.773780 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.303Z","priority":"6","pid":"2830187","message":" 16:16:02.773802 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.303Z","priority":"6","pid":"2830187","message":" 16:16:02.774035 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.304Z","priority":"6","pid":"2830187","message":" 16:16:02.774050 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.304Z","priority":"6","pid":"2830187","message":" 16:16:02.774073 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.304Z","priority":"6","pid":"2830187","message":" 16:16:02.774249 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.305Z","priority":"6","pid":"2830187","message":" 16:16:02.774267 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.305Z","priority":"6","pid":"2830187","message":" 16:16:02.774404 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.306Z","priority":"6","pid":"2830187","message":" 16:16:02.774433 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.306Z","priority":"6","pid":"2830187","message":" 16:16:02.774449 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.306Z","priority":"6","pid":"2830187","message":" 16:16:02.774576 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.306Z","priority":"6","pid":"2830187","message":" 16:16:02.774597 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.307Z","priority":"6","pid":"2830187","message":" 16:16:02.774798 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.307Z","priority":"6","pid":"2830187","message":" 16:16:02.774814 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.308Z","priority":"6","pid":"2830187","message":" 16:16:02.774828 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.308Z","priority":"6","pid":"2830187","message":" 16:16:02.774972 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.308Z","priority":"6","pid":"2830187","message":" 16:16:02.774997 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.309Z","priority":"6","pid":"2830187","message":" 16:16:02.780147 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.309Z","priority":"6","pid":"2830187","message":" 16:16:02.780185 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.310Z","priority":"6","pid":"2830187","message":" 16:16:02.780202 '229 Entering Passive Mode (|||42257|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.311Z","priority":"6","pid":"2830187","message":" 16:16:02.780598 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.311Z","priority":"6","pid":"2830187","message":" 16:16:02.780627 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.311Z","priority":"6","pid":"2830187","message":" 16:16:02.781036 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.311Z","priority":"6","pid":"2830187","message":" 16:16:02.781062 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.312Z","priority":"6","pid":"2830187","message":" 16:16:02.781091 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.312Z","priority":"6","pid":"2830187","message":" 16:16:02.781213 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.312Z","priority":"6","pid":"2830187","message":" 16:16:02.781233 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.313Z","priority":"6","pid":"2830187","message":" 16:16:02.781564 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.313Z","priority":"6","pid":"2830187","message":" 16:16:02.781587 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.314Z","priority":"6","pid":"2830187","message":" 16:16:02.781601 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.314Z","priority":"6","pid":"2830187","message":" 16:16:02.781722 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.314Z","priority":"6","pid":"2830187","message":" 16:16:02.781744 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.314Z","priority":"6","pid":"2830187","message":" 16:16:02.781920 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.315Z","priority":"6","pid":"2830187","message":" 16:16:02.781939 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.315Z","priority":"6","pid":"2830187","message":" 16:16:02.782086 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.316Z","priority":"6","pid":"2830187","message":" 16:16:02.784249 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.316Z","priority":"6","pid":"2830187","message":" 16:16:02.784286 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.316Z","priority":"6","pid":"2830187","message":" 16:16:02.784301 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.317Z","priority":"6","pid":"2830187","message":" 16:16:02.823093 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.317Z","priority":"6","pid":"2830187","message":" 16:16:02.823163 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.318Z","priority":"6","pid":"2830187","message":" 16:16:02.823770 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.318Z","priority":"6","pid":"2830187","message":" 16:16:02.823795 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.318Z","priority":"6","pid":"2830187","message":" 16:16:02.823808 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.319Z","priority":"6","pid":"2830187","message":" 16:16:02.824605 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:03.319Z","priority":"6","pid":"2830187","message":" 16:16:02.824788 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:03.319Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:03.320Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:03.320Z","priority":"6","pid":"2830187","message":" 16:16:02.778956 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:03.320Z","priority":"6","pid":"2830187","message":" 16:16:02.779155 Listening on port 42257"}

data: {"time":"2026-09-19T16:16:03.321Z","priority":"6","pid":"2830187","message":" 16:16:02.779221 Wrote pid 87010 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:03.321Z","priority":"6","pid":"2830187","message":" 16:16:02.779259 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:03.322Z","priority":"6","pid":"2830187","message":" 16:16:02.779478 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:03.322Z","priority":"6","pid":"2830187","message":" 16:16:02.780662 ====> Client connect"}

data: {"time":"2026-09-19T16:16:03.323Z","priority":"6","pid":"2830187","message":" 16:16:02.782030 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.323Z","priority":"6","pid":"2830187","message":" 16:16:02.782064 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.324Z","priority":"6","pid":"2830187","message":" 16:16:02.782204 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.324Z","priority":"6","pid":"2830187","message":" 16:16:02.782716 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:03.324Z","priority":"6","pid":"2830187","message":" 16:16:02.782752 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:03.324Z","priority":"6","pid":"2830187","message":" 16:16:02.783477 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:03.325Z","priority":"6","pid":"2830187","message":" 16:16:02.783502 quits"}

data: {"time":"2026-09-19T16:16:03.325Z","priority":"6","pid":"2830187","message":" 16:16:02.783718 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:03.325Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:03.326Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:03.326Z","priority":"6","pid":"2830187","message":" RETRNOSIZE"}

data: {"time":"2026-09-19T16:16:03.326Z","priority":"6","pid":"2830187","message":" Testnum 137"}

data: {"time":"2026-09-19T16:16:03.326Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:03.327Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind137"}

data: {"time":"2026-09-19T16:16:03.327Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:03.328Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:03.328Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:03.328Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.328Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:03.329Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:03.329Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:03.330Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:03.330Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:03.330Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.331Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:03.331Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:03.332Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:03.332Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:03.332Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:03.333Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:03.333Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:03.333Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.334Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:03.334Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:03.334Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.335Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:03.335Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:03.336Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:03.336Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.336Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:03.337Z","priority":"6","pid":"2830187","message":"=== End of file valgrind137"}

data: {"time":"2026-09-19T16:16:03.337Z","priority":"6","pid":"2830187","message":"test 0138 [FTP download without size in RETR string and no SIZE command]"}

data: {"time":"2026-09-19T16:16:03.339Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind138 ../src/curl -q --output log/curl138.out  --include --trace-ascii log/trace138 --trace-time ftp://127.0.0.1:40545/blalbla/lululul/138 > log/stdout138 2> log/stderr138"}

data: {"time":"2026-09-19T16:16:03.339Z","priority":"6","pid":"2830187","message":" 138: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:03.339Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:03.340Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:03.340Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 138"}

data: {"time":"2026-09-19T16:16:03.341Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:03.342Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind138 ../src/curl -q --output log/curl138.out  --include --trace-ascii log/trace138 --trace-time ftp://127.0.0.1:40545/blalbla/lululul/138 > log/stdout138 2> log/stderr138"}

data: {"time":"2026-09-19T16:16:03.342Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:03.343Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:03.343Z","priority":"6","pid":"2830187","message":" 16:16:03.046905 ====> Client connect"}

data: {"time":"2026-09-19T16:16:03.344Z","priority":"6","pid":"2830187","message":" 16:16:03.047241 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.344Z","priority":"6","pid":"2830187","message":" 16:16:03.047847 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:03.345Z","priority":"6","pid":"2830187","message":" 16:16:03.048168 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.345Z","priority":"6","pid":"2830187","message":" 16:16:03.048450 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:03.346Z","priority":"6","pid":"2830187","message":" 16:16:03.048617 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.346Z","priority":"6","pid":"2830187","message":" 16:16:03.048855 < \"PWD\""}

data: {"time":"2026-09-19T16:16:03.346Z","priority":"6","pid":"2830187","message":" 16:16:03.048919 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.346Z","priority":"6","pid":"2830187","message":" 16:16:03.049222 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:03.346Z","priority":"6","pid":"2830187","message":" 16:16:03.049273 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:03.347Z","priority":"6","pid":"2830187","message":" 16:16:03.049294 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:03.348Z","priority":"6","pid":"2830187","message":" 16:16:03.052930 DATA sockfilt for passive data channel started (pid 87075)"}

data: {"time":"2026-09-19T16:16:03.348Z","priority":"6","pid":"2830187","message":" 16:16:03.053174 DATA sockfilt for passive data channel listens on port 45123"}

data: {"time":"2026-09-19T16:16:03.348Z","priority":"6","pid":"2830187","message":" 16:16:03.053271 > \"229 Entering Passive Mode (|||45123|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.349Z","priority":"6","pid":"2830187","message":" 16:16:03.053299 Client has been notified that upcoming DATA connection is awaited on port 45123"}

data: {"time":"2026-09-19T16:16:03.349Z","priority":"6","pid":"2830187","message":" 16:16:03.053789 Client connects to port 45123"}

data: {"time":"2026-09-19T16:16:03.350Z","priority":"6","pid":"2830187","message":" 16:16:03.053854 ====> Client established passive DATA connection on port 45123"}

data: {"time":"2026-09-19T16:16:03.351Z","priority":"6","pid":"2830187","message":" 16:16:03.054217 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:03.352Z","priority":"6","pid":"2830187","message":" 16:16:03.054323 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.352Z","priority":"6","pid":"2830187","message":" 16:16:03.054660 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:03.352Z","priority":"6","pid":"2830187","message":" 16:16:03.054735 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.353Z","priority":"6","pid":"2830187","message":" 16:16:03.055054 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:03.354Z","priority":"6","pid":"2830187","message":" 16:16:03.055122 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.354Z","priority":"6","pid":"2830187","message":" 16:16:03.055287 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:03.354Z","priority":"6","pid":"2830187","message":" 16:16:03.055316 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:03.354Z","priority":"6","pid":"2830187","message":" 16:16:03.055899 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:03.355Z","priority":"6","pid":"2830187","message":" 16:16:03.055952 DATA sockfilt for passive data channel quits (pid 87075)"}

data: {"time":"2026-09-19T16:16:03.355Z","priority":"6","pid":"2830187","message":" 16:16:03.056588 DATA sockfilt for passive data channel quit (pid 87075)"}

data: {"time":"2026-09-19T16:16:03.356Z","priority":"6","pid":"2830187","message":" 16:16:03.056642 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:03.357Z","priority":"6","pid":"2830187","message":" 16:16:03.056697 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.357Z","priority":"6","pid":"2830187","message":" 16:16:03.097112 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:03.357Z","priority":"6","pid":"2830187","message":" 16:16:03.097206 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.357Z","priority":"6","pid":"2830187","message":" 16:16:03.098176 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:03.357Z","priority":"6","pid":"2830187","message":" 16:16:03.098397 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:03.358Z","priority":"6","pid":"2830187","message":" 16:16:03.098568 Awaiting input"}

data: {"time":"2026-09-19T16:16:03.358Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:03.358Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:03.358Z","priority":"6","pid":"2830187","message":" 16:16:03.117940 ====> Client connect"}

data: {"time":"2026-09-19T16:16:03.359Z","priority":"6","pid":"2830187","message":" 16:16:03.118600 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.359Z","priority":"6","pid":"2830187","message":" 16:16:03.118629 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.360Z","priority":"6","pid":"2830187","message":" 16:16:03.118645 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:03.360Z","priority":"6","pid":"2830187","message":" 16:16:03.118660 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.360Z","priority":"6","pid":"2830187","message":" 16:16:03.118671 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.361Z","priority":"6","pid":"2830187","message":" 16:16:03.118777 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.361Z","priority":"6","pid":"2830187","message":" 16:16:03.118791 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.361Z","priority":"6","pid":"2830187","message":" 16:16:03.119115 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.660Z","priority":"6","pid":"2830187","message":" 16:16:03.119139 > 33 bytes data, seCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind139 ../src/curl -q --output log/curl139.out  --include --trace-ascii log/trace139 --trace-time ftp://127.0.0.1:40545/blalbla/139 -z \"1 jan 1989\" > log/stdout139 2> log/stderr139"}

data: {"time":"2026-09-19T16:16:03.664Z","priority":"6","pid":"2830187","message":"rver => client"}

data: {"time":"2026-09-19T16:16:03.665Z","priority":"6","pid":"2830187","message":" 16:16:03.119169 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.665Z","priority":"6","pid":"2830187","message":" 16:16:03.119291 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.665Z","priority":"6","pid":"2830187","message":" 16:16:03.119316 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.666Z","priority":"6","pid":"2830187","message":" 16:16:03.119711 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.667Z","priority":"6","pid":"2830187","message":" 16:16:03.119733 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.667Z","priority":"6","pid":"2830187","message":" 16:16:03.119758 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.667Z","priority":"6","pid":"2830187","message":" 16:16:03.119918 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.668Z","priority":"6","pid":"2830187","message":" 16:16:03.119936 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.668Z","priority":"6","pid":"2830187","message":" 16:16:03.120148 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.669Z","priority":"6","pid":"2830187","message":" 16:16:03.120165 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.669Z","priority":"6","pid":"2830187","message":" 16:16:03.120179 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.670Z","priority":"6","pid":"2830187","message":" 16:16:03.120291 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.670Z","priority":"6","pid":"2830187","message":" 16:16:03.120311 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.670Z","priority":"6","pid":"2830187","message":" 16:16:03.124583 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.672Z","priority":"6","pid":"2830187","message":" 16:16:03.124613 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.672Z","priority":"6","pid":"2830187","message":" 16:16:03.124628 '229 Entering Passive Mode (|||45123|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.672Z","priority":"6","pid":"2830187","message":" 16:16:03.125286 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.672Z","priority":"6","pid":"2830187","message":" 16:16:03.125312 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.672Z","priority":"6","pid":"2830187","message":" 16:16:03.125469 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.673Z","priority":"6","pid":"2830187","message":" 16:16:03.125487 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.673Z","priority":"6","pid":"2830187","message":" 16:16:03.125585 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.674Z","priority":"6","pid":"2830187","message":" 16:16:03.125704 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.674Z","priority":"6","pid":"2830187","message":" 16:16:03.125724 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.675Z","priority":"6","pid":"2830187","message":" 16:16:03.125967 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.675Z","priority":"6","pid":"2830187","message":" 16:16:03.125990 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.675Z","priority":"6","pid":"2830187","message":" 16:16:03.126003 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.676Z","priority":"6","pid":"2830187","message":" 16:16:03.126119 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.676Z","priority":"6","pid":"2830187","message":" 16:16:03.126139 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.677Z","priority":"6","pid":"2830187","message":" 16:16:03.126606 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.678Z","priority":"6","pid":"2830187","message":" 16:16:03.126632 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.678Z","priority":"6","pid":"2830187","message":" 16:16:03.126653 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.678Z","priority":"6","pid":"2830187","message":" 16:16:03.127950 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.678Z","priority":"6","pid":"2830187","message":" 16:16:03.127981 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.679Z","priority":"6","pid":"2830187","message":" 16:16:03.127995 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.679Z","priority":"6","pid":"2830187","message":" 16:16:03.167992 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.680Z","priority":"6","pid":"2830187","message":" 16:16:03.168063 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.680Z","priority":"6","pid":"2830187","message":" 16:16:03.168439 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.681Z","priority":"6","pid":"2830187","message":" 16:16:03.168460 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.681Z","priority":"6","pid":"2830187","message":" 16:16:03.168472 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.682Z","priority":"6","pid":"2830187","message":" 16:16:03.169282 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:03.683Z","priority":"6","pid":"2830187","message":" 16:16:03.169435 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:03.683Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:03.683Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:03.683Z","priority":"6","pid":"2830187","message":" 16:16:03.123471 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:03.683Z","priority":"6","pid":"2830187","message":" 16:16:03.123949 Listening on port 45123"}

data: {"time":"2026-09-19T16:16:03.684Z","priority":"6","pid":"2830187","message":" 16:16:03.124011 Wrote pid 87075 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:03.685Z","priority":"6","pid":"2830187","message":" 16:16:03.124047 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:03.685Z","priority":"6","pid":"2830187","message":" 16:16:03.124229 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:03.686Z","priority":"6","pid":"2830187","message":" 16:16:03.124928 ====> Client connect"}

data: {"time":"2026-09-19T16:16:03.686Z","priority":"6","pid":"2830187","message":" 16:16:03.126711 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.686Z","priority":"6","pid":"2830187","message":" 16:16:03.126745 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.686Z","priority":"6","pid":"2830187","message":" 16:16:03.126758 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.687Z","priority":"6","pid":"2830187","message":" 16:16:03.126806 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:03.687Z","priority":"6","pid":"2830187","message":" 16:16:03.126823 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:03.688Z","priority":"6","pid":"2830187","message":" 16:16:03.127187 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:03.688Z","priority":"6","pid":"2830187","message":" 16:16:03.127211 quits"}

data: {"time":"2026-09-19T16:16:03.688Z","priority":"6","pid":"2830187","message":" 16:16:03.127357 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:03.689Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:03.690Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:03.690Z","priority":"6","pid":"2830187","message":" RETRNOSIZE"}

data: {"time":"2026-09-19T16:16:03.690Z","priority":"6","pid":"2830187","message":" REPLY SIZE 500 command not understood"}

data: {"time":"2026-09-19T16:16:03.690Z","priority":"6","pid":"2830187","message":" Testnum 138"}

data: {"time":"2026-09-19T16:16:03.690Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:03.691Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind138"}

data: {"time":"2026-09-19T16:16:03.691Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:03.692Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:03.692Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:03.692Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.693Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:03.693Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:03.694Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:03.694Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:03.695Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:03.695Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.695Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:03.696Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:03.697Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:03.697Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:03.698Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:03.698Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:03.699Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:03.699Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.699Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:03.700Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:03.701Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.701Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:03.701Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:03.701Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:03.702Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:03.702Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:03.703Z","priority":"6","pid":"2830187","message":"=== End of file valgrind138"}

data: {"time":"2026-09-19T16:16:03.703Z","priority":"6","pid":"2830187","message":"test 0139 [FTP download a newer file with -z]"}

data: {"time":"2026-09-19T16:16:03.705Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind139 ../src/curl -q --output log/curl139.out  --include --trace-ascii log/trace139 --trace-time ftp://127.0.0.1:40545/blalbla/139 -z \"1 jan 1989\" > log/stdout139 2> log/stderr139"}

data: {"time":"2026-09-19T16:16:03.706Z","priority":"6","pid":"2830187","message":" 139: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:03.706Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:03.706Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:03.707Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 139"}

data: {"time":"2026-09-19T16:16:03.707Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:03.709Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind139 ../src/curl -q --output log/curl139.out  --include --trace-ascii log/trace139 --trace-time ftp://127.0.0.1:40545/blalbla/139 -z \"1 jan 1989\" > log/stdout139 2> log/stderr139"}

data: {"time":"2026-09-19T16:16:03.709Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:03.710Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:03.710Z","priority":"6","pid":"2830187","message":" 16:16:03.402785 ====> Client connect"}

data: {"time":"2026-09-19T16:16:03.711Z","priority":"6","pid":"2830187","message":" 16:16:03.403459 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.712Z","priority":"6","pid":"2830187","message":" 16:16:03.403733 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:03.712Z","priority":"6","pid":"2830187","message":" 16:16:03.404060 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.712Z","priority":"6","pid":"2830187","message":" 16:16:03.404204 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:03.713Z","priority":"6","pid":"2830187","message":" 16:16:03.404246 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.713Z","priority":"6","pid":"2830187","message":" 16:16:03.404583 < \"PWD\""}

data: {"time":"2026-09-19T16:16:03.714Z","priority":"6","pid":"2830187","message":" 16:16:03.404639 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.714Z","priority":"6","pid":"2830187","message":" 16:16:03.404877 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:03.715Z","priority":"6","pid":"2830187","message":" 16:16:03.404918 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:03.715Z","priority":"6","pid":"2830187","message":" 16:16:03.404938 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:03.716Z","priority":"6","pid":"2830187","message":" 16:16:03.408525 DATA sockfilt for passive data channel started (pid 87140)"}

data: {"time":"2026-09-19T16:16:03.717Z","priority":"6","pid":"2830187","message":" 16:16:03.408712 DATA sockfilt for passive data channel listens on port 35683"}

data: {"time":"2026-09-19T16:16:03.717Z","priority":"6","pid":"2830187","message":" 16:16:03.408797 > \"229 Entering Passive Mode (|||35683|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.718Z","priority":"6","pid":"2830187","message":" 16:16:03.408835 Client has been notified that upcoming DATA connection is awaited on port 35683"}

data: {"time":"2026-09-19T16:16:03.718Z","priority":"6","pid":"2830187","message":" 16:16:03.409312 Client connects to port 35683"}

data: {"time":"2026-09-19T16:16:03.718Z","priority":"6","pid":"2830187","message":" 16:16:03.409426 ====> Client established passive DATA connection on port 35683"}

data: {"time":"2026-09-19T16:16:03.719Z","priority":"6","pid":"2830187","message":" 16:16:03.409797 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:03.720Z","priority":"6","pid":"2830187","message":" 16:16:03.409901 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.720Z","priority":"6","pid":"2830187","message":" 16:16:03.410201 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:03.720Z","priority":"6","pid":"2830187","message":" 16:16:03.410275 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.720Z","priority":"6","pid":"2830187","message":" 16:16:03.410612 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:03.720Z","priority":"6","pid":"2830187","message":" 16:16:03.410678 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.721Z","priority":"6","pid":"2830187","message":" 16:16:03.410840 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:03.721Z","priority":"6","pid":"2830187","message":" 16:16:03.410870 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:03.721Z","priority":"6","pid":"2830187","message":" 16:16:03.411246 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:03.722Z","priority":"6","pid":"2830187","message":" 16:16:03.411285 DATA sockfilt for passive data channel quits (pid 87140)"}

data: {"time":"2026-09-19T16:16:03.723Z","priority":"6","pid":"2830187","message":" 16:16:03.411832 DATA sockfilt for passive data channel quit (pid 87140)"}

data: {"time":"2026-09-19T16:16:03.723Z","priority":"6","pid":"2830187","message":" 16:16:03.411877 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:03.723Z","priority":"6","pid":"2830187","message":" 16:16:03.411929 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.723Z","priority":"6","pid":"2830187","message":" 16:16:03.452228 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:03.724Z","priority":"6","pid":"2830187","message":" 16:16:03.452367 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:03.724Z","priority":"6","pid":"2830187","message":" 16:16:03.453088 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:03.725Z","priority":"6","pid":"2830187","message":" 16:16:03.453302 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:03.725Z","priority":"6","pid":"2830187","message":" 16:16:03.453864 Awaiting input"}

data: {"time":"2026-09-19T16:16:03.725Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:03.725Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:03.726Z","priority":"6","pid":"2830187","message":" 16:16:03.473796 ====> Client connect"}

data: {"time":"2026-09-19T16:16:03.726Z","priority":"6","pid":"2830187","message":" 16:16:03.474241 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.727Z","priority":"6","pid":"2830187","message":" 16:16:03.474275 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.727Z","priority":"6","pid":"2830187","message":" 16:16:03.474372 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:03.728Z","priority":"6","pid":"2830187","message":" 16:16:03.474393 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.728Z","priority":"6","pid":"2830187","message":" 16:16:03.474405 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.728Z","priority":"6","pid":"2830187","message":" 16:16:03.474549 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.729Z","priority":"6","pid":"2830187","message":" 16:16:03.474570 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.729Z","priority":"6","pid":"2830187","message":" 16:16:03.474987 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.729Z","priority":"6","pid":"2830187","message":" 16:16:03.475011 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.730Z","priority":"6","pid":"2830187","message":" 16:16:03.475041 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.730Z","priority":"6","pid":"2830187","message":" 16:16:03.475154 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.730Z","priority":"6","pid":"2830187","message":" 16:16:03.475183 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.731Z","priority":"6","pid":"2830187","message":" 16:16:03.475452 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:03.731Z","priority":"6","pid":"2830187","message":" 16:16:03.475469 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:03.732Z","priority":"6","pid":"2830187","message":" 16:16:03.475482 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.733Z","priority":"6","pid":"2830187","message":" 16:16:03.475662 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:03.733Z","priority":"6","pid":"2830187","message":" 16:16:03.475689 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:03.996Z","priority":"6","pid":"2830187","message":" 16:16:03.475844 Received DATA (on stCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind140 ../src/curl -q --output log/curl140.out  --include --trace-ascii log/trace140 --trace-time ftp://127.0.0.1:40545/blalbla/140 -z \"1 jan 2004\" > log/stdout140 2> log/stderr140"}

data: {"time":"2026-09-19T16:16:04.008Z","priority":"6","pid":"2830187","message":"din)"}

data: {"time":"2026-09-19T16:16:04.009Z","priority":"6","pid":"2830187","message":" 16:16:03.475858 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.009Z","priority":"6","pid":"2830187","message":" 16:16:03.475871 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.009Z","priority":"6","pid":"2830187","message":" 16:16:03.475959 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.010Z","priority":"6","pid":"2830187","message":" 16:16:03.475972 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.010Z","priority":"6","pid":"2830187","message":" 16:16:03.480067 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.010Z","priority":"6","pid":"2830187","message":" 16:16:03.480095 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.010Z","priority":"6","pid":"2830187","message":" 16:16:03.480114 '229 Entering Passive Mode (|||35683|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.011Z","priority":"6","pid":"2830187","message":" 16:16:03.480847 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.011Z","priority":"6","pid":"2830187","message":" 16:16:03.480874 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.011Z","priority":"6","pid":"2830187","message":" 16:16:03.481034 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.012Z","priority":"6","pid":"2830187","message":" 16:16:03.481050 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.012Z","priority":"6","pid":"2830187","message":" 16:16:03.481115 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.012Z","priority":"6","pid":"2830187","message":" 16:16:03.481224 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.013Z","priority":"6","pid":"2830187","message":" 16:16:03.481258 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.013Z","priority":"6","pid":"2830187","message":" 16:16:03.481482 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.013Z","priority":"6","pid":"2830187","message":" 16:16:03.481498 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.014Z","priority":"6","pid":"2830187","message":" 16:16:03.481526 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.014Z","priority":"6","pid":"2830187","message":" 16:16:03.481673 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.015Z","priority":"6","pid":"2830187","message":" 16:16:03.481700 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.015Z","priority":"6","pid":"2830187","message":" 16:16:03.482084 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.016Z","priority":"6","pid":"2830187","message":" 16:16:03.482102 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.016Z","priority":"6","pid":"2830187","message":" 16:16:03.482115 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.016Z","priority":"6","pid":"2830187","message":" 16:16:03.483143 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.016Z","priority":"6","pid":"2830187","message":" 16:16:03.483162 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.017Z","priority":"6","pid":"2830187","message":" 16:16:03.483175 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.017Z","priority":"6","pid":"2830187","message":" 16:16:03.523064 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.017Z","priority":"6","pid":"2830187","message":" 16:16:03.523143 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.018Z","priority":"6","pid":"2830187","message":" 16:16:03.523602 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.018Z","priority":"6","pid":"2830187","message":" 16:16:03.523629 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.018Z","priority":"6","pid":"2830187","message":" 16:16:03.523644 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.019Z","priority":"6","pid":"2830187","message":" 16:16:03.524181 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:04.019Z","priority":"6","pid":"2830187","message":" 16:16:03.524370 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:04.019Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:04.019Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:04.019Z","priority":"6","pid":"2830187","message":" 16:16:03.479171 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:04.019Z","priority":"6","pid":"2830187","message":" 16:16:03.479570 Listening on port 35683"}

data: {"time":"2026-09-19T16:16:04.020Z","priority":"6","pid":"2830187","message":" 16:16:03.479623 Wrote pid 87140 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:04.020Z","priority":"6","pid":"2830187","message":" 16:16:03.479653 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:04.020Z","priority":"6","pid":"2830187","message":" 16:16:03.479781 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:04.020Z","priority":"6","pid":"2830187","message":" 16:16:03.480424 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.021Z","priority":"6","pid":"2830187","message":" 16:16:03.482156 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.021Z","priority":"6","pid":"2830187","message":" 16:16:03.482182 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.021Z","priority":"6","pid":"2830187","message":" 16:16:03.482202 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.021Z","priority":"6","pid":"2830187","message":" 16:16:03.482241 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:04.022Z","priority":"6","pid":"2830187","message":" 16:16:03.482255 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:04.022Z","priority":"6","pid":"2830187","message":" 16:16:03.482489 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:04.022Z","priority":"6","pid":"2830187","message":" 16:16:03.482538 quits"}

data: {"time":"2026-09-19T16:16:04.022Z","priority":"6","pid":"2830187","message":" 16:16:03.482650 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:04.023Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:04.023Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:04.023Z","priority":"6","pid":"2830187","message":" Testnum 139"}

data: {"time":"2026-09-19T16:16:04.024Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:04.024Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind139"}

data: {"time":"2026-09-19T16:16:04.024Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:04.024Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:04.025Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:04.025Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.025Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:04.025Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:04.026Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:04.026Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:04.026Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:04.026Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.027Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:04.027Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:04.028Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:04.028Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:04.028Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:04.028Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:04.029Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:04.029Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.029Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:04.030Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:04.030Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.030Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:04.031Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:04.031Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:04.031Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.032Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:04.032Z","priority":"6","pid":"2830187","message":"=== End of file valgrind139"}

data: {"time":"2026-09-19T16:16:04.032Z","priority":"6","pid":"2830187","message":"test 0140 [FTP download file with -z, expected to not transfer]"}

data: {"time":"2026-09-19T16:16:04.033Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind140 ../src/curl -q --output log/curl140.out  --include --trace-ascii log/trace140 --trace-time ftp://127.0.0.1:40545/blalbla/140 -z \"1 jan 2004\" > log/stdout140 2> log/stderr140"}

data: {"time":"2026-09-19T16:16:04.034Z","priority":"6","pid":"2830187","message":" 140: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:04.034Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:04.034Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:04.035Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 140"}

data: {"time":"2026-09-19T16:16:04.035Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:04.037Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind140 ../src/curl -q --output log/curl140.out  --include --trace-ascii log/trace140 --trace-time ftp://127.0.0.1:40545/blalbla/140 -z \"1 jan 2004\" > log/stdout140 2> log/stderr140"}

data: {"time":"2026-09-19T16:16:04.038Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:04.038Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:04.038Z","priority":"6","pid":"2830187","message":" 16:16:03.774210 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.038Z","priority":"6","pid":"2830187","message":" 16:16:03.774791 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.039Z","priority":"6","pid":"2830187","message":" 16:16:03.775299 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:04.039Z","priority":"6","pid":"2830187","message":" 16:16:03.775471 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.040Z","priority":"6","pid":"2830187","message":" 16:16:03.775804 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:04.040Z","priority":"6","pid":"2830187","message":" 16:16:03.775857 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.040Z","priority":"6","pid":"2830187","message":" 16:16:03.776160 < \"PWD\""}

data: {"time":"2026-09-19T16:16:04.040Z","priority":"6","pid":"2830187","message":" 16:16:03.776227 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.041Z","priority":"6","pid":"2830187","message":" 16:16:03.776552 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:04.042Z","priority":"6","pid":"2830187","message":" 16:16:03.776606 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:04.042Z","priority":"6","pid":"2830187","message":" 16:16:03.776626 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:04.043Z","priority":"6","pid":"2830187","message":" 16:16:03.780701 DATA sockfilt for passive data channel started (pid 87206)"}

data: {"time":"2026-09-19T16:16:04.043Z","priority":"6","pid":"2830187","message":" 16:16:03.780963 DATA sockfilt for passive data channel listens on port 35691"}

data: {"time":"2026-09-19T16:16:04.043Z","priority":"6","pid":"2830187","message":" 16:16:03.781214 > \"229 Entering Passive Mode (|||35691|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.044Z","priority":"6","pid":"2830187","message":" 16:16:03.781262 Client has been notified that upcoming DATA connection is awaited on port 35691"}

data: {"time":"2026-09-19T16:16:04.044Z","priority":"6","pid":"2830187","message":" 16:16:03.781625 Client connects to port 35691"}

data: {"time":"2026-09-19T16:16:04.045Z","priority":"6","pid":"2830187","message":" 16:16:03.781690 ====> Client established passive DATA connection on port 35691"}

data: {"time":"2026-09-19T16:16:04.045Z","priority":"6","pid":"2830187","message":" 16:16:03.782078 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:04.045Z","priority":"6","pid":"2830187","message":" 16:16:03.782145 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.046Z","priority":"6","pid":"2830187","message":" 16:16:03.782503 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:04.046Z","priority":"6","pid":"2830187","message":" 16:16:03.782575 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.046Z","priority":"6","pid":"2830187","message":" 16:16:03.782879 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:04.047Z","priority":"6","pid":"2830187","message":" 16:16:03.782948 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.047Z","priority":"6","pid":"2830187","message":" 16:16:03.783126 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:04.047Z","priority":"6","pid":"2830187","message":" 16:16:03.783162 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:04.048Z","priority":"6","pid":"2830187","message":" 16:16:03.783651 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:04.048Z","priority":"6","pid":"2830187","message":" 16:16:03.783786 DATA sockfilt for passive data channel quits (pid 87206)"}

data: {"time":"2026-09-19T16:16:04.049Z","priority":"6","pid":"2830187","message":" 16:16:03.784384 DATA sockfilt for passive data channel quit (pid 87206)"}

data: {"time":"2026-09-19T16:16:04.049Z","priority":"6","pid":"2830187","message":" 16:16:03.784442 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:04.049Z","priority":"6","pid":"2830187","message":" 16:16:03.784593 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.050Z","priority":"6","pid":"2830187","message":" 16:16:03.824214 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:04.050Z","priority":"6","pid":"2830187","message":" 16:16:03.824298 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.050Z","priority":"6","pid":"2830187","message":" 16:16:03.825319 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:04.051Z","priority":"6","pid":"2830187","message":" 16:16:03.825537 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:04.051Z","priority":"6","pid":"2830187","message":" 16:16:03.825703 Awaiting input"}

data: {"time":"2026-09-19T16:16:04.051Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:04.052Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:04.052Z","priority":"6","pid":"2830187","message":" 16:16:03.845157 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.052Z","priority":"6","pid":"2830187","message":" 16:16:03.845861 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.052Z","priority":"6","pid":"2830187","message":" 16:16:03.845901 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.053Z","priority":"6","pid":"2830187","message":" 16:16:03.846017 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:04.053Z","priority":"6","pid":"2830187","message":" 16:16:03.846035 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.054Z","priority":"6","pid":"2830187","message":" 16:16:03.846046 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.054Z","priority":"6","pid":"2830187","message":" 16:16:03.846291 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.054Z","priority":"6","pid":"2830187","message":" 16:16:03.846314 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.055Z","priority":"6","pid":"2830187","message":" 16:16:03.846577 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.055Z","priority":"6","pid":"2830187","message":" 16:16:03.846599 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.055Z","priority":"6","pid":"2830187","message":" 16:16:03.846673 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.056Z","priority":"6","pid":"2830187","message":" 16:16:03.846779 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.056Z","priority":"6","pid":"2830187","message":" 16:16:03.846796 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.056Z","priority":"6","pid":"2830187","message":" 16:16:03.847056 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.057Z","priority":"6","pid":"2830187","message":" 16:16:03.847078 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.057Z","priority":"6","pid":"2830187","message":" 16:16:03.847093 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.057Z","priority":"6","pid":"2830187","message":" 16:16:03.847194 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.058Z","priority":"6","pid":"2830187","message":" 16:16:03.847212 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.058Z","priority":"6","pid":"2830187","message":" 16:16:03.847424 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.058Z","priority":"6","pid":"2830187","message":" 16:16:03.847444 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.058Z","priority":"6","pid":"2830187","message":" 16:16:03.847457 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.059Z","priority":"6","pid":"2830187","message":" 16:16:03.847585 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.059Z","priority":"6","pid":"2830187","message":" 16:16:03.847604 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.059Z","priority":"6","pid":"2830187","message":" 16:16:03.852212 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.060Z","priority":"6","pid":"2830187","message":" 16:16:03.852240 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.060Z","priority":"6","pid":"2830187","message":" 16:16:03.852269 '229 Entering Passive Mode (|||35691|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.061Z","priority":"6","pid":"2830187","message":" 16:16:03.853040 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.061Z","priority":"6","pid":"2830187","message":" 16:16:03.853068 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.305Z","priority":"6","pid":"2830187","message":" 16:16:03.853345 Received DATA (on stCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind141 ../src/curl -q --include --trace-ascii log/trace141 --trace-time ftp://127.0.0.1:40545/blalbla/141 -I > log/stdout141 2> log/stderr141"}

data: {"time":"2026-09-19T16:16:04.319Z","priority":"6","pid":"2830187","message":"din)"}

data: {"time":"2026-09-19T16:16:04.319Z","priority":"6","pid":"2830187","message":" 16:16:03.853369 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.320Z","priority":"6","pid":"2830187","message":" 16:16:03.853383 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.321Z","priority":"6","pid":"2830187","message":" 16:16:03.853518 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.321Z","priority":"6","pid":"2830187","message":" 16:16:03.853536 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.322Z","priority":"6","pid":"2830187","message":" 16:16:03.853769 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.322Z","priority":"6","pid":"2830187","message":" 16:16:03.853788 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.322Z","priority":"6","pid":"2830187","message":" 16:16:03.853800 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.322Z","priority":"6","pid":"2830187","message":" 16:16:03.853903 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.323Z","priority":"6","pid":"2830187","message":" 16:16:03.853922 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.323Z","priority":"6","pid":"2830187","message":" 16:16:03.854366 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.323Z","priority":"6","pid":"2830187","message":" 16:16:03.854390 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.324Z","priority":"6","pid":"2830187","message":" 16:16:03.854403 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.324Z","priority":"6","pid":"2830187","message":" 16:16:03.855656 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.325Z","priority":"6","pid":"2830187","message":" 16:16:03.855679 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.325Z","priority":"6","pid":"2830187","message":" 16:16:03.855704 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.325Z","priority":"6","pid":"2830187","message":" 16:16:03.894987 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.326Z","priority":"6","pid":"2830187","message":" 16:16:03.895060 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.326Z","priority":"6","pid":"2830187","message":" 16:16:03.895517 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.327Z","priority":"6","pid":"2830187","message":" 16:16:03.895548 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.328Z","priority":"6","pid":"2830187","message":" 16:16:03.895568 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.328Z","priority":"6","pid":"2830187","message":" 16:16:03.896396 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:04.328Z","priority":"6","pid":"2830187","message":" 16:16:03.896601 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:04.328Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:04.328Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:04.329Z","priority":"6","pid":"2830187","message":" 16:16:03.851411 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:04.329Z","priority":"6","pid":"2830187","message":" 16:16:03.851658 Listening on port 35691"}

data: {"time":"2026-09-19T16:16:04.329Z","priority":"6","pid":"2830187","message":" 16:16:03.851720 Wrote pid 87206 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:04.330Z","priority":"6","pid":"2830187","message":" 16:16:03.851757 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:04.330Z","priority":"6","pid":"2830187","message":" 16:16:03.851982 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:04.331Z","priority":"6","pid":"2830187","message":" 16:16:03.852713 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.331Z","priority":"6","pid":"2830187","message":" 16:16:03.854455 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.331Z","priority":"6","pid":"2830187","message":" 16:16:03.854508 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.332Z","priority":"6","pid":"2830187","message":" 16:16:03.854524 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.332Z","priority":"6","pid":"2830187","message":" 16:16:03.854573 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:04.332Z","priority":"6","pid":"2830187","message":" 16:16:03.854592 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:04.333Z","priority":"6","pid":"2830187","message":" 16:16:03.855020 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:04.333Z","priority":"6","pid":"2830187","message":" 16:16:03.855049 quits"}

data: {"time":"2026-09-19T16:16:04.333Z","priority":"6","pid":"2830187","message":" 16:16:03.855191 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:04.333Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:04.334Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:04.334Z","priority":"6","pid":"2830187","message":" Testnum 140"}

data: {"time":"2026-09-19T16:16:04.334Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:04.334Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind140"}

data: {"time":"2026-09-19T16:16:04.334Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:04.334Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:04.335Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:04.335Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.335Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:04.336Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:04.336Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:04.336Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:04.337Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:04.337Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.337Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:04.337Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:04.338Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:04.338Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:04.339Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:04.339Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:04.339Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:04.340Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.340Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:04.340Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:04.340Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.341Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:04.341Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:04.342Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:04.342Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.342Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:04.342Z","priority":"6","pid":"2830187","message":"=== End of file valgrind140"}

data: {"time":"2026-09-19T16:16:04.642Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind142 ../src/curl -q --output log/curl142.out  --include --trace-ascii log/trace142 --trace-time ftp://127.0.0.1:40545/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/stdout142 2> log/stderr142"}

data: {"time":"2026-09-19T16:16:04.647Z","priority":"6","pid":"2830187","message":"test 0141 [FTP download info with -I]"}

data: {"time":"2026-09-19T16:16:04.649Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind141 ../src/curl -q --include --trace-ascii log/trace141 --trace-time ftp://127.0.0.1:40545/blalbla/141 -I > log/stdout141 2> log/stderr141"}

data: {"time":"2026-09-19T16:16:04.650Z","priority":"6","pid":"2830187","message":" 141: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:04.650Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:04.318262403 +0000"}

data: {"time":"2026-09-19T16:16:04.650Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:04.316504474 +0000"}

data: {"time":"2026-09-19T16:16:04.651Z","priority":"6","pid":"2830187","message":"@@ -1,3 +0,0 @@"}

data: {"time":"2026-09-19T16:16:04.651Z","priority":"6","pid":"2830187","message":"-Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF]"}

data: {"time":"2026-09-19T16:16:04.651Z","priority":"6","pid":"2830187","message":"-Content-Length: 42[CR][LF]"}

data: {"time":"2026-09-19T16:16:04.652Z","priority":"6","pid":"2830187","message":"-Accept-ranges: bytes[CR][LF]"}

data: {"time":"2026-09-19T16:16:04.652Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 141"}

data: {"time":"2026-09-19T16:16:04.652Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:04.653Z","priority":"6","pid":"2830187","message":" Last-Modified: Wed, 09 Apr 2003 10:26:59 GMT[CR][LF]"}

data: {"time":"2026-09-19T16:16:04.653Z","priority":"6","pid":"2830187","message":" Content-Length: 42[CR][LF]"}

data: {"time":"2026-09-19T16:16:04.653Z","priority":"6","pid":"2830187","message":" Accept-ranges: bytes[CR][LF]"}

data: {"time":"2026-09-19T16:16:04.654Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:04.654Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:04.655Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind141 ../src/curl -q --include --trace-ascii log/trace141 --trace-time ftp://127.0.0.1:40545/blalbla/141 -I > log/stdout141 2> log/stderr141"}

data: {"time":"2026-09-19T16:16:04.656Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:04.656Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:04.656Z","priority":"6","pid":"2830187","message":" 16:16:04.100370 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.657Z","priority":"6","pid":"2830187","message":" 16:16:04.101002 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.658Z","priority":"6","pid":"2830187","message":" 16:16:04.101212 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:04.658Z","priority":"6","pid":"2830187","message":" 16:16:04.101404 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.658Z","priority":"6","pid":"2830187","message":" 16:16:04.101664 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:04.659Z","priority":"6","pid":"2830187","message":" 16:16:04.101713 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.659Z","priority":"6","pid":"2830187","message":" 16:16:04.101975 < \"PWD\""}

data: {"time":"2026-09-19T16:16:04.659Z","priority":"6","pid":"2830187","message":" 16:16:04.102025 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.660Z","priority":"6","pid":"2830187","message":" 16:16:04.102289 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:04.660Z","priority":"6","pid":"2830187","message":" 16:16:04.102350 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:04.661Z","priority":"6","pid":"2830187","message":" 16:16:04.102371 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:04.661Z","priority":"6","pid":"2830187","message":" 16:16:04.105543 DATA sockfilt for passive data channel started (pid 87272)"}

data: {"time":"2026-09-19T16:16:04.662Z","priority":"6","pid":"2830187","message":" 16:16:04.105726 DATA sockfilt for passive data channel listens on port 43233"}

data: {"time":"2026-09-19T16:16:04.662Z","priority":"6","pid":"2830187","message":" 16:16:04.105809 > \"229 Entering Passive Mode (|||43233|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.663Z","priority":"6","pid":"2830187","message":" 16:16:04.105845 Client has been notified that upcoming DATA connection is awaited on port 43233"}

data: {"time":"2026-09-19T16:16:04.663Z","priority":"6","pid":"2830187","message":" 16:16:04.106205 Client connects to port 43233"}

data: {"time":"2026-09-19T16:16:04.664Z","priority":"6","pid":"2830187","message":" 16:16:04.106251 ====> Client established passive DATA connection on port 43233"}

data: {"time":"2026-09-19T16:16:04.664Z","priority":"6","pid":"2830187","message":" 16:16:04.106584 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:04.664Z","priority":"6","pid":"2830187","message":" 16:16:04.106654 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.665Z","priority":"6","pid":"2830187","message":" 16:16:04.106920 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:04.665Z","priority":"6","pid":"2830187","message":" 16:16:04.106981 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.665Z","priority":"6","pid":"2830187","message":" 16:16:04.107222 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:04.666Z","priority":"6","pid":"2830187","message":" 16:16:04.107276 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.667Z","priority":"6","pid":"2830187","message":" 16:16:04.107554 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:04.667Z","priority":"6","pid":"2830187","message":" 16:16:04.107580 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:04.667Z","priority":"6","pid":"2830187","message":" 16:16:04.107966 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:04.668Z","priority":"6","pid":"2830187","message":" 16:16:04.108018 DATA sockfilt for passive data channel quits (pid 87272)"}

data: {"time":"2026-09-19T16:16:04.668Z","priority":"6","pid":"2830187","message":" 16:16:04.108485 DATA sockfilt for passive data channel quit (pid 87272)"}

data: {"time":"2026-09-19T16:16:04.669Z","priority":"6","pid":"2830187","message":" 16:16:04.108528 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:04.669Z","priority":"6","pid":"2830187","message":" 16:16:04.108581 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.669Z","priority":"6","pid":"2830187","message":" 16:16:04.149115 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:04.670Z","priority":"6","pid":"2830187","message":" 16:16:04.149213 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.670Z","priority":"6","pid":"2830187","message":" 16:16:04.150183 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:04.670Z","priority":"6","pid":"2830187","message":" 16:16:04.150376 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:04.671Z","priority":"6","pid":"2830187","message":" 16:16:04.150540 Awaiting input"}

data: {"time":"2026-09-19T16:16:04.671Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:04.671Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:04.672Z","priority":"6","pid":"2830187","message":" 16:16:04.171304 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.672Z","priority":"6","pid":"2830187","message":" 16:16:04.171803 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.672Z","priority":"6","pid":"2830187","message":" 16:16:04.171837 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.673Z","priority":"6","pid":"2830187","message":" 16:16:04.171943 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:04.673Z","priority":"6","pid":"2830187","message":" 16:16:04.171964 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.674Z","priority":"6","pid":"2830187","message":" 16:16:04.171976 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.674Z","priority":"6","pid":"2830187","message":" 16:16:04.172090 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.675Z","priority":"6","pid":"2830187","message":" 16:16:04.172105 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.675Z","priority":"6","pid":"2830187","message":" 16:16:04.172408 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.675Z","priority":"6","pid":"2830187","message":" 16:16:04.172428 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.676Z","priority":"6","pid":"2830187","message":" 16:16:04.172450 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.676Z","priority":"6","pid":"2830187","message":" 16:16:04.172687 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.677Z","priority":"6","pid":"2830187","message":" 16:16:04.172706 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.677Z","priority":"6","pid":"2830187","message":" 16:16:04.172896 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.678Z","priority":"6","pid":"2830187","message":" 16:16:04.172915 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.678Z","priority":"6","pid":"2830187","message":" 16:16:04.172932 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.679Z","priority":"6","pid":"2830187","message":" 16:16:04.173013 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.679Z","priority":"6","pid":"2830187","message":" 16:16:04.173027 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.680Z","priority":"6","pid":"2830187","message":" 16:16:04.173194 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.681Z","priority":"6","pid":"2830187","message":" 16:16:04.173207 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.681Z","priority":"6","pid":"2830187","message":" 16:16:04.173220 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.681Z","priority":"6","pid":"2830187","message":" 16:16:04.173306 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.681Z","priority":"6","pid":"2830187","message":" 16:16:04.173336 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.681Z","priority":"6","pid":"2830187","message":" 16:16:04.177038 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.682Z","priority":"6","pid":"2830187","message":" 16:16:04.177061 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.682Z","priority":"6","pid":"2830187","message":" 16:16:04.177076 '229 Entering Passive Mode (|||43233|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.683Z","priority":"6","pid":"2830187","message":" 16:16:04.177557 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.683Z","priority":"6","pid":"2830187","message":" 16:16:04.177578 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.683Z","priority":"6","pid":"2830187","message":" 16:16:04.177832 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.684Z","priority":"6","pid":"2830187","message":" 16:16:04.177850 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.684Z","priority":"6","pid":"2830187","message":" 16:16:04.177864 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.685Z","priority":"6","pid":"2830187","message":" 16:16:04.177949 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.685Z","priority":"6","pid":"2830187","message":" 16:16:04.177963 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.685Z","priority":"6","pid":"2830187","message":" 16:16:04.178152 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.686Z","priority":"6","pid":"2830187","message":" 16:16:04.178167 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.686Z","priority":"6","pid":"2830187","message":" 16:16:04.178178 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.686Z","priority":"6","pid":"2830187","message":" 16:16:04.178254 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.687Z","priority":"6","pid":"2830187","message":" 16:16:04.178275 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.687Z","priority":"6","pid":"2830187","message":" 16:16:04.178530 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.687Z","priority":"6","pid":"2830187","message":" 16:16:04.178545 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.688Z","priority":"6","pid":"2830187","message":" 16:16:04.178558 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.688Z","priority":"6","pid":"2830187","message":" 16:16:04.179775 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.689Z","priority":"6","pid":"2830187","message":" 16:16:04.179801 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.689Z","priority":"6","pid":"2830187","message":" 16:16:04.179815 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.689Z","priority":"6","pid":"2830187","message":" 16:16:04.220038 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.690Z","priority":"6","pid":"2830187","message":" 16:16:04.220110 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.690Z","priority":"6","pid":"2830187","message":" 16:16:04.220403 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.690Z","priority":"6","pid":"2830187","message":" 16:16:04.220437 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.691Z","priority":"6","pid":"2830187","message":" 16:16:04.220451 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.691Z","priority":"6","pid":"2830187","message":" 16:16:04.221254 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:04.691Z","priority":"6","pid":"2830187","message":" 16:16:04.221392 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:04.692Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:04.692Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:04.692Z","priority":"6","pid":"2830187","message":" 16:16:04.176149 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:04.693Z","priority":"6","pid":"2830187","message":" 16:16:04.176550 Listening on port 43233"}

data: {"time":"2026-09-19T16:16:04.693Z","priority":"6","pid":"2830187","message":" 16:16:04.176607 Wrote pid 87272 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:04.693Z","priority":"6","pid":"2830187","message":" 16:16:04.176638 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:04.694Z","priority":"6","pid":"2830187","message":" 16:16:04.176761 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:04.694Z","priority":"6","pid":"2830187","message":" 16:16:04.177307 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.694Z","priority":"6","pid":"2830187","message":" 16:16:04.178463 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.695Z","priority":"6","pid":"2830187","message":" 16:16:04.178511 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.696Z","priority":"6","pid":"2830187","message":" 16:16:04.178815 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.696Z","priority":"6","pid":"2830187","message":" 16:16:04.178899 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:04.696Z","priority":"6","pid":"2830187","message":" 16:16:04.178927 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:04.696Z","priority":"6","pid":"2830187","message":" 16:16:04.179193 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:04.697Z","priority":"6","pid":"2830187","message":" 16:16:04.179209 quits"}

data: {"time":"2026-09-19T16:16:04.697Z","priority":"6","pid":"2830187","message":" 16:16:04.179332 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:04.698Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:04.698Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:04.698Z","priority":"6","pid":"2830187","message":" Testnum 141"}

data: {"time":"2026-09-19T16:16:04.698Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:04.698Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind141"}

data: {"time":"2026-09-19T16:16:04.698Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:04.699Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:04.699Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:04.699Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.700Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:04.700Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:04.701Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:04.701Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:04.702Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:04.702Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.702Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:04.702Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:04.703Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:04.703Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:04.704Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:04.704Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:04.705Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:04.705Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.705Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:04.705Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:04.706Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.706Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:04.707Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:04.707Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:04.707Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:04.708Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:04.708Z","priority":"6","pid":"2830187","message":"=== End of file valgrind141"}

data: {"time":"2026-09-19T16:16:04.708Z","priority":"6","pid":"2830187","message":"test 0142 [FTP URL with 150 dir levels]"}

data: {"time":"2026-09-19T16:16:04.714Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind142 ../src/curl -q --output log/curl142.out  --include --trace-ascii log/trace142 --trace-time ftp://127.0.0.1:40545/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/stdout142 2> log/stderr142"}

data: {"time":"2026-09-19T16:16:04.715Z","priority":"6","pid":"2830187","message":" 142: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:04.715Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:04.716Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:04.716Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 142"}

data: {"time":"2026-09-19T16:16:04.716Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:04.722Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind142 ../src/curl -q --output log/curl142.out  --include --trace-ascii log/trace142 --trace-time ftp://127.0.0.1:40545/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/stdout142 2> log/stderr142"}

data: {"time":"2026-09-19T16:16:04.723Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:04.723Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:04.724Z","priority":"6","pid":"2830187","message":" 16:16:04.390083 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.724Z","priority":"6","pid":"2830187","message":" 16:16:04.390741 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.725Z","priority":"6","pid":"2830187","message":" 16:16:04.390973 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:04.725Z","priority":"6","pid":"2830187","message":" 16:16:04.391216 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.726Z","priority":"6","pid":"2830187","message":" 16:16:04.391381 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:04.726Z","priority":"6","pid":"2830187","message":" 16:16:04.391494 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.726Z","priority":"6","pid":"2830187","message":" 16:16:04.391669 < \"PWD\""}

data: {"time":"2026-09-19T16:16:04.727Z","priority":"6","pid":"2830187","message":" 16:16:04.391780 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.727Z","priority":"6","pid":"2830187","message":" 16:16:04.392048 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:04.727Z","priority":"6","pid":"2830187","message":" 16:16:04.392096 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:04.728Z","priority":"6","pid":"2830187","message":" 16:16:04.392117 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:04.728Z","priority":"6","pid":"2830187","message":" 16:16:04.395459 DATA sockfilt for passive data channel started (pid 87338)"}

data: {"time":"2026-09-19T16:16:04.729Z","priority":"6","pid":"2830187","message":" 16:16:04.395664 DATA sockfilt for passive data channel listens on port 33943"}

data: {"time":"2026-09-19T16:16:04.729Z","priority":"6","pid":"2830187","message":" 16:16:04.395907 > \"229 Entering Passive Mode (|||33943|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.730Z","priority":"6","pid":"2830187","message":" 16:16:04.395951 Client has been notified that upcoming DATA connection is awaited on port 33943"}

data: {"time":"2026-09-19T16:16:04.731Z","priority":"6","pid":"2830187","message":" 16:16:04.396264 Client connects to port 33943"}

data: {"time":"2026-09-19T16:16:04.731Z","priority":"6","pid":"2830187","message":" 16:16:04.396316 ====> Client established passive DATA connection on port 33943"}

data: {"time":"2026-09-19T16:16:04.731Z","priority":"6","pid":"2830187","message":" 16:16:04.396657 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:04.731Z","priority":"6","pid":"2830187","message":" 16:16:04.396712 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.732Z","priority":"6","pid":"2830187","message":" 16:16:04.396988 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:04.732Z","priority":"6","pid":"2830187","message":" 16:16:04.397049 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.733Z","priority":"6","pid":"2830187","message":" 16:16:04.397281 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:04.733Z","priority":"6","pid":"2830187","message":" 16:16:04.397348 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.733Z","priority":"6","pid":"2830187","message":" 16:16:04.397495 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:04.734Z","priority":"6","pid":"2830187","message":" 16:16:04.397518 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:04.734Z","priority":"6","pid":"2830187","message":" 16:16:04.397933 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:04.735Z","priority":"6","pid":"2830187","message":" 16:16:04.397995 DATA sockfilt for passive data channel quits (pid 87338)"}

data: {"time":"2026-09-19T16:16:04.735Z","priority":"6","pid":"2830187","message":" 16:16:04.398472 DATA sockfilt for passive data channel quit (pid 87338)"}

data: {"time":"2026-09-19T16:16:04.736Z","priority":"6","pid":"2830187","message":" 16:16:04.398515 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:04.736Z","priority":"6","pid":"2830187","message":" 16:16:04.398561 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.736Z","priority":"6","pid":"2830187","message":" 16:16:04.439063 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:04.737Z","priority":"6","pid":"2830187","message":" 16:16:04.439170 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:04.737Z","priority":"6","pid":"2830187","message":" 16:16:04.440165 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:04.737Z","priority":"6","pid":"2830187","message":" 16:16:04.440380 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:04.738Z","priority":"6","pid":"2830187","message":" 16:16:04.440536 Awaiting input"}

data: {"time":"2026-09-19T16:16:04.738Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:04.739Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:04.739Z","priority":"6","pid":"2830187","message":" 16:16:04.461053 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.739Z","priority":"6","pid":"2830187","message":" 16:16:04.461591 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.739Z","priority":"6","pid":"2830187","message":" 16:16:04.461623 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.740Z","priority":"6","pid":"2830187","message":" 16:16:04.461648 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:04.740Z","priority":"6","pid":"2830187","message":" 16:16:04.461664 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.741Z","priority":"6","pid":"2830187","message":" 16:16:04.461676 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.741Z","priority":"6","pid":"2830187","message":" 16:16:04.461786 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.742Z","priority":"6","pid":"2830187","message":" 16:16:04.461800 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.742Z","priority":"6","pid":"2830187","message":" 16:16:04.462156 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.742Z","priority":"6","pid":"2830187","message":" 16:16:04.462175 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.743Z","priority":"6","pid":"2830187","message":" 16:16:04.462198 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.744Z","priority":"6","pid":"2830187","message":" 16:16:04.462298 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.744Z","priority":"6","pid":"2830187","message":" 16:16:04.462315 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.744Z","priority":"6","pid":"2830187","message":" 16:16:04.462548 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.744Z","priority":"6","pid":"2830187","message":" 16:16:04.462564 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.744Z","priority":"6","pid":"2830187","message":" 16:16:04.462584 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.745Z","priority":"6","pid":"2830187","message":" 16:16:04.462704 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.746Z","priority":"6","pid":"2830187","message":" 16:16:04.462720 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.746Z","priority":"6","pid":"2830187","message":" 16:16:04.462946 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.746Z","priority":"6","pid":"2830187","message":" 16:16:04.462961 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.746Z","priority":"6","pid":"2830187","message":" 16:16:04.462974 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.746Z","priority":"6","pid":"2830187","message":" 16:16:04.463070 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.747Z","priority":"6","pid":"2830187","message":" 16:16:04.463084 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.747Z","priority":"6","pid":"2830187","message":" 16:16:04.466879 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.748Z","priority":"6","pid":"2830187","message":" 16:16:04.466909 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.748Z","priority":"6","pid":"2830187","message":" 16:16:04.466935 '229 Entering Passive Mode (|||33943|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.748Z","priority":"6","pid":"2830187","message":" 16:16:04.467629 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.748Z","priority":"6","pid":"2830187","message":" 16:16:04.467650 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.749Z","priority":"6","pid":"2830187","message":" 16:16:04.467871 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.749Z","priority":"6","pid":"2830187","message":" 16:16:04.467886 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.749Z","priority":"6","pid":"2830187","message":" 16:16:04.467900 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.750Z","priority":"6","pid":"2830187","message":" 16:16:04.468016 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.750Z","priority":"6","pid":"2830187","message":" 16:16:04.468037 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.751Z","priority":"6","pid":"2830187","message":" 16:16:04.468208 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.751Z","priority":"6","pid":"2830187","message":" 16:16:04.468224 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.751Z","priority":"6","pid":"2830187","message":" 16:16:04.468235 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.752Z","priority":"6","pid":"2830187","message":" 16:16:04.468315 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.752Z","priority":"6","pid":"2830187","message":" 16:16:04.468330 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.752Z","priority":"6","pid":"2830187","message":" 16:16:04.468680 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.752Z","priority":"6","pid":"2830187","message":" 16:16:04.468697 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.753Z","priority":"6","pid":"2830187","message":" 16:16:04.468710 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.754Z","priority":"6","pid":"2830187","message":" 16:16:04.469727 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.754Z","priority":"6","pid":"2830187","message":" 16:16:04.469745 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.754Z","priority":"6","pid":"2830187","message":" 16:16:04.469765 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.754Z","priority":"6","pid":"2830187","message":" 16:16:04.509841 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:04.755Z","priority":"6","pid":"2830187","message":" 16:16:04.509923 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.755Z","priority":"6","pid":"2830187","message":" 16:16:04.510355 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.755Z","priority":"6","pid":"2830187","message":" 16:16:04.510383 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.756Z","priority":"6","pid":"2830187","message":" 16:16:04.510395 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.756Z","priority":"6","pid":"2830187","message":" 16:16:04.511201 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:04.756Z","priority":"6","pid":"2830187","message":" 16:16:04.511370 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:04.757Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:04.757Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:04.757Z","priority":"6","pid":"2830187","message":" 16:16:04.466225 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:04.758Z","priority":"6","pid":"2830187","message":" 16:16:04.466386 Listening on port 33943"}

data: {"time":"2026-09-19T16:16:04.758Z","priority":"6","pid":"2830187","message":" 16:16:04.466443 Wrote pid 87338 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:04.759Z","priority":"6","pid":"2830187","message":" 16:16:04.466520 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:04.759Z","priority":"6","pid":"2830187","message":" 16:16:04.466679 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:04.759Z","priority":"6","pid":"2830187","message":" 16:16:04.467340 ====> Client connect"}

data: {"time":"2026-09-19T16:16:04.759Z","priority":"6","pid":"2830187","message":" 16:16:04.468753 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:04.760Z","priority":"6","pid":"2830187","message":" 16:16:04.468780 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:04.760Z","priority":"6","pid":"2830187","message":" 16:16:04.468793 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:04.760Z","priority":"6","pid":"2830187","message":" 16:16:04.468833 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:04.761Z","priority":"6","pid":"2830187","message":" 16:16:04.468848 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:04.761Z","priority":"6","pid":"2830187","message":" 16:16:04.469167 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:04.761Z","priority":"6","pid":"2830187","message":" 16:16:04.469186 quits"}

data: {"time":"2026-09-19T16:16:04.762Z","priority":"6","pid":"2830187","message":" 16:16:04.469298 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:04.762Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:04.762Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:04.762Z","priority":"6","pid":"2830187","message":" Testnum 142"}

data: {"time":"2026-09-19T16:16:04.762Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:05.016Z","priority":"6","pid":"2830187","message":"=== Start of file valCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind143 ../src/curl -q --output log/curl143.out  --include --trace-ascii log/trace143 --trace-time \"ftp://127.0.0.1:40545/%2ftmp/moo/143;type=a\" > log/stdout143 2> log/stderr143"}

data: {"time":"2026-09-19T16:16:05.034Z","priority":"6","pid":"2830187","message":"grind142"}

data: {"time":"2026-09-19T16:16:05.035Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:05.036Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:05.036Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:05.036Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.038Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:05.038Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:05.038Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:05.038Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:05.039Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:05.039Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.040Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:05.040Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:05.041Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:05.041Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:05.042Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:05.042Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:05.042Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:05.043Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.043Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:05.043Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:05.044Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.044Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:05.045Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:05.045Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:05.045Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.045Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:05.046Z","priority":"6","pid":"2830187","message":"=== End of file valgrind142"}

data: {"time":"2026-09-19T16:16:05.046Z","priority":"6","pid":"2830187","message":"test 0143 [FTP URL with type=a]"}

data: {"time":"2026-09-19T16:16:05.048Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind143 ../src/curl -q --output log/curl143.out  --include --trace-ascii log/trace143 --trace-time \"ftp://127.0.0.1:40545/%2ftmp/moo/143;type=a\" > log/stdout143 2> log/stderr143"}

data: {"time":"2026-09-19T16:16:05.048Z","priority":"6","pid":"2830187","message":" 143: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:05.049Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:05.049Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:05.049Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 143"}

data: {"time":"2026-09-19T16:16:05.049Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:05.051Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind143 ../src/curl -q --output log/curl143.out  --include --trace-ascii log/trace143 --trace-time \"ftp://127.0.0.1:40545/%2ftmp/moo/143;type=a\" > log/stdout143 2> log/stderr143"}

data: {"time":"2026-09-19T16:16:05.051Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:05.052Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:05.052Z","priority":"6","pid":"2830187","message":" 16:16:04.803815 ====> Client connect"}

data: {"time":"2026-09-19T16:16:05.053Z","priority":"6","pid":"2830187","message":" 16:16:04.804148 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.053Z","priority":"6","pid":"2830187","message":" 16:16:04.804769 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:05.054Z","priority":"6","pid":"2830187","message":" 16:16:04.805026 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.055Z","priority":"6","pid":"2830187","message":" 16:16:04.805152 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:05.055Z","priority":"6","pid":"2830187","message":" 16:16:04.805391 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.055Z","priority":"6","pid":"2830187","message":" 16:16:04.805567 < \"PWD\""}

data: {"time":"2026-09-19T16:16:05.055Z","priority":"6","pid":"2830187","message":" 16:16:04.805618 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.055Z","priority":"6","pid":"2830187","message":" 16:16:04.805878 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:05.056Z","priority":"6","pid":"2830187","message":" 16:16:04.805921 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:05.056Z","priority":"6","pid":"2830187","message":" 16:16:04.805940 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:05.057Z","priority":"6","pid":"2830187","message":" 16:16:04.809629 DATA sockfilt for passive data channel started (pid 87403)"}

data: {"time":"2026-09-19T16:16:05.057Z","priority":"6","pid":"2830187","message":" 16:16:04.809858 DATA sockfilt for passive data channel listens on port 37873"}

data: {"time":"2026-09-19T16:16:05.058Z","priority":"6","pid":"2830187","message":" 16:16:04.809936 > \"229 Entering Passive Mode (|||37873|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.058Z","priority":"6","pid":"2830187","message":" 16:16:04.809961 Client has been notified that upcoming DATA connection is awaited on port 37873"}

data: {"time":"2026-09-19T16:16:05.059Z","priority":"6","pid":"2830187","message":" 16:16:04.810384 Client connects to port 37873"}

data: {"time":"2026-09-19T16:16:05.059Z","priority":"6","pid":"2830187","message":" 16:16:04.810438 ====> Client established passive DATA connection on port 37873"}

data: {"time":"2026-09-19T16:16:05.059Z","priority":"6","pid":"2830187","message":" 16:16:04.810749 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:05.060Z","priority":"6","pid":"2830187","message":" 16:16:04.810804 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.060Z","priority":"6","pid":"2830187","message":" 16:16:04.811104 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:05.060Z","priority":"6","pid":"2830187","message":" 16:16:04.811165 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.061Z","priority":"6","pid":"2830187","message":" 16:16:04.811433 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:05.061Z","priority":"6","pid":"2830187","message":" 16:16:04.811489 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.062Z","priority":"6","pid":"2830187","message":" 16:16:04.811634 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:05.062Z","priority":"6","pid":"2830187","message":" 16:16:04.811657 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:05.063Z","priority":"6","pid":"2830187","message":" 16:16:04.812110 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:05.063Z","priority":"6","pid":"2830187","message":" 16:16:04.812154 DATA sockfilt for passive data channel quits (pid 87403)"}

data: {"time":"2026-09-19T16:16:05.063Z","priority":"6","pid":"2830187","message":" 16:16:04.812622 DATA sockfilt for passive data channel quit (pid 87403)"}

data: {"time":"2026-09-19T16:16:05.064Z","priority":"6","pid":"2830187","message":" 16:16:04.812675 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:05.064Z","priority":"6","pid":"2830187","message":" 16:16:04.812722 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.065Z","priority":"6","pid":"2830187","message":" 16:16:04.853087 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:05.065Z","priority":"6","pid":"2830187","message":" 16:16:04.853183 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.065Z","priority":"6","pid":"2830187","message":" 16:16:04.854146 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:05.065Z","priority":"6","pid":"2830187","message":" 16:16:04.854314 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:05.066Z","priority":"6","pid":"2830187","message":" 16:16:04.854504 Awaiting input"}

data: {"time":"2026-09-19T16:16:05.066Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:05.066Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:05.067Z","priority":"6","pid":"2830187","message":" 16:16:04.874719 ====> Client connect"}

data: {"time":"2026-09-19T16:16:05.067Z","priority":"6","pid":"2830187","message":" 16:16:04.875395 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.067Z","priority":"6","pid":"2830187","message":" 16:16:04.875427 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.068Z","priority":"6","pid":"2830187","message":" 16:16:04.875483 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:05.068Z","priority":"6","pid":"2830187","message":" 16:16:04.875498 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.069Z","priority":"6","pid":"2830187","message":" 16:16:04.875509 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.069Z","priority":"6","pid":"2830187","message":" 16:16:04.875636 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.069Z","priority":"6","pid":"2830187","message":" 16:16:04.875656 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.070Z","priority":"6","pid":"2830187","message":" 16:16:04.875943 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.070Z","priority":"6","pid":"2830187","message":" 16:16:04.875963 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.070Z","priority":"6","pid":"2830187","message":" 16:16:04.875987 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.071Z","priority":"6","pid":"2830187","message":" 16:16:04.876077 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.071Z","priority":"6","pid":"2830187","message":" 16:16:04.876093 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.072Z","priority":"6","pid":"2830187","message":" 16:16:04.876300 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.072Z","priority":"6","pid":"2830187","message":" 16:16:04.876318 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.072Z","priority":"6","pid":"2830187","message":" 16:16:04.876340 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.073Z","priority":"6","pid":"2830187","message":" 16:16:04.876598 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.073Z","priority":"6","pid":"2830187","message":" 16:16:04.876616 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.073Z","priority":"6","pid":"2830187","message":" 16:16:04.876755 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.074Z","priority":"6","pid":"2830187","message":" 16:16:04.876771 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.074Z","priority":"6","pid":"2830187","message":" 16:16:04.876783 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.074Z","priority":"6","pid":"2830187","message":" 16:16:04.876885 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.075Z","priority":"6","pid":"2830187","message":" 16:16:04.876901 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.075Z","priority":"6","pid":"2830187","message":" 16:16:04.881117 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.076Z","priority":"6","pid":"2830187","message":" 16:16:04.881143 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.076Z","priority":"6","pid":"2830187","message":" 16:16:04.881158 '229 Entering Passive Mode (|||37873|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.077Z","priority":"6","pid":"2830187","message":" 16:16:04.881697 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.078Z","priority":"6","pid":"2830187","message":" 16:16:04.881718 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.078Z","priority":"6","pid":"2830187","message":" 16:16:04.881973 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.078Z","priority":"6","pid":"2830187","message":" 16:16:04.881992 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.078Z","priority":"6","pid":"2830187","message":" 16:16:04.882005 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.078Z","priority":"6","pid":"2830187","message":" 16:16:04.882086 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.079Z","priority":"6","pid":"2830187","message":" 16:16:04.882102 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.079Z","priority":"6","pid":"2830187","message":" 16:16:04.882305 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.079Z","priority":"6","pid":"2830187","message":" 16:16:04.882322 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.080Z","priority":"6","pid":"2830187","message":" 16:16:04.882334 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.080Z","priority":"6","pid":"2830187","message":" 16:16:04.882417 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.080Z","priority":"6","pid":"2830187","message":" 16:16:04.882433 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.081Z","priority":"6","pid":"2830187","message":" 16:16:04.882800 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.081Z","priority":"6","pid":"2830187","message":" 16:16:04.882839 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.082Z","priority":"6","pid":"2830187","message":" 16:16:04.882853 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.082Z","priority":"6","pid":"2830187","message":" 16:16:04.883889 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.082Z","priority":"6","pid":"2830187","message":" 16:16:04.883912 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.083Z","priority":"6","pid":"2830187","message":" 16:16:04.883924 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.083Z","priority":"6","pid":"2830187","message":" 16:16:04.923852 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.084Z","priority":"6","pid":"2830187","message":" 16:16:04.923925 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.084Z","priority":"6","pid":"2830187","message":" 16:16:04.924335 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.084Z","priority":"6","pid":"2830187","message":" 16:16:04.924359 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.085Z","priority":"6","pid":"2830187","message":" 16:16:04.924372 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.085Z","priority":"6","pid":"2830187","message":" 16:16:04.925167 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:05.085Z","priority":"6","pid":"2830187","message":" 16:16:04.925330 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:05.086Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:05.086Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:05.086Z","priority":"6","pid":"2830187","message":" 16:16:04.880023 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:05.087Z","priority":"6","pid":"2830187","message":" 16:16:04.880567 Listening on port 37873"}

data: {"time":"2026-09-19T16:16:05.087Z","priority":"6","pid":"2830187","message":" 16:16:04.880651 Wrote pid 87403 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:05.088Z","priority":"6","pid":"2830187","message":" 16:16:04.880686 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:05.088Z","priority":"6","pid":"2830187","message":" 16:16:04.880830 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:05.088Z","priority":"6","pid":"2830187","message":" 16:16:04.881407 ====> Client connect"}

data: {"time":"2026-09-19T16:16:05.088Z","priority":"6","pid":"2830187","message":" 16:16:04.882898 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.089Z","priority":"6","pid":"2830187","message":" 16:16:04.882928 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.089Z","priority":"6","pid":"2830187","message":" 16:16:04.882951 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.089Z","priority":"6","pid":"2830187","message":" 16:16:04.882990 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:05.090Z","priority":"6","pid":"2830187","message":" 16:16:04.883005 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:05.090Z","priority":"6","pid":"2830187","message":" 16:16:04.883295 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:05.090Z","priority":"6","pid":"2830187","message":" 16:16:04.883313 quits"}

data: {"time":"2026-09-19T16:16:05.091Z","priority":"6","pid":"2830187","message":" 16:16:04.883420 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:05.091Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:05.092Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:05.092Z","priority":"6","pid":"2830187","message":" Testnum 143"}

data: {"time":"2026-09-19T16:16:05.092Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:05.092Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind143"}

data: {"time":"2026-09-19T16:16:05.093Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:05.093Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:05.093Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:05.094Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.094Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:05.094Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:05.095Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:05.095Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:05.095Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:05.354Z","priority":"6","pid":"2830187","message":" valgCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind144 ../src/curl -q --output log/curl144.out  --include --trace-ascii log/trace144 --trace-time ftp://127.0.0.1:40545/ -P - -l > log/stdout144 2> log/stderr144"}

data: {"time":"2026-09-19T16:16:05.373Z","priority":"6","pid":"2830187","message":"rind:"}

data: {"time":"2026-09-19T16:16:05.374Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:05.374Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:05.374Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:05.375Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:05.375Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:05.376Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:05.376Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:05.376Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.377Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:05.377Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:05.377Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.378Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:05.378Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:05.379Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:05.379Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.379Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:05.379Z","priority":"6","pid":"2830187","message":"=== End of file valgrind143"}

data: {"time":"2026-09-19T16:16:05.380Z","priority":"6","pid":"2830187","message":"test 0144 [FTP NLST dir list without contents, using PORT]"}

data: {"time":"2026-09-19T16:16:05.381Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind144 ../src/curl -q --output log/curl144.out  --include --trace-ascii log/trace144 --trace-time ftp://127.0.0.1:40545/ -P - -l > log/stdout144 2> log/stderr144"}

data: {"time":"2026-09-19T16:16:05.382Z","priority":"6","pid":"2830187","message":" 144: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:05.382Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:05.382Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:05.383Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 144"}

data: {"time":"2026-09-19T16:16:05.383Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:05.384Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind144 ../src/curl -q --output log/curl144.out  --include --trace-ascii log/trace144 --trace-time ftp://127.0.0.1:40545/ -P - -l > log/stdout144 2> log/stderr144"}

data: {"time":"2026-09-19T16:16:05.385Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:05.385Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:05.385Z","priority":"6","pid":"2830187","message":" 16:16:05.136619 ====> Client connect"}

data: {"time":"2026-09-19T16:16:05.386Z","priority":"6","pid":"2830187","message":" 16:16:05.137387 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.387Z","priority":"6","pid":"2830187","message":" 16:16:05.137615 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:05.387Z","priority":"6","pid":"2830187","message":" 16:16:05.137812 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.387Z","priority":"6","pid":"2830187","message":" 16:16:05.138003 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:05.388Z","priority":"6","pid":"2830187","message":" 16:16:05.138042 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.388Z","priority":"6","pid":"2830187","message":" 16:16:05.138287 < \"PWD\""}

data: {"time":"2026-09-19T16:16:05.388Z","priority":"6","pid":"2830187","message":" 16:16:05.138389 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.389Z","priority":"6","pid":"2830187","message":" 16:16:05.138655 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:05.389Z","priority":"6","pid":"2830187","message":" 16:16:05.138698 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:05.390Z","priority":"6","pid":"2830187","message":" 16:16:05.138717 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:05.391Z","priority":"6","pid":"2830187","message":" 16:16:05.142267 DATA sockfilt for passive data channel started (pid 87468)"}

data: {"time":"2026-09-19T16:16:05.391Z","priority":"6","pid":"2830187","message":" 16:16:05.142556 DATA sockfilt for passive data channel listens on port 44425"}

data: {"time":"2026-09-19T16:16:05.391Z","priority":"6","pid":"2830187","message":" 16:16:05.142639 > \"229 Entering Passive Mode (|||44425|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.392Z","priority":"6","pid":"2830187","message":" 16:16:05.142664 Client has been notified that upcoming DATA connection is awaited on port 44425"}

data: {"time":"2026-09-19T16:16:05.392Z","priority":"6","pid":"2830187","message":" 16:16:05.143193 Client connects to port 44425"}

data: {"time":"2026-09-19T16:16:05.392Z","priority":"6","pid":"2830187","message":" 16:16:05.143252 ====> Client established passive DATA connection on port 44425"}

data: {"time":"2026-09-19T16:16:05.393Z","priority":"6","pid":"2830187","message":" 16:16:05.143435 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:05.393Z","priority":"6","pid":"2830187","message":" 16:16:05.143684 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.394Z","priority":"6","pid":"2830187","message":" 16:16:05.143827 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:05.394Z","priority":"6","pid":"2830187","message":" 16:16:05.143889 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.394Z","priority":"6","pid":"2830187","message":" 16:16:05.144197 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:05.395Z","priority":"6","pid":"2830187","message":" 16:16:05.144436 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.395Z","priority":"6","pid":"2830187","message":" 16:16:05.144613 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:05.396Z","priority":"6","pid":"2830187","message":" 16:16:05.144638 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:05.396Z","priority":"6","pid":"2830187","message":" 16:16:05.144984 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:05.397Z","priority":"6","pid":"2830187","message":" 16:16:05.145026 DATA sockfilt for passive data channel quits (pid 87468)"}

data: {"time":"2026-09-19T16:16:05.397Z","priority":"6","pid":"2830187","message":" 16:16:05.145539 DATA sockfilt for passive data channel quit (pid 87468)"}

data: {"time":"2026-09-19T16:16:05.397Z","priority":"6","pid":"2830187","message":" 16:16:05.145583 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:05.398Z","priority":"6","pid":"2830187","message":" 16:16:05.145629 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.398Z","priority":"6","pid":"2830187","message":" 16:16:05.186099 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:05.399Z","priority":"6","pid":"2830187","message":" 16:16:05.186213 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.399Z","priority":"6","pid":"2830187","message":" 16:16:05.187176 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:05.400Z","priority":"6","pid":"2830187","message":" 16:16:05.187314 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:05.400Z","priority":"6","pid":"2830187","message":" 16:16:05.187469 Awaiting input"}

data: {"time":"2026-09-19T16:16:05.400Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:05.400Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:05.401Z","priority":"6","pid":"2830187","message":" 16:16:05.207523 ====> Client connect"}

data: {"time":"2026-09-19T16:16:05.401Z","priority":"6","pid":"2830187","message":" 16:16:05.208040 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.402Z","priority":"6","pid":"2830187","message":" 16:16:05.208078 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.402Z","priority":"6","pid":"2830187","message":" 16:16:05.208201 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:05.402Z","priority":"6","pid":"2830187","message":" 16:16:05.208224 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.403Z","priority":"6","pid":"2830187","message":" 16:16:05.208236 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.403Z","priority":"6","pid":"2830187","message":" 16:16:05.208374 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.403Z","priority":"6","pid":"2830187","message":" 16:16:05.208392 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.404Z","priority":"6","pid":"2830187","message":" 16:16:05.208767 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.404Z","priority":"6","pid":"2830187","message":" 16:16:05.208788 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.405Z","priority":"6","pid":"2830187","message":" 16:16:05.208812 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.405Z","priority":"6","pid":"2830187","message":" 16:16:05.208974 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.405Z","priority":"6","pid":"2830187","message":" 16:16:05.208991 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.406Z","priority":"6","pid":"2830187","message":" 16:16:05.209164 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.406Z","priority":"6","pid":"2830187","message":" 16:16:05.209181 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.406Z","priority":"6","pid":"2830187","message":" 16:16:05.209193 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.407Z","priority":"6","pid":"2830187","message":" 16:16:05.209277 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.407Z","priority":"6","pid":"2830187","message":" 16:16:05.209291 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.408Z","priority":"6","pid":"2830187","message":" 16:16:05.209517 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.408Z","priority":"6","pid":"2830187","message":" 16:16:05.209535 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.408Z","priority":"6","pid":"2830187","message":" 16:16:05.209547 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.409Z","priority":"6","pid":"2830187","message":" 16:16:05.209646 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.409Z","priority":"6","pid":"2830187","message":" 16:16:05.209661 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.409Z","priority":"6","pid":"2830187","message":" 16:16:05.213806 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.410Z","priority":"6","pid":"2830187","message":" 16:16:05.213833 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.410Z","priority":"6","pid":"2830187","message":" 16:16:05.213849 '229 Entering Passive Mode (|||44425|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.411Z","priority":"6","pid":"2830187","message":" 16:16:05.214178 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.412Z","priority":"6","pid":"2830187","message":" 16:16:05.214206 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.412Z","priority":"6","pid":"2830187","message":" 16:16:05.214583 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.412Z","priority":"6","pid":"2830187","message":" 16:16:05.214603 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.412Z","priority":"6","pid":"2830187","message":" 16:16:05.214628 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.412Z","priority":"6","pid":"2830187","message":" 16:16:05.214725 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.413Z","priority":"6","pid":"2830187","message":" 16:16:05.214742 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.413Z","priority":"6","pid":"2830187","message":" 16:16:05.215051 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.413Z","priority":"6","pid":"2830187","message":" 16:16:05.215071 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.414Z","priority":"6","pid":"2830187","message":" 16:16:05.215085 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.415Z","priority":"6","pid":"2830187","message":" 16:16:05.215168 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.415Z","priority":"6","pid":"2830187","message":" 16:16:05.215192 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.415Z","priority":"6","pid":"2830187","message":" 16:16:05.215352 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.415Z","priority":"6","pid":"2830187","message":" 16:16:05.215370 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.415Z","priority":"6","pid":"2830187","message":" 16:16:05.215411 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.415Z","priority":"6","pid":"2830187","message":" 16:16:05.216761 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.416Z","priority":"6","pid":"2830187","message":" 16:16:05.216783 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.416Z","priority":"6","pid":"2830187","message":" 16:16:05.216795 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.416Z","priority":"6","pid":"2830187","message":" 16:16:05.256850 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.417Z","priority":"6","pid":"2830187","message":" 16:16:05.256921 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.417Z","priority":"6","pid":"2830187","message":" 16:16:05.257365 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.417Z","priority":"6","pid":"2830187","message":" 16:16:05.257389 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.418Z","priority":"6","pid":"2830187","message":" 16:16:05.257402 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.418Z","priority":"6","pid":"2830187","message":" 16:16:05.258201 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:05.418Z","priority":"6","pid":"2830187","message":" 16:16:05.258331 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:05.419Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:05.419Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:05.419Z","priority":"6","pid":"2830187","message":" 16:16:05.213016 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:05.420Z","priority":"6","pid":"2830187","message":" 16:16:05.213197 Listening on port 44425"}

data: {"time":"2026-09-19T16:16:05.420Z","priority":"6","pid":"2830187","message":" 16:16:05.213259 Wrote pid 87468 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:05.420Z","priority":"6","pid":"2830187","message":" 16:16:05.213294 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:05.421Z","priority":"6","pid":"2830187","message":" 16:16:05.213514 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:05.421Z","priority":"6","pid":"2830187","message":" 16:16:05.214239 ====> Client connect"}

data: {"time":"2026-09-19T16:16:05.421Z","priority":"6","pid":"2830187","message":" 16:16:05.215786 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.422Z","priority":"6","pid":"2830187","message":" 16:16:05.215819 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.422Z","priority":"6","pid":"2830187","message":" 16:16:05.215832 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.423Z","priority":"6","pid":"2830187","message":" 16:16:05.215882 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:05.423Z","priority":"6","pid":"2830187","message":" 16:16:05.215897 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:05.423Z","priority":"6","pid":"2830187","message":" 16:16:05.216161 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:05.424Z","priority":"6","pid":"2830187","message":" 16:16:05.216179 quits"}

data: {"time":"2026-09-19T16:16:05.424Z","priority":"6","pid":"2830187","message":" 16:16:05.216303 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:05.424Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:05.424Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:05.425Z","priority":"6","pid":"2830187","message":" REPLY NLST 450 No files found"}

data: {"time":"2026-09-19T16:16:05.425Z","priority":"6","pid":"2830187","message":" Testnum 144"}

data: {"time":"2026-09-19T16:16:05.425Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:05.425Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind144"}

data: {"time":"2026-09-19T16:16:05.426Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:05.426Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:05.426Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:05.427Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.427Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:05.428Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:05.428Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:05.428Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:05.428Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:05.428Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.429Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:05.429Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:05.429Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:05.430Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:05.430Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:05.430Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:05.691Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind145 ../src/curl -q --output log/curl145.out  --include --trace-ascii log/trace145 --trace-time ftp://127.0.0.1:40545/ -P - -l > log/stdout145 2> log/stderr145"}

data: {"time":"2026-09-19T16:16:05.951Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind146 ../src/curl -q --output log/curl146.out  --include --trace-ascii log/trace146 --trace-time ftp://127.0.0.1:40545/first/dir/here/146 ftp://127.0.0.1:40545/146 > log/stdout146 2> log/stderr146"}

data: {"time":"2026-09-19T16:16:05.956Z","priority":"6","pid":"2830187","message":"ix (1) is called"}

data: {"time":"2026-09-19T16:16:05.956Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.956Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:05.956Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:05.957Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.957Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:05.957Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:05.958Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:05.959Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:05.959Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:05.959Z","priority":"6","pid":"2830187","message":"=== End of file valgrind144"}

data: {"time":"2026-09-19T16:16:05.959Z","priority":"6","pid":"2830187","message":"test 0145 [FTP NLST dir list with weird reply code, using PORT]"}

data: {"time":"2026-09-19T16:16:05.960Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind145 ../src/curl -q --output log/curl145.out  --include --trace-ascii log/trace145 --trace-time ftp://127.0.0.1:40545/ -P - -l > log/stdout145 2> log/stderr145"}

data: {"time":"2026-09-19T16:16:05.961Z","priority":"6","pid":"2830187","message":" 145: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:05.961Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:05.962Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:05.962Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 145"}

data: {"time":"2026-09-19T16:16:05.962Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:05.964Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind145 ../src/curl -q --output log/curl145.out  --include --trace-ascii log/trace145 --trace-time ftp://127.0.0.1:40545/ -P - -l > log/stdout145 2> log/stderr145"}

data: {"time":"2026-09-19T16:16:05.965Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:05.965Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:05.965Z","priority":"6","pid":"2830187","message":" 16:16:05.466043 ====> Client connect"}

data: {"time":"2026-09-19T16:16:05.966Z","priority":"6","pid":"2830187","message":" 16:16:05.466761 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.966Z","priority":"6","pid":"2830187","message":" 16:16:05.466968 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:05.966Z","priority":"6","pid":"2830187","message":" 16:16:05.467188 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.967Z","priority":"6","pid":"2830187","message":" 16:16:05.467307 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:05.967Z","priority":"6","pid":"2830187","message":" 16:16:05.467445 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.968Z","priority":"6","pid":"2830187","message":" 16:16:05.467662 < \"PWD\""}

data: {"time":"2026-09-19T16:16:05.968Z","priority":"6","pid":"2830187","message":" 16:16:05.467778 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.968Z","priority":"6","pid":"2830187","message":" 16:16:05.468012 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:05.969Z","priority":"6","pid":"2830187","message":" 16:16:05.468053 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:05.969Z","priority":"6","pid":"2830187","message":" 16:16:05.468072 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:05.969Z","priority":"6","pid":"2830187","message":" 16:16:05.471174 DATA sockfilt for passive data channel started (pid 87533)"}

data: {"time":"2026-09-19T16:16:05.970Z","priority":"6","pid":"2830187","message":" 16:16:05.471395 DATA sockfilt for passive data channel listens on port 41359"}

data: {"time":"2026-09-19T16:16:05.970Z","priority":"6","pid":"2830187","message":" 16:16:05.471464 > \"229 Entering Passive Mode (|||41359|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.971Z","priority":"6","pid":"2830187","message":" 16:16:05.471488 Client has been notified that upcoming DATA connection is awaited on port 41359"}

data: {"time":"2026-09-19T16:16:05.971Z","priority":"6","pid":"2830187","message":" 16:16:05.472077 Client connects to port 41359"}

data: {"time":"2026-09-19T16:16:05.972Z","priority":"6","pid":"2830187","message":" 16:16:05.472135 ====> Client established passive DATA connection on port 41359"}

data: {"time":"2026-09-19T16:16:05.972Z","priority":"6","pid":"2830187","message":" 16:16:05.472255 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:05.972Z","priority":"6","pid":"2830187","message":" 16:16:05.472507 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.973Z","priority":"6","pid":"2830187","message":" 16:16:05.472657 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:05.973Z","priority":"6","pid":"2830187","message":" 16:16:05.472760 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.973Z","priority":"6","pid":"2830187","message":" 16:16:05.472920 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:05.974Z","priority":"6","pid":"2830187","message":" 16:16:05.472970 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.974Z","priority":"6","pid":"2830187","message":" 16:16:05.473230 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:05.974Z","priority":"6","pid":"2830187","message":" 16:16:05.473254 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:05.975Z","priority":"6","pid":"2830187","message":" 16:16:05.473536 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:05.975Z","priority":"6","pid":"2830187","message":" 16:16:05.473569 DATA sockfilt for passive data channel quits (pid 87533)"}

data: {"time":"2026-09-19T16:16:05.976Z","priority":"6","pid":"2830187","message":" 16:16:05.473907 DATA sockfilt for passive data channel quit (pid 87533)"}

data: {"time":"2026-09-19T16:16:05.976Z","priority":"6","pid":"2830187","message":" 16:16:05.473937 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:05.976Z","priority":"6","pid":"2830187","message":" 16:16:05.473971 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.977Z","priority":"6","pid":"2830187","message":" 16:16:05.514086 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:05.977Z","priority":"6","pid":"2830187","message":" 16:16:05.514171 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:05.978Z","priority":"6","pid":"2830187","message":" 16:16:05.515114 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:05.978Z","priority":"6","pid":"2830187","message":" 16:16:05.515220 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:05.979Z","priority":"6","pid":"2830187","message":" 16:16:05.515397 Awaiting input"}

data: {"time":"2026-09-19T16:16:05.979Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:05.979Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:05.979Z","priority":"6","pid":"2830187","message":" 16:16:05.536963 ====> Client connect"}

data: {"time":"2026-09-19T16:16:05.980Z","priority":"6","pid":"2830187","message":" 16:16:05.537550 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.981Z","priority":"6","pid":"2830187","message":" 16:16:05.537598 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.981Z","priority":"6","pid":"2830187","message":" 16:16:05.537631 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:05.981Z","priority":"6","pid":"2830187","message":" 16:16:05.537647 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.981Z","priority":"6","pid":"2830187","message":" 16:16:05.537659 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.982Z","priority":"6","pid":"2830187","message":" 16:16:05.537772 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.982Z","priority":"6","pid":"2830187","message":" 16:16:05.537787 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.982Z","priority":"6","pid":"2830187","message":" 16:16:05.538095 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.983Z","priority":"6","pid":"2830187","message":" 16:16:05.538114 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.983Z","priority":"6","pid":"2830187","message":" 16:16:05.538136 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.984Z","priority":"6","pid":"2830187","message":" 16:16:05.538216 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.984Z","priority":"6","pid":"2830187","message":" 16:16:05.538230 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.984Z","priority":"6","pid":"2830187","message":" 16:16:05.538477 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.985Z","priority":"6","pid":"2830187","message":" 16:16:05.538497 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.985Z","priority":"6","pid":"2830187","message":" 16:16:05.538558 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.985Z","priority":"6","pid":"2830187","message":" 16:16:05.538671 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.986Z","priority":"6","pid":"2830187","message":" 16:16:05.538685 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.986Z","priority":"6","pid":"2830187","message":" 16:16:05.538810 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.986Z","priority":"6","pid":"2830187","message":" 16:16:05.538828 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.987Z","priority":"6","pid":"2830187","message":" 16:16:05.538890 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.987Z","priority":"6","pid":"2830187","message":" 16:16:05.539020 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.987Z","priority":"6","pid":"2830187","message":" 16:16:05.539036 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.988Z","priority":"6","pid":"2830187","message":" 16:16:05.542611 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.988Z","priority":"6","pid":"2830187","message":" 16:16:05.542635 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.988Z","priority":"6","pid":"2830187","message":" 16:16:05.542660 '229 Entering Passive Mode (|||41359|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.989Z","priority":"6","pid":"2830187","message":" 16:16:05.543022 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.989Z","priority":"6","pid":"2830187","message":" 16:16:05.543055 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.989Z","priority":"6","pid":"2830187","message":" 16:16:05.543383 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.990Z","priority":"6","pid":"2830187","message":" 16:16:05.543438 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.990Z","priority":"6","pid":"2830187","message":" 16:16:05.543469 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.990Z","priority":"6","pid":"2830187","message":" 16:16:05.543639 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.991Z","priority":"6","pid":"2830187","message":" 16:16:05.543652 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.991Z","priority":"6","pid":"2830187","message":" 16:16:05.543778 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.992Z","priority":"6","pid":"2830187","message":" 16:16:05.543790 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.992Z","priority":"6","pid":"2830187","message":" 16:16:05.543805 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.992Z","priority":"6","pid":"2830187","message":" 16:16:05.543904 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.993Z","priority":"6","pid":"2830187","message":" 16:16:05.543918 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.993Z","priority":"6","pid":"2830187","message":" 16:16:05.544122 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.993Z","priority":"6","pid":"2830187","message":" 16:16:05.544135 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.994Z","priority":"6","pid":"2830187","message":" 16:16:05.544144 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.994Z","priority":"6","pid":"2830187","message":" 16:16:05.545076 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.995Z","priority":"6","pid":"2830187","message":" 16:16:05.545091 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.995Z","priority":"6","pid":"2830187","message":" 16:16:05.545100 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.995Z","priority":"6","pid":"2830187","message":" 16:16:05.584970 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:05.995Z","priority":"6","pid":"2830187","message":" 16:16:05.585040 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.996Z","priority":"6","pid":"2830187","message":" 16:16:05.585282 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:05.996Z","priority":"6","pid":"2830187","message":" 16:16:05.585298 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:05.997Z","priority":"6","pid":"2830187","message":" 16:16:05.585311 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:05.997Z","priority":"6","pid":"2830187","message":" 16:16:05.585457 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:05.997Z","priority":"6","pid":"2830187","message":" 16:16:05.586514 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:05.997Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:05.997Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:05.998Z","priority":"6","pid":"2830187","message":" 16:16:05.541970 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:05.998Z","priority":"6","pid":"2830187","message":" 16:16:05.542103 Listening on port 41359"}

data: {"time":"2026-09-19T16:16:05.998Z","priority":"6","pid":"2830187","message":" 16:16:05.542151 Wrote pid 87533 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:05.999Z","priority":"6","pid":"2830187","message":" 16:16:05.542193 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:05.999Z","priority":"6","pid":"2830187","message":" 16:16:05.542328 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:05.999Z","priority":"6","pid":"2830187","message":" 16:16:05.543102 ====> Client connect"}

data: {"time":"2026-09-19T16:16:06.000Z","priority":"6","pid":"2830187","message":" 16:16:05.544084 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.000Z","priority":"6","pid":"2830187","message":" 16:16:05.544106 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.000Z","priority":"6","pid":"2830187","message":" 16:16:05.544418 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.001Z","priority":"6","pid":"2830187","message":" 16:16:05.544467 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:06.001Z","priority":"6","pid":"2830187","message":" 16:16:05.544479 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:06.001Z","priority":"6","pid":"2830187","message":" 16:16:05.544668 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:06.002Z","priority":"6","pid":"2830187","message":" 16:16:05.544681 quits"}

data: {"time":"2026-09-19T16:16:06.002Z","priority":"6","pid":"2830187","message":" 16:16:05.544768 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:06.002Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:06.002Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:06.003Z","priority":"6","pid":"2830187","message":" REPLY NLST 550 Have a taste on this"}

data: {"time":"2026-09-19T16:16:06.003Z","priority":"6","pid":"2830187","message":" Testnum 145"}

data: {"time":"2026-09-19T16:16:06.004Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:06.004Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind145"}

data: {"time":"2026-09-19T16:16:06.004Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:06.004Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:06.005Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:06.005Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.005Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:06.006Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:06.006Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:06.006Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:06.007Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:06.007Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.008Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:06.008Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:06.008Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:06.009Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:06.009Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:06.009Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:06.010Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:06.010Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.010Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:06.011Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:06.011Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.012Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:06.012Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:06.012Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:06.013Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.013Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:06.013Z","priority":"6","pid":"2830187","message":"=== End of file valgrind145"}

data: {"time":"2026-09-19T16:16:06.400Z","priority":"6","pid":"2830187","message":"test 0146 [persiCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind147 ../src/curl -q --output log/curl147.out  --include --trace-ascii log/trace147 --trace-time ftp://127.0.0.1:40545/first/dir/here/147 --ftp-create-dirs > log/stdout147 2> log/stderr147"}

data: {"time":"2026-09-19T16:16:06.405Z","priority":"6","pid":"2830187","message":"stent FTP with different paths]"}

data: {"time":"2026-09-19T16:16:06.406Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind146 ../src/curl -q --output log/curl146.out  --include --trace-ascii log/trace146 --trace-time ftp://127.0.0.1:40545/first/dir/here/146 ftp://127.0.0.1:40545/146 > log/stdout146 2> log/stderr146"}

data: {"time":"2026-09-19T16:16:06.407Z","priority":"6","pid":"2830187","message":" 146: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:06.407Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:06.407Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:06.408Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 146"}

data: {"time":"2026-09-19T16:16:06.408Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:06.411Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind146 ../src/curl -q --output log/curl146.out  --include --trace-ascii log/trace146 --trace-time ftp://127.0.0.1:40545/first/dir/here/146 ftp://127.0.0.1:40545/146 > log/stdout146 2> log/stderr146"}

data: {"time":"2026-09-19T16:16:06.411Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:06.411Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:06.411Z","priority":"6","pid":"2830187","message":" 16:16:05.738606 ====> Client connect"}

data: {"time":"2026-09-19T16:16:06.412Z","priority":"6","pid":"2830187","message":" 16:16:05.738900 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.413Z","priority":"6","pid":"2830187","message":" 16:16:05.739582 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:06.414Z","priority":"6","pid":"2830187","message":" 16:16:05.739751 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.415Z","priority":"6","pid":"2830187","message":" 16:16:05.740027 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:06.415Z","priority":"6","pid":"2830187","message":" 16:16:05.740071 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.416Z","priority":"6","pid":"2830187","message":" 16:16:05.740283 < \"PWD\""}

data: {"time":"2026-09-19T16:16:06.416Z","priority":"6","pid":"2830187","message":" 16:16:05.740441 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.418Z","priority":"6","pid":"2830187","message":" 16:16:05.740638 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:06.418Z","priority":"6","pid":"2830187","message":" 16:16:05.740688 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:06.418Z","priority":"6","pid":"2830187","message":" 16:16:05.740712 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:06.419Z","priority":"6","pid":"2830187","message":" 16:16:05.743684 DATA sockfilt for passive data channel started (pid 87598)"}

data: {"time":"2026-09-19T16:16:06.420Z","priority":"6","pid":"2830187","message":" 16:16:05.743900 DATA sockfilt for passive data channel listens on port 33123"}

data: {"time":"2026-09-19T16:16:06.420Z","priority":"6","pid":"2830187","message":" 16:16:05.743960 > \"229 Entering Passive Mode (|||33123|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.421Z","priority":"6","pid":"2830187","message":" 16:16:05.743979 Client has been notified that upcoming DATA connection is awaited on port 33123"}

data: {"time":"2026-09-19T16:16:06.421Z","priority":"6","pid":"2830187","message":" 16:16:05.744307 Client connects to port 33123"}

data: {"time":"2026-09-19T16:16:06.421Z","priority":"6","pid":"2830187","message":" 16:16:05.744395 ====> Client established passive DATA connection on port 33123"}

data: {"time":"2026-09-19T16:16:06.421Z","priority":"6","pid":"2830187","message":" 16:16:05.744774 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:06.422Z","priority":"6","pid":"2830187","message":" 16:16:05.744824 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.422Z","priority":"6","pid":"2830187","message":" 16:16:05.745051 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:06.423Z","priority":"6","pid":"2830187","message":" 16:16:05.745130 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.423Z","priority":"6","pid":"2830187","message":" 16:16:05.745294 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:06.423Z","priority":"6","pid":"2830187","message":" 16:16:05.745353 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.423Z","priority":"6","pid":"2830187","message":" 16:16:05.745475 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:06.424Z","priority":"6","pid":"2830187","message":" 16:16:05.745492 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:06.424Z","priority":"6","pid":"2830187","message":" 16:16:05.745807 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:06.424Z","priority":"6","pid":"2830187","message":" 16:16:05.745841 DATA sockfilt for passive data channel quits (pid 87598)"}

data: {"time":"2026-09-19T16:16:06.425Z","priority":"6","pid":"2830187","message":" 16:16:05.746205 DATA sockfilt for passive data channel quit (pid 87598)"}

data: {"time":"2026-09-19T16:16:06.425Z","priority":"6","pid":"2830187","message":" 16:16:05.746234 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:06.426Z","priority":"6","pid":"2830187","message":" 16:16:05.746269 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.426Z","priority":"6","pid":"2830187","message":" 16:16:05.787049 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:06.426Z","priority":"6","pid":"2830187","message":" 16:16:05.787146 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.426Z","priority":"6","pid":"2830187","message":" 16:16:05.788160 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:06.427Z","priority":"6","pid":"2830187","message":" 16:16:05.788330 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:06.427Z","priority":"6","pid":"2830187","message":" 16:16:05.788535 Awaiting input"}

data: {"time":"2026-09-19T16:16:06.427Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:06.428Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:06.429Z","priority":"6","pid":"2830187","message":" 16:16:05.809522 ====> Client connect"}

data: {"time":"2026-09-19T16:16:06.429Z","priority":"6","pid":"2830187","message":" 16:16:05.810033 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.430Z","priority":"6","pid":"2830187","message":" 16:16:05.810065 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.431Z","priority":"6","pid":"2830187","message":" 16:16:05.810085 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:06.432Z","priority":"6","pid":"2830187","message":" 16:16:05.810100 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.433Z","priority":"6","pid":"2830187","message":" 16:16:05.810111 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.434Z","priority":"6","pid":"2830187","message":" 16:16:05.810323 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.434Z","priority":"6","pid":"2830187","message":" 16:16:05.810349 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.435Z","priority":"6","pid":"2830187","message":" 16:16:05.810739 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.435Z","priority":"6","pid":"2830187","message":" 16:16:05.810762 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.435Z","priority":"6","pid":"2830187","message":" 16:16:05.810868 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.436Z","priority":"6","pid":"2830187","message":" 16:16:05.810968 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.437Z","priority":"6","pid":"2830187","message":" 16:16:05.810983 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.437Z","priority":"6","pid":"2830187","message":" 16:16:05.811164 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.437Z","priority":"6","pid":"2830187","message":" 16:16:05.811178 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.437Z","priority":"6","pid":"2830187","message":" 16:16:05.811191 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.437Z","priority":"6","pid":"2830187","message":" 16:16:05.811258 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.437Z","priority":"6","pid":"2830187","message":" 16:16:05.811270 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.438Z","priority":"6","pid":"2830187","message":" 16:16:05.811443 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.438Z","priority":"6","pid":"2830187","message":" 16:16:05.811459 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.438Z","priority":"6","pid":"2830187","message":" 16:16:05.811471 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.439Z","priority":"6","pid":"2830187","message":" 16:16:05.811592 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.439Z","priority":"6","pid":"2830187","message":" 16:16:05.811607 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.439Z","priority":"6","pid":"2830187","message":" 16:16:05.815080 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.439Z","priority":"6","pid":"2830187","message":" 16:16:05.815099 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.439Z","priority":"6","pid":"2830187","message":" 16:16:05.815109 '229 Entering Passive Mode (|||33123|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.440Z","priority":"6","pid":"2830187","message":" 16:16:05.815653 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.440Z","priority":"6","pid":"2830187","message":" 16:16:05.815681 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.440Z","priority":"6","pid":"2830187","message":" 16:16:05.815914 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.440Z","priority":"6","pid":"2830187","message":" 16:16:05.815929 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.441Z","priority":"6","pid":"2830187","message":" 16:16:05.815939 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.441Z","priority":"6","pid":"2830187","message":" 16:16:05.816042 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.441Z","priority":"6","pid":"2830187","message":" 16:16:05.816055 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.442Z","priority":"6","pid":"2830187","message":" 16:16:05.816163 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.442Z","priority":"6","pid":"2830187","message":" 16:16:05.816176 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.442Z","priority":"6","pid":"2830187","message":" 16:16:05.816217 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.443Z","priority":"6","pid":"2830187","message":" 16:16:05.816281 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.443Z","priority":"6","pid":"2830187","message":" 16:16:05.816292 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.443Z","priority":"6","pid":"2830187","message":" 16:16:05.816582 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.444Z","priority":"6","pid":"2830187","message":" 16:16:05.816596 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.444Z","priority":"6","pid":"2830187","message":" 16:16:05.816606 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.444Z","priority":"6","pid":"2830187","message":" 16:16:05.817360 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.444Z","priority":"6","pid":"2830187","message":" 16:16:05.817376 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.445Z","priority":"6","pid":"2830187","message":" 16:16:05.817385 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.445Z","priority":"6","pid":"2830187","message":" 16:16:05.857811 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.445Z","priority":"6","pid":"2830187","message":" 16:16:05.857882 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.445Z","priority":"6","pid":"2830187","message":" 16:16:05.858282 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.446Z","priority":"6","pid":"2830187","message":" 16:16:05.858317 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.446Z","priority":"6","pid":"2830187","message":" 16:16:05.858333 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.446Z","priority":"6","pid":"2830187","message":" 16:16:05.859134 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:06.447Z","priority":"6","pid":"2830187","message":" 16:16:05.859300 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:06.447Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:06.447Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:06.448Z","priority":"6","pid":"2830187","message":" 16:16:05.814273 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:06.449Z","priority":"6","pid":"2830187","message":" 16:16:05.814616 Listening on port 33123"}

data: {"time":"2026-09-19T16:16:06.449Z","priority":"6","pid":"2830187","message":" 16:16:05.814677 Wrote pid 87598 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:06.449Z","priority":"6","pid":"2830187","message":" 16:16:05.814707 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:06.449Z","priority":"6","pid":"2830187","message":" 16:16:05.814858 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:06.449Z","priority":"6","pid":"2830187","message":" 16:16:05.815332 ====> Client connect"}

data: {"time":"2026-09-19T16:16:06.450Z","priority":"6","pid":"2830187","message":" 16:16:05.816641 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.450Z","priority":"6","pid":"2830187","message":" 16:16:05.816663 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.450Z","priority":"6","pid":"2830187","message":" 16:16:05.816672 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.451Z","priority":"6","pid":"2830187","message":" 16:16:05.816705 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:06.451Z","priority":"6","pid":"2830187","message":" 16:16:05.816717 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:06.452Z","priority":"6","pid":"2830187","message":" 16:16:05.816930 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:06.452Z","priority":"6","pid":"2830187","message":" 16:16:05.816944 quits"}

data: {"time":"2026-09-19T16:16:06.452Z","priority":"6","pid":"2830187","message":" 16:16:05.817048 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:06.452Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:06.452Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:06.453Z","priority":"6","pid":"2830187","message":" Testnum 146"}

data: {"time":"2026-09-19T16:16:06.453Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:06.453Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind146"}

data: {"time":"2026-09-19T16:16:06.453Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:06.454Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:06.454Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:06.454Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.455Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:06.455Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:06.455Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:06.456Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:06.456Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:06.456Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.457Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:06.457Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:06.458Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:06.458Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:06.459Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:06.459Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:06.459Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:06.460Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.460Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:06.460Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:06.461Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.461Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:06.462Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:06.462Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:06.462Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.463Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:06.463Z","priority":"6","pid":"2830187","message":"=== End of file valgrind146"}

data: {"time":"2026-09-19T16:16:06.464Z","priority":"6","pid":"2830187","message":"test 0147 [FTP with --ftp-create-dirs (failing CWD)]"}

data: {"time":"2026-09-19T16:16:06.464Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind147 ../src/curl -q --output log/curl147.out  --include --trace-ascii log/trace147 --trace-time ftp://127.0.0.1:40545/first/dir/here/147 --ftp-create-dirs > log/stdout147 2> log/stderr147"}

data: {"time":"2026-09-19T16:16:06.465Z","priority":"6","pid":"2830187","message":" 147: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:06.718Z","priority":"6","pid":"2830187","message":" There wasCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind148 ../src/curl -q --output log/curl148.out  --include --trace-ascii log/trace148 --trace-time ftp://127.0.0.1:40545/attempt/to/get/this/148 --ftp-create-dirs > log/stdout148 2> log/stderr148"}

data: {"time":"2026-09-19T16:16:06.735Z","priority":"6","pid":"2830187","message":" no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:06.735Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:06.735Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 147"}

data: {"time":"2026-09-19T16:16:06.737Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:06.738Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind147 ../src/curl -q --output log/curl147.out  --include --trace-ascii log/trace147 --trace-time ftp://127.0.0.1:40545/first/dir/here/147 --ftp-create-dirs > log/stdout147 2> log/stderr147"}

data: {"time":"2026-09-19T16:16:06.738Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:06.739Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:06.739Z","priority":"6","pid":"2830187","message":" 16:16:06.057142 ====> Client connect"}

data: {"time":"2026-09-19T16:16:06.740Z","priority":"6","pid":"2830187","message":" 16:16:06.057854 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.740Z","priority":"6","pid":"2830187","message":" 16:16:06.058052 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:06.740Z","priority":"6","pid":"2830187","message":" 16:16:06.058453 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.741Z","priority":"6","pid":"2830187","message":" 16:16:06.058596 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:06.742Z","priority":"6","pid":"2830187","message":" 16:16:06.058638 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.742Z","priority":"6","pid":"2830187","message":" 16:16:06.058866 < \"PWD\""}

data: {"time":"2026-09-19T16:16:06.742Z","priority":"6","pid":"2830187","message":" 16:16:06.058916 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.742Z","priority":"6","pid":"2830187","message":" 16:16:06.059139 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:06.742Z","priority":"6","pid":"2830187","message":" 16:16:06.059185 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:06.743Z","priority":"6","pid":"2830187","message":" 16:16:06.059221 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:06.743Z","priority":"6","pid":"2830187","message":" 16:16:06.062206 DATA sockfilt for passive data channel started (pid 87664)"}

data: {"time":"2026-09-19T16:16:06.744Z","priority":"6","pid":"2830187","message":" 16:16:06.062422 DATA sockfilt for passive data channel listens on port 35303"}

data: {"time":"2026-09-19T16:16:06.744Z","priority":"6","pid":"2830187","message":" 16:16:06.062489 > \"229 Entering Passive Mode (|||35303|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.745Z","priority":"6","pid":"2830187","message":" 16:16:06.062514 Client has been notified that upcoming DATA connection is awaited on port 35303"}

data: {"time":"2026-09-19T16:16:06.746Z","priority":"6","pid":"2830187","message":" 16:16:06.062957 Client connects to port 35303"}

data: {"time":"2026-09-19T16:16:06.746Z","priority":"6","pid":"2830187","message":" 16:16:06.063007 ====> Client established passive DATA connection on port 35303"}

data: {"time":"2026-09-19T16:16:06.746Z","priority":"6","pid":"2830187","message":" 16:16:06.063149 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:06.746Z","priority":"6","pid":"2830187","message":" 16:16:06.063386 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.747Z","priority":"6","pid":"2830187","message":" 16:16:06.063482 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:06.747Z","priority":"6","pid":"2830187","message":" 16:16:06.063671 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.748Z","priority":"6","pid":"2830187","message":" 16:16:06.063787 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:06.748Z","priority":"6","pid":"2830187","message":" 16:16:06.063848 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.749Z","priority":"6","pid":"2830187","message":" 16:16:06.064305 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:06.749Z","priority":"6","pid":"2830187","message":" 16:16:06.064394 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:06.750Z","priority":"6","pid":"2830187","message":" 16:16:06.064494 Fancy that; client wants to DISC, too"}

data: {"time":"2026-09-19T16:16:06.750Z","priority":"6","pid":"2830187","message":" 16:16:06.064590 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:06.750Z","priority":"6","pid":"2830187","message":" 16:16:06.064617 DATA sockfilt for passive data channel quits (pid 87664)"}

data: {"time":"2026-09-19T16:16:06.751Z","priority":"6","pid":"2830187","message":" 16:16:06.065006 DATA sockfilt for passive data channel quit (pid 87664)"}

data: {"time":"2026-09-19T16:16:06.751Z","priority":"6","pid":"2830187","message":" 16:16:06.065042 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:06.752Z","priority":"6","pid":"2830187","message":" 16:16:06.065187 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.752Z","priority":"6","pid":"2830187","message":" 16:16:06.105153 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:06.753Z","priority":"6","pid":"2830187","message":" 16:16:06.105255 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:06.753Z","priority":"6","pid":"2830187","message":" 16:16:06.106325 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:06.754Z","priority":"6","pid":"2830187","message":" 16:16:06.106575 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:06.754Z","priority":"6","pid":"2830187","message":" 16:16:06.106719 Awaiting input"}

data: {"time":"2026-09-19T16:16:06.754Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:06.754Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:06.755Z","priority":"6","pid":"2830187","message":" 16:16:06.127998 ====> Client connect"}

data: {"time":"2026-09-19T16:16:06.755Z","priority":"6","pid":"2830187","message":" 16:16:06.128599 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.756Z","priority":"6","pid":"2830187","message":" 16:16:06.128633 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.756Z","priority":"6","pid":"2830187","message":" 16:16:06.128660 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:06.757Z","priority":"6","pid":"2830187","message":" 16:16:06.128675 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.757Z","priority":"6","pid":"2830187","message":" 16:16:06.128714 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.758Z","priority":"6","pid":"2830187","message":" 16:16:06.128832 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.758Z","priority":"6","pid":"2830187","message":" 16:16:06.128847 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.759Z","priority":"6","pid":"2830187","message":" 16:16:06.129165 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.759Z","priority":"6","pid":"2830187","message":" 16:16:06.129191 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.759Z","priority":"6","pid":"2830187","message":" 16:16:06.129221 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.760Z","priority":"6","pid":"2830187","message":" 16:16:06.129454 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.761Z","priority":"6","pid":"2830187","message":" 16:16:06.129479 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.761Z","priority":"6","pid":"2830187","message":" 16:16:06.129717 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.762Z","priority":"6","pid":"2830187","message":" 16:16:06.129732 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.762Z","priority":"6","pid":"2830187","message":" 16:16:06.129744 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.762Z","priority":"6","pid":"2830187","message":" 16:16:06.129819 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.762Z","priority":"6","pid":"2830187","message":" 16:16:06.129832 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.763Z","priority":"6","pid":"2830187","message":" 16:16:06.129993 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.763Z","priority":"6","pid":"2830187","message":" 16:16:06.130005 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.764Z","priority":"6","pid":"2830187","message":" 16:16:06.130018 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.764Z","priority":"6","pid":"2830187","message":" 16:16:06.130097 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.764Z","priority":"6","pid":"2830187","message":" 16:16:06.130110 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.765Z","priority":"6","pid":"2830187","message":" 16:16:06.133607 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.765Z","priority":"6","pid":"2830187","message":" 16:16:06.133628 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.766Z","priority":"6","pid":"2830187","message":" 16:16:06.133643 '229 Entering Passive Mode (|||35303|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.766Z","priority":"6","pid":"2830187","message":" 16:16:06.133920 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.767Z","priority":"6","pid":"2830187","message":" 16:16:06.133942 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.767Z","priority":"6","pid":"2830187","message":" 16:16:06.134245 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.767Z","priority":"6","pid":"2830187","message":" 16:16:06.134262 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.767Z","priority":"6","pid":"2830187","message":" 16:16:06.134284 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.768Z","priority":"6","pid":"2830187","message":" 16:16:06.134357 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.768Z","priority":"6","pid":"2830187","message":" 16:16:06.134371 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.769Z","priority":"6","pid":"2830187","message":" 16:16:06.134582 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.769Z","priority":"6","pid":"2830187","message":" 16:16:06.134599 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.770Z","priority":"6","pid":"2830187","message":" 16:16:06.134617 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.770Z","priority":"6","pid":"2830187","message":" 16:16:06.134680 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.770Z","priority":"6","pid":"2830187","message":" 16:16:06.134693 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.771Z","priority":"6","pid":"2830187","message":" 16:16:06.135131 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.771Z","priority":"6","pid":"2830187","message":" 16:16:06.135148 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.772Z","priority":"6","pid":"2830187","message":" 16:16:06.135161 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.772Z","priority":"6","pid":"2830187","message":" 16:16:06.136150 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.773Z","priority":"6","pid":"2830187","message":" 16:16:06.136175 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.773Z","priority":"6","pid":"2830187","message":" 16:16:06.136200 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.774Z","priority":"6","pid":"2830187","message":" 16:16:06.175872 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:06.774Z","priority":"6","pid":"2830187","message":" 16:16:06.175955 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.774Z","priority":"6","pid":"2830187","message":" 16:16:06.176368 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.775Z","priority":"6","pid":"2830187","message":" 16:16:06.176419 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.775Z","priority":"6","pid":"2830187","message":" 16:16:06.176433 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.775Z","priority":"6","pid":"2830187","message":" 16:16:06.177257 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:06.776Z","priority":"6","pid":"2830187","message":" 16:16:06.177490 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:06.777Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:06.777Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:06.777Z","priority":"6","pid":"2830187","message":" 16:16:06.132977 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:06.777Z","priority":"6","pid":"2830187","message":" 16:16:06.133112 Listening on port 35303"}

data: {"time":"2026-09-19T16:16:06.778Z","priority":"6","pid":"2830187","message":" 16:16:06.133159 Wrote pid 87664 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:06.778Z","priority":"6","pid":"2830187","message":" 16:16:06.133199 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:06.779Z","priority":"6","pid":"2830187","message":" 16:16:06.133328 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:06.780Z","priority":"6","pid":"2830187","message":" 16:16:06.133969 ====> Client connect"}

data: {"time":"2026-09-19T16:16:06.780Z","priority":"6","pid":"2830187","message":" 16:16:06.135043 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:06.780Z","priority":"6","pid":"2830187","message":" 16:16:06.135069 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:06.780Z","priority":"6","pid":"2830187","message":" 16:16:06.135082 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:06.780Z","priority":"6","pid":"2830187","message":" 16:16:06.135290 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:06.781Z","priority":"6","pid":"2830187","message":" 16:16:06.135480 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:06.781Z","priority":"6","pid":"2830187","message":" 16:16:06.135495 Crikey! Client also wants to disconnect"}

data: {"time":"2026-09-19T16:16:06.782Z","priority":"6","pid":"2830187","message":" 16:16:06.135573 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:06.782Z","priority":"6","pid":"2830187","message":" 16:16:06.135705 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:06.782Z","priority":"6","pid":"2830187","message":" 16:16:06.135718 quits"}

data: {"time":"2026-09-19T16:16:06.782Z","priority":"6","pid":"2830187","message":" 16:16:06.135818 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:06.782Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:06.783Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:06.783Z","priority":"6","pid":"2830187","message":" REPLY CWD 550 I won't allow this on my server"}

data: {"time":"2026-09-19T16:16:06.783Z","priority":"6","pid":"2830187","message":" COUNT CWD 1"}

data: {"time":"2026-09-19T16:16:06.783Z","priority":"6","pid":"2830187","message":" Testnum 147"}

data: {"time":"2026-09-19T16:16:06.784Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:06.784Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind147"}

data: {"time":"2026-09-19T16:16:06.784Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:06.785Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:06.785Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:06.785Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.786Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:06.786Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:06.787Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:06.787Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:06.788Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:06.788Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.789Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:06.789Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:06.789Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:06.790Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:06.791Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:06.791Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:06.791Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:06.791Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.792Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:06.792Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:06.792Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.793Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:06.793Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:06.794Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:06.794Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:06.794Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:06.795Z","priority":"6","pid":"2830187","message":"=== End of file valgrind147"}

data: {"time":"2026-09-19T16:16:06.795Z","priority":"6","pid":"2830187","message":"test 0148 [FTP with --ftp-create-dirs (failing MKD)]"}

data: {"time":"2026-09-19T16:16:06.796Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind148 ../src/curl -q --output log/curl148.out  --include --trace-ascii log/trace148 --trace-time ftp://127.0.0.1:40545/attempt/to/get/this/148 --ftp-create-dirs > log/stdout148 2> log/stderr148"}

data: {"time":"2026-09-19T16:16:06.797Z","priority":"6","pid":"2830187","message":" 148: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:06.797Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:06.798Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:06.798Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 148"}

data: {"time":"2026-09-19T16:16:06.799Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:07.072Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind149 ../src/curl -q --output log/curl149.out  --include --trace-ascii log/trace149 --trace-time -T log/upload149 ftp://127.0.0.1:40545/dir1/149 -T log/upload149 ftp://127.0.0.1:40545/dir2/149 > log/stdout149 2> log/stderr149"}

data: {"time":"2026-09-19T16:16:07.082Z","priority":"6","pid":"2830187","message":"heck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind148 ../src/curl -q --output log/curl148.out  --include --trace-ascii log/trace148 --trace-time ftp://127.0.0.1:40545/attempt/to/get/this/148 --ftp-create-dirs > log/stdout148 2> log/stderr148"}

data: {"time":"2026-09-19T16:16:07.083Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:07.083Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:07.083Z","priority":"6","pid":"2830187","message":" 16:16:06.505830 ====> Client connect"}

data: {"time":"2026-09-19T16:16:07.084Z","priority":"6","pid":"2830187","message":" 16:16:06.506467 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.084Z","priority":"6","pid":"2830187","message":" 16:16:06.506786 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:07.084Z","priority":"6","pid":"2830187","message":" 16:16:06.506987 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.085Z","priority":"6","pid":"2830187","message":" 16:16:06.507321 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:07.086Z","priority":"6","pid":"2830187","message":" 16:16:06.507419 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.086Z","priority":"6","pid":"2830187","message":" 16:16:06.507662 < \"PWD\""}

data: {"time":"2026-09-19T16:16:07.086Z","priority":"6","pid":"2830187","message":" 16:16:06.507775 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.087Z","priority":"6","pid":"2830187","message":" 16:16:06.508011 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:07.087Z","priority":"6","pid":"2830187","message":" 16:16:06.508048 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:07.087Z","priority":"6","pid":"2830187","message":" 16:16:06.508063 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:07.088Z","priority":"6","pid":"2830187","message":" 16:16:06.511327 DATA sockfilt for passive data channel started (pid 87729)"}

data: {"time":"2026-09-19T16:16:07.088Z","priority":"6","pid":"2830187","message":" 16:16:06.511585 DATA sockfilt for passive data channel listens on port 46125"}

data: {"time":"2026-09-19T16:16:07.088Z","priority":"6","pid":"2830187","message":" 16:16:06.511804 > \"229 Entering Passive Mode (|||46125|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.089Z","priority":"6","pid":"2830187","message":" 16:16:06.511841 Client has been notified that upcoming DATA connection is awaited on port 46125"}

data: {"time":"2026-09-19T16:16:07.089Z","priority":"6","pid":"2830187","message":" 16:16:06.512150 Client connects to port 46125"}

data: {"time":"2026-09-19T16:16:07.089Z","priority":"6","pid":"2830187","message":" 16:16:06.512204 ====> Client established passive DATA connection on port 46125"}

data: {"time":"2026-09-19T16:16:07.090Z","priority":"6","pid":"2830187","message":" 16:16:06.512553 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:07.090Z","priority":"6","pid":"2830187","message":" 16:16:06.512604 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.090Z","priority":"6","pid":"2830187","message":" 16:16:06.512891 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:07.090Z","priority":"6","pid":"2830187","message":" 16:16:06.512954 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.091Z","priority":"6","pid":"2830187","message":" 16:16:06.513217 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:07.091Z","priority":"6","pid":"2830187","message":" 16:16:06.513287 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.091Z","priority":"6","pid":"2830187","message":" 16:16:06.513686 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:07.092Z","priority":"6","pid":"2830187","message":" 16:16:06.513716 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:07.092Z","priority":"6","pid":"2830187","message":" 16:16:06.514034 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:07.092Z","priority":"6","pid":"2830187","message":" 16:16:06.514091 DATA sockfilt for passive data channel quits (pid 87729)"}

data: {"time":"2026-09-19T16:16:07.093Z","priority":"6","pid":"2830187","message":" 16:16:06.514585 DATA sockfilt for passive data channel quit (pid 87729)"}

data: {"time":"2026-09-19T16:16:07.093Z","priority":"6","pid":"2830187","message":" 16:16:06.514636 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:07.094Z","priority":"6","pid":"2830187","message":" 16:16:06.514811 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.094Z","priority":"6","pid":"2830187","message":" 16:16:06.555053 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:07.095Z","priority":"6","pid":"2830187","message":" 16:16:06.555163 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.095Z","priority":"6","pid":"2830187","message":" 16:16:06.556156 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:07.095Z","priority":"6","pid":"2830187","message":" 16:16:06.556293 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:07.095Z","priority":"6","pid":"2830187","message":" 16:16:06.556448 Awaiting input"}

data: {"time":"2026-09-19T16:16:07.096Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:07.096Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:07.096Z","priority":"6","pid":"2830187","message":" 16:16:06.576700 ====> Client connect"}

data: {"time":"2026-09-19T16:16:07.096Z","priority":"6","pid":"2830187","message":" 16:16:06.577134 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.097Z","priority":"6","pid":"2830187","message":" 16:16:06.577159 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.097Z","priority":"6","pid":"2830187","message":" 16:16:06.577252 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:07.097Z","priority":"6","pid":"2830187","message":" 16:16:06.577273 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.098Z","priority":"6","pid":"2830187","message":" 16:16:06.577285 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.098Z","priority":"6","pid":"2830187","message":" 16:16:06.577426 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.098Z","priority":"6","pid":"2830187","message":" 16:16:06.577443 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.099Z","priority":"6","pid":"2830187","message":" 16:16:06.577889 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.099Z","priority":"6","pid":"2830187","message":" 16:16:06.577926 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.099Z","priority":"6","pid":"2830187","message":" 16:16:06.577955 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.099Z","priority":"6","pid":"2830187","message":" 16:16:06.578177 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.100Z","priority":"6","pid":"2830187","message":" 16:16:06.578204 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.100Z","priority":"6","pid":"2830187","message":" 16:16:06.578479 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.100Z","priority":"6","pid":"2830187","message":" 16:16:06.578496 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.101Z","priority":"6","pid":"2830187","message":" 16:16:06.578509 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.101Z","priority":"6","pid":"2830187","message":" 16:16:06.578622 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.102Z","priority":"6","pid":"2830187","message":" 16:16:06.578636 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.102Z","priority":"6","pid":"2830187","message":" 16:16:06.578737 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.102Z","priority":"6","pid":"2830187","message":" 16:16:06.578773 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.102Z","priority":"6","pid":"2830187","message":" 16:16:06.578848 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.103Z","priority":"6","pid":"2830187","message":" 16:16:06.578943 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.103Z","priority":"6","pid":"2830187","message":" 16:16:06.578955 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.103Z","priority":"6","pid":"2830187","message":" 16:16:06.582682 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.103Z","priority":"6","pid":"2830187","message":" 16:16:06.582704 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.104Z","priority":"6","pid":"2830187","message":" 16:16:06.582728 '229 Entering Passive Mode (|||46125|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.104Z","priority":"6","pid":"2830187","message":" 16:16:06.583400 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.104Z","priority":"6","pid":"2830187","message":" 16:16:06.583429 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.104Z","priority":"6","pid":"2830187","message":" 16:16:06.583660 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.105Z","priority":"6","pid":"2830187","message":" 16:16:06.583677 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.105Z","priority":"6","pid":"2830187","message":" 16:16:06.583686 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.105Z","priority":"6","pid":"2830187","message":" 16:16:06.583833 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.106Z","priority":"6","pid":"2830187","message":" 16:16:06.583855 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.106Z","priority":"6","pid":"2830187","message":" 16:16:06.584011 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.106Z","priority":"6","pid":"2830187","message":" 16:16:06.584024 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.106Z","priority":"6","pid":"2830187","message":" 16:16:06.584035 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.107Z","priority":"6","pid":"2830187","message":" 16:16:06.584129 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.107Z","priority":"6","pid":"2830187","message":" 16:16:06.584151 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.107Z","priority":"6","pid":"2830187","message":" 16:16:06.584449 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.108Z","priority":"6","pid":"2830187","message":" 16:16:06.584465 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.108Z","priority":"6","pid":"2830187","message":" 16:16:06.584477 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.108Z","priority":"6","pid":"2830187","message":" 16:16:06.585725 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.109Z","priority":"6","pid":"2830187","message":" 16:16:06.585749 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.109Z","priority":"6","pid":"2830187","message":" 16:16:06.585798 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.110Z","priority":"6","pid":"2830187","message":" 16:16:06.625735 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.110Z","priority":"6","pid":"2830187","message":" 16:16:06.625795 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.110Z","priority":"6","pid":"2830187","message":" 16:16:06.626247 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.110Z","priority":"6","pid":"2830187","message":" 16:16:06.626288 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.111Z","priority":"6","pid":"2830187","message":" 16:16:06.626302 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.111Z","priority":"6","pid":"2830187","message":" 16:16:06.627109 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:07.112Z","priority":"6","pid":"2830187","message":" 16:16:06.627242 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:07.112Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:07.112Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:07.112Z","priority":"6","pid":"2830187","message":" 16:16:06.582028 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:07.112Z","priority":"6","pid":"2830187","message":" 16:16:06.582208 Listening on port 46125"}

data: {"time":"2026-09-19T16:16:07.113Z","priority":"6","pid":"2830187","message":" 16:16:06.582261 Wrote pid 87729 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:07.113Z","priority":"6","pid":"2830187","message":" 16:16:06.582292 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:07.113Z","priority":"6","pid":"2830187","message":" 16:16:06.582490 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:07.113Z","priority":"6","pid":"2830187","message":" 16:16:06.583124 ====> Client connect"}

data: {"time":"2026-09-19T16:16:07.114Z","priority":"6","pid":"2830187","message":" 16:16:06.584392 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.114Z","priority":"6","pid":"2830187","message":" 16:16:06.584428 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.114Z","priority":"6","pid":"2830187","message":" 16:16:06.584795 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.115Z","priority":"6","pid":"2830187","message":" 16:16:06.584849 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:07.115Z","priority":"6","pid":"2830187","message":" 16:16:06.584864 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:07.116Z","priority":"6","pid":"2830187","message":" 16:16:06.585158 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:07.116Z","priority":"6","pid":"2830187","message":" 16:16:06.585174 quits"}

data: {"time":"2026-09-19T16:16:07.116Z","priority":"6","pid":"2830187","message":" 16:16:06.585280 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:07.117Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:07.117Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:07.118Z","priority":"6","pid":"2830187","message":" REPLY CWD 550 I won't allow this on my server"}

data: {"time":"2026-09-19T16:16:07.118Z","priority":"6","pid":"2830187","message":" REPLY MKD 550 We will have no such thing"}

data: {"time":"2026-09-19T16:16:07.118Z","priority":"6","pid":"2830187","message":" Testnum 148"}

data: {"time":"2026-09-19T16:16:07.118Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:07.118Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind148"}

data: {"time":"2026-09-19T16:16:07.119Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:07.119Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:07.120Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:07.120Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.120Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:07.120Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:07.121Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:07.121Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:07.122Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:07.122Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.122Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:07.123Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:07.123Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:07.123Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:07.124Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:07.124Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:07.125Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:07.125Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.125Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:07.126Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:07.126Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.126Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:07.127Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:07.127Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:07.127Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.127Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:07.128Z","priority":"6","pid":"2830187","message":"=== End of file valgrind148"}

data: {"time":"2026-09-19T16:16:07.128Z","priority":"6","pid":"2830187","message":"test 0149 [FTP with multiple uploads]"}

data: {"time":"2026-09-19T16:16:07.129Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind149 ../src/curl -q --output log/curl149.out  --include --trace-ascii log/trace149 --trace-time -T log/upload149 ftp://127.0.0.1:40545/dir1/149 -T log/upload149 ftp://127.0.0.1:40545/dir2/149 > log/stdout149 2> log/stderr149"}

data: {"time":"2026-09-19T16:16:07.130Z","priority":"6","pid":"2830187","message":" 149: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:07.130Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:07.131Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:07.131Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 149"}

data: {"time":"2026-09-19T16:16:07.132Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:07.330Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind149 ../src/curl -q --output log/curl149.out  --include --trace-ascii log/trace149 --trace-time -T log/upload149 ftp://127.0.0.1:40545/dir1/149 -T log/upload149 ftp://127.0.0.1:40545/dir2/149 > log/stdout149 2CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind151 ../src/curl -q --output log/curl151.out  --include --trace-ascii log/trace151 --trace-time http://127.0.0.1:36137/151 > log/stdout151 2> log/stderr151"}

data: {"time":"2026-09-19T16:16:07.346Z","priority":"6","pid":"2830187","message":"> log/stderr149"}

data: {"time":"2026-09-19T16:16:07.348Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:07.348Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:07.348Z","priority":"6","pid":"2830187","message":" 16:16:06.838196 ====> Client connect"}

data: {"time":"2026-09-19T16:16:07.349Z","priority":"6","pid":"2830187","message":" 16:16:06.838604 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.350Z","priority":"6","pid":"2830187","message":" 16:16:06.839151 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:07.350Z","priority":"6","pid":"2830187","message":" 16:16:06.839403 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.351Z","priority":"6","pid":"2830187","message":" 16:16:06.839515 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:07.351Z","priority":"6","pid":"2830187","message":" 16:16:06.839784 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.352Z","priority":"6","pid":"2830187","message":" 16:16:06.839896 < \"PWD\""}

data: {"time":"2026-09-19T16:16:07.352Z","priority":"6","pid":"2830187","message":" 16:16:06.839960 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.352Z","priority":"6","pid":"2830187","message":" 16:16:06.840217 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:07.353Z","priority":"6","pid":"2830187","message":" 16:16:06.840267 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:07.353Z","priority":"6","pid":"2830187","message":" 16:16:06.840292 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:07.354Z","priority":"6","pid":"2830187","message":" 16:16:06.843737 DATA sockfilt for passive data channel started (pid 87794)"}

data: {"time":"2026-09-19T16:16:07.354Z","priority":"6","pid":"2830187","message":" 16:16:06.843965 DATA sockfilt for passive data channel listens on port 43163"}

data: {"time":"2026-09-19T16:16:07.355Z","priority":"6","pid":"2830187","message":" 16:16:06.844048 > \"229 Entering Passive Mode (|||43163|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.355Z","priority":"6","pid":"2830187","message":" 16:16:06.844073 Client has been notified that upcoming DATA connection is awaited on port 43163"}

data: {"time":"2026-09-19T16:16:07.356Z","priority":"6","pid":"2830187","message":" 16:16:06.844511 Client connects to port 43163"}

data: {"time":"2026-09-19T16:16:07.356Z","priority":"6","pid":"2830187","message":" 16:16:06.844566 ====> Client established passive DATA connection on port 43163"}

data: {"time":"2026-09-19T16:16:07.356Z","priority":"6","pid":"2830187","message":" 16:16:06.844877 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:07.357Z","priority":"6","pid":"2830187","message":" 16:16:06.845007 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.357Z","priority":"6","pid":"2830187","message":" 16:16:06.845263 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:07.357Z","priority":"6","pid":"2830187","message":" 16:16:06.845321 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.357Z","priority":"6","pid":"2830187","message":" 16:16:06.845567 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:07.358Z","priority":"6","pid":"2830187","message":" 16:16:06.845618 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.358Z","priority":"6","pid":"2830187","message":" 16:16:06.845880 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:07.359Z","priority":"6","pid":"2830187","message":" 16:16:06.845923 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:07.359Z","priority":"6","pid":"2830187","message":" 16:16:06.846225 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:07.360Z","priority":"6","pid":"2830187","message":" 16:16:06.846270 DATA sockfilt for passive data channel quits (pid 87794)"}

data: {"time":"2026-09-19T16:16:07.360Z","priority":"6","pid":"2830187","message":" 16:16:06.846695 DATA sockfilt for passive data channel quit (pid 87794)"}

data: {"time":"2026-09-19T16:16:07.360Z","priority":"6","pid":"2830187","message":" 16:16:06.846732 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:07.361Z","priority":"6","pid":"2830187","message":" 16:16:06.846774 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.361Z","priority":"6","pid":"2830187","message":" 16:16:06.887127 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:07.362Z","priority":"6","pid":"2830187","message":" 16:16:06.887226 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:07.362Z","priority":"6","pid":"2830187","message":" 16:16:06.888230 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:07.362Z","priority":"6","pid":"2830187","message":" 16:16:06.888449 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:07.362Z","priority":"6","pid":"2830187","message":" 16:16:06.888620 Awaiting input"}

data: {"time":"2026-09-19T16:16:07.362Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:07.362Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:07.363Z","priority":"6","pid":"2830187","message":" 16:16:06.909040 ====> Client connect"}

data: {"time":"2026-09-19T16:16:07.363Z","priority":"6","pid":"2830187","message":" 16:16:06.909783 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.364Z","priority":"6","pid":"2830187","message":" 16:16:06.909813 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.364Z","priority":"6","pid":"2830187","message":" 16:16:06.909829 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:07.364Z","priority":"6","pid":"2830187","message":" 16:16:06.909844 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.364Z","priority":"6","pid":"2830187","message":" 16:16:06.909856 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.365Z","priority":"6","pid":"2830187","message":" 16:16:06.909962 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.365Z","priority":"6","pid":"2830187","message":" 16:16:06.909977 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.365Z","priority":"6","pid":"2830187","message":" 16:16:06.910215 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.366Z","priority":"6","pid":"2830187","message":" 16:16:06.910232 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.366Z","priority":"6","pid":"2830187","message":" 16:16:06.910255 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.366Z","priority":"6","pid":"2830187","message":" 16:16:06.910331 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.367Z","priority":"6","pid":"2830187","message":" 16:16:06.910386 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.367Z","priority":"6","pid":"2830187","message":" 16:16:06.910567 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.367Z","priority":"6","pid":"2830187","message":" 16:16:06.910587 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.368Z","priority":"6","pid":"2830187","message":" 16:16:06.910610 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.368Z","priority":"6","pid":"2830187","message":" 16:16:06.910723 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.368Z","priority":"6","pid":"2830187","message":" 16:16:06.910761 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.369Z","priority":"6","pid":"2830187","message":" 16:16:06.911005 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.369Z","priority":"6","pid":"2830187","message":" 16:16:06.911020 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.369Z","priority":"6","pid":"2830187","message":" 16:16:06.911034 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.370Z","priority":"6","pid":"2830187","message":" 16:16:06.911131 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.370Z","priority":"6","pid":"2830187","message":" 16:16:06.911146 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.370Z","priority":"6","pid":"2830187","message":" 16:16:06.915143 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.370Z","priority":"6","pid":"2830187","message":" 16:16:06.915169 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.371Z","priority":"6","pid":"2830187","message":" 16:16:06.915184 '229 Entering Passive Mode (|||43163|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.371Z","priority":"6","pid":"2830187","message":" 16:16:06.915708 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.371Z","priority":"6","pid":"2830187","message":" 16:16:06.915728 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.372Z","priority":"6","pid":"2830187","message":" 16:16:06.915966 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.372Z","priority":"6","pid":"2830187","message":" 16:16:06.915989 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.372Z","priority":"6","pid":"2830187","message":" 16:16:06.916059 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.372Z","priority":"6","pid":"2830187","message":" 16:16:06.916153 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.373Z","priority":"6","pid":"2830187","message":" 16:16:06.916167 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.373Z","priority":"6","pid":"2830187","message":" 16:16:06.916385 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.373Z","priority":"6","pid":"2830187","message":" 16:16:06.916400 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.374Z","priority":"6","pid":"2830187","message":" 16:16:06.916411 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.374Z","priority":"6","pid":"2830187","message":" 16:16:06.916482 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.374Z","priority":"6","pid":"2830187","message":" 16:16:06.916497 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.374Z","priority":"6","pid":"2830187","message":" 16:16:06.916717 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.375Z","priority":"6","pid":"2830187","message":" 16:16:06.916732 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.375Z","priority":"6","pid":"2830187","message":" 16:16:06.916744 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.376Z","priority":"6","pid":"2830187","message":" 16:16:06.917822 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.376Z","priority":"6","pid":"2830187","message":" 16:16:06.917839 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.376Z","priority":"6","pid":"2830187","message":" 16:16:06.917852 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.376Z","priority":"6","pid":"2830187","message":" 16:16:06.957912 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:07.377Z","priority":"6","pid":"2830187","message":" 16:16:06.957991 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.377Z","priority":"6","pid":"2830187","message":" 16:16:06.958298 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.377Z","priority":"6","pid":"2830187","message":" 16:16:06.958330 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.378Z","priority":"6","pid":"2830187","message":" 16:16:06.958364 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.378Z","priority":"6","pid":"2830187","message":" 16:16:06.959156 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:07.378Z","priority":"6","pid":"2830187","message":" 16:16:06.959322 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:07.379Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:07.379Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:07.379Z","priority":"6","pid":"2830187","message":" 16:16:06.914408 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:07.379Z","priority":"6","pid":"2830187","message":" 16:16:06.914587 Listening on port 43163"}

data: {"time":"2026-09-19T16:16:07.380Z","priority":"6","pid":"2830187","message":" 16:16:06.914647 Wrote pid 87794 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:07.380Z","priority":"6","pid":"2830187","message":" 16:16:06.914678 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:07.380Z","priority":"6","pid":"2830187","message":" 16:16:06.914846 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:07.381Z","priority":"6","pid":"2830187","message":" 16:16:06.915478 ====> Client connect"}

data: {"time":"2026-09-19T16:16:07.381Z","priority":"6","pid":"2830187","message":" 16:16:06.916675 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:07.382Z","priority":"6","pid":"2830187","message":" 16:16:06.916699 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:07.382Z","priority":"6","pid":"2830187","message":" 16:16:06.917024 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:07.382Z","priority":"6","pid":"2830187","message":" 16:16:06.917076 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:07.383Z","priority":"6","pid":"2830187","message":" 16:16:06.917090 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:07.383Z","priority":"6","pid":"2830187","message":" 16:16:06.917313 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:07.383Z","priority":"6","pid":"2830187","message":" 16:16:06.917337 quits"}

data: {"time":"2026-09-19T16:16:07.383Z","priority":"6","pid":"2830187","message":" 16:16:06.917460 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:07.384Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:07.384Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:07.385Z","priority":"6","pid":"2830187","message":" Testnum 149"}

data: {"time":"2026-09-19T16:16:07.385Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:07.385Z","priority":"6","pid":"2830187","message":"=== Start of file upload149"}

data: {"time":"2026-09-19T16:16:07.385Z","priority":"6","pid":"2830187","message":" send away this contents"}

data: {"time":"2026-09-19T16:16:07.385Z","priority":"6","pid":"2830187","message":"=== End of file upload149"}

data: {"time":"2026-09-19T16:16:07.385Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind149"}

data: {"time":"2026-09-19T16:16:07.386Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:07.386Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:07.387Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:07.387Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.387Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:07.388Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:07.388Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:07.388Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:07.389Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:07.389Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.389Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:07.390Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:07.390Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:07.390Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:07.390Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:07.391Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:07.391Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:07.391Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.391Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:07.392Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:07.392Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.393Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:07.393Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:07.393Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:07.393Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.393Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:07.393Z","priority":"6","pid":"2830187","message":"=== End of file valgrind149"}

data: {"time":"2026-09-19T16:16:07.393Z","priority":"6","pid":"2830187","message":"test 0151 [HTTP GET with an error code that might trick authentication]"}

data: {"time":"2026-09-19T16:16:07.395Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind151 ../src/curl -q --output log/curl151.out  --include --trace-ascii log/trace151 --trace-time http://127.0.0.1:36137/151 > log/stdout151 2> log/stderr151"}

data: {"time":"2026-09-19T16:16:07.395Z","priority":"6","pid":"2830187","message":" 151: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:07.396Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:07.396Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:07.397Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 151"}

data: {"time":"2026-09-19T16:16:07.397Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:07.398Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind151 ../src/curl -q --output log/curl151.out  --include --trace-ascii log/trace151 --trace-time http://127.0.0.1:36137/151 > log/stdout151 2> log/stderr151"}

data: {"time":"2026-09-19T16:16:07.399Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:07.400Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:07.400Z","priority":"6","pid":"2830187","message":" 16:16:07.242234 ====> Client connect"}

data: {"time":"2026-09-19T16:16:07.400Z","priority":"6","pid":"2830187","message":" 16:16:07.242293 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:07.400Z","priority":"6","pid":"2830187","message":" 16:16:07.242513 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:07.400Z","priority":"6","pid":"2830187","message":" 16:16:07.242540 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:07.401Z","priority":"6","pid":"2830187","message":" 16:16:07.242559 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:07.402Z","priority":"6","pid":"2830187","message":" 16:16:07.242570 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:07.402Z","priority":"6","pid":"2830187","message":" 16:16:07.242619 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:07.595Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind152 ../src/curl -q --output log/curl152.out  --include --trace-ascii log/trace152 --trace-time http://127.0.0.1:36137/152 --fail > log/stdout152 2> log/stderr152"}

data: {"time":"2026-09-19T16:16:07.842Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind153 ../src/curl -q --include --trace-ascii log/trace153 --trace-time http://127.0.0.1:36137/1530001 -u testuser:testpass --digest http://127.0.0.1:36137/1530002 > log/stdout153 2> log/stderr153"}

data: {"time":"2026-09-19T16:16:07.846Z","priority":"6","pid":"2830187","message":" 16:16:07.242775 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:07.848Z","priority":"6","pid":"2830187","message":" 16:16:07.242914 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:07.848Z","priority":"6","pid":"2830187","message":" 16:16:07.242930 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:07.849Z","priority":"6","pid":"2830187","message":" 16:16:07.242939 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:07.850Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:07.851Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:07.851Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:07.853Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48434"}

data: {"time":"2026-09-19T16:16:07.853Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:07.853Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:07.854Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:07.854Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:07.854Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:07.854Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:07.855Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:07.855Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:07.855Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:07.855Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:07.856Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:07.856Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:07.856Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:07.856Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:07.857Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:07.857Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:07.857Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:07.858Z","priority":"6","pid":"2830187","message":" Testnum 151"}

data: {"time":"2026-09-19T16:16:07.858Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:07.858Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:07.859Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:07.859Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:07.859Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:07.860Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:07.860Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind151"}

data: {"time":"2026-09-19T16:16:07.860Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:07.861Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:07.861Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:07.861Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.861Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:07.862Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:07.862Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:07.863Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:07.863Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:07.863Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.864Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:07.864Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:07.864Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:07.865Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:07.865Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:07.866Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:07.866Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:07.867Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.867Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:07.867Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:07.867Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.868Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:07.868Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:07.868Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:07.869Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.869Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:07.869Z","priority":"6","pid":"2830187","message":"=== End of file valgrind151"}

data: {"time":"2026-09-19T16:16:07.870Z","priority":"6","pid":"2830187","message":"test 0152 [HTTP GET with an error code that might trick authentication and --fail]"}

data: {"time":"2026-09-19T16:16:07.871Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind152 ../src/curl -q --output log/curl152.out  --include --trace-ascii log/trace152 --trace-time http://127.0.0.1:36137/152 --fail > log/stdout152 2> log/stderr152"}

data: {"time":"2026-09-19T16:16:07.872Z","priority":"6","pid":"2830187","message":" 152: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:07.872Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:07.872Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:07.873Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 152"}

data: {"time":"2026-09-19T16:16:07.873Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:07.874Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind152 ../src/curl -q --output log/curl152.out  --include --trace-ascii log/trace152 --trace-time http://127.0.0.1:36137/152 --fail > log/stdout152 2> log/stderr152"}

data: {"time":"2026-09-19T16:16:07.875Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:07.875Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:07.875Z","priority":"6","pid":"2830187","message":" 16:16:07.509937 ====> Client connect"}

data: {"time":"2026-09-19T16:16:07.875Z","priority":"6","pid":"2830187","message":" 16:16:07.509991 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:07.876Z","priority":"6","pid":"2830187","message":" 16:16:07.510150 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:07.876Z","priority":"6","pid":"2830187","message":" 16:16:07.510167 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:07.877Z","priority":"6","pid":"2830187","message":" 16:16:07.510184 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:07.877Z","priority":"6","pid":"2830187","message":" 16:16:07.510193 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:07.877Z","priority":"6","pid":"2830187","message":" 16:16:07.510230 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:07.878Z","priority":"6","pid":"2830187","message":" 16:16:07.510251 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:07.878Z","priority":"6","pid":"2830187","message":" 16:16:07.510311 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:07.879Z","priority":"6","pid":"2830187","message":" 16:16:07.510355 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:07.879Z","priority":"6","pid":"2830187","message":" 16:16:07.510364 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:07.879Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:07.880Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:07.880Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:07.880Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48436"}

data: {"time":"2026-09-19T16:16:07.881Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:07.881Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:07.881Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:07.881Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:07.882Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:07.882Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:07.882Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:07.882Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:07.882Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:07.882Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:07.882Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:07.883Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:07.883Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:07.884Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:07.884Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:07.885Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:07.885Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:07.885Z","priority":"6","pid":"2830187","message":" Testnum 152"}

data: {"time":"2026-09-19T16:16:07.885Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:07.885Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:07.885Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:07.885Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:07.886Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:07.886Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:07.886Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind152"}

data: {"time":"2026-09-19T16:16:07.886Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:07.887Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:07.887Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:07.888Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.888Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:07.888Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:07.889Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:07.889Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:07.890Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:07.890Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.890Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:07.890Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:07.891Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:07.892Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:07.892Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:07.892Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:07.892Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:07.893Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.893Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:07.893Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:07.894Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.894Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:07.894Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:07.895Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:07.895Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:07.895Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:07.896Z","priority":"6","pid":"2830187","message":"=== End of file valgrind152"}

data: {"time":"2026-09-19T16:16:08.133Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind154 ../src/curl -q --output log/curl154.out  --include --trace-ascii log/trace154 --trace-time http://127.0.0.1:36137/154 -T log/put154 -u testuser:testpass --anyauth > log/stdout154 2> log/stderr154"}

data: {"time":"2026-09-19T16:16:08.136Z","priority":"6","pid":"2830187","message":"test 0153 [HTTP with Digest authorization with stale=true]"}

data: {"time":"2026-09-19T16:16:08.138Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind153 ../src/curl -q --include --trace-ascii log/trace153 --trace-time http://127.0.0.1:36137/1530001 -u testuser:testpass --digest http://127.0.0.1:36137/1530002 > log/stdout153 2> log/stderr153"}

data: {"time":"2026-09-19T16:16:08.139Z","priority":"6","pid":"2830187","message":" 153: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:08.139Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:07.846260642 +0000"}

data: {"time":"2026-09-19T16:16:08.139Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:07.844672039 +0000"}

data: {"time":"2026-09-19T16:16:08.139Z","priority":"6","pid":"2830187","message":"@@ -1,30 +0,0 @@"}

data: {"time":"2026-09-19T16:16:08.139Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 401 Authorization Required swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.140Z","priority":"6","pid":"2830187","message":"-Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.140Z","priority":"6","pid":"2830187","message":"-WWW-Authenticate: Digest realm=\"testrealm\", nonce=\"1053604145\"[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.140Z","priority":"6","pid":"2830187","message":"-Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.141Z","priority":"6","pid":"2830187","message":"-Content-Length: 26[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.141Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.141Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.141Z","priority":"6","pid":"2830187","message":"-Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.142Z","priority":"6","pid":"2830187","message":"-Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.142Z","priority":"6","pid":"2830187","message":"-Content-Length: 23[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.142Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.142Z","priority":"6","pid":"2830187","message":"-This IS the real page![LF]"}

data: {"time":"2026-09-19T16:16:08.143Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 401 Authorization Required swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.143Z","priority":"6","pid":"2830187","message":"-Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.143Z","priority":"6","pid":"2830187","message":"-WWW-Authenticate: Digest realm=\"testrealm\", nonce=\"1053604145\"[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.144Z","priority":"6","pid":"2830187","message":"-Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.144Z","priority":"6","pid":"2830187","message":"-Content-Length: 26[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.144Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.144Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.145Z","priority":"6","pid":"2830187","message":"-Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.145Z","priority":"6","pid":"2830187","message":"-WWW-Authenticate: Digest realm=\"testrealm\", algorithm=MD5, nonce=\"999999\", stale=true, qop=\"auth\"[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.145Z","priority":"6","pid":"2830187","message":"-Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.146Z","priority":"6","pid":"2830187","message":"-Content-Length: 26[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.146Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.146Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.146Z","priority":"6","pid":"2830187","message":"-Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.147Z","priority":"6","pid":"2830187","message":"-Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.147Z","priority":"6","pid":"2830187","message":"-Content-Length: 30[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.147Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.147Z","priority":"6","pid":"2830187","message":"-This IS the second real page![LF]"}

data: {"time":"2026-09-19T16:16:08.148Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 153"}

data: {"time":"2026-09-19T16:16:08.148Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:08.148Z","priority":"6","pid":"2830187","message":" HTTP/1.1 401 Authorization Required swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.148Z","priority":"6","pid":"2830187","message":" Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.149Z","priority":"6","pid":"2830187","message":" WWW-Authenticate: Digest realm=\"testrealm\", nonce=\"1053604145\"[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.149Z","priority":"6","pid":"2830187","message":" Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.149Z","priority":"6","pid":"2830187","message":" Content-Length: 26[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.149Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:16:08.149Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.150Z","priority":"6","pid":"2830187","message":" Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.150Z","priority":"6","pid":"2830187","message":" Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.150Z","priority":"6","pid":"2830187","message":" Content-Length: 23[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.150Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:16:08.151Z","priority":"6","pid":"2830187","message":" This IS the real page![LF]"}

data: {"time":"2026-09-19T16:16:08.152Z","priority":"6","pid":"2830187","message":" HTTP/1.1 401 Authorization Required swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.152Z","priority":"6","pid":"2830187","message":" Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.152Z","priority":"6","pid":"2830187","message":" WWW-Authenticate: Digest realm=\"testrealm\", nonce=\"1053604145\"[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.152Z","priority":"6","pid":"2830187","message":" Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.152Z","priority":"6","pid":"2830187","message":" Content-Length: 26[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.152Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:16:08.152Z","priority":"6","pid":"2830187","message":" HTTP/1.1 401 Authorization re-negotiation please swsbounce[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.153Z","priority":"6","pid":"2830187","message":" Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.153Z","priority":"6","pid":"2830187","message":" WWW-Authenticate: Digest realm=\"testrealm\", algorithm=MD5, nonce=\"999999\", stale=true, qop=\"auth\"[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.153Z","priority":"6","pid":"2830187","message":" Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.154Z","priority":"6","pid":"2830187","message":" Content-Length: 26[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.154Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:16:08.154Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.154Z","priority":"6","pid":"2830187","message":" Server: Apache/1.3.27 (Darwin) PHP/4.1.2[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.155Z","priority":"6","pid":"2830187","message":" Content-Type: text/html; charset=iso-8859-1[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.155Z","priority":"6","pid":"2830187","message":" Content-Length: 30[CR][LF]"}

data: {"time":"2026-09-19T16:16:08.155Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:16:08.155Z","priority":"6","pid":"2830187","message":" This IS the second real page![LF]"}

data: {"time":"2026-09-19T16:16:08.156Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:08.156Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:08.157Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind153 ../src/curl -q --include --trace-ascii log/trace153 --trace-time http://127.0.0.1:36137/1530001 -u testuser:testpass --digest http://127.0.0.1:36137/1530002 > log/stdout153 2> log/stderr153"}

data: {"time":"2026-09-19T16:16:08.157Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:08.158Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:08.158Z","priority":"6","pid":"2830187","message":" 16:16:07.714140 ====> Client connect"}

data: {"time":"2026-09-19T16:16:08.159Z","priority":"6","pid":"2830187","message":" 16:16:07.714187 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:08.159Z","priority":"6","pid":"2830187","message":" 16:16:07.714216 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:08.159Z","priority":"6","pid":"2830187","message":" 16:16:07.714227 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:08.160Z","priority":"6","pid":"2830187","message":" 16:16:07.714242 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:08.160Z","priority":"6","pid":"2830187","message":" 16:16:07.714252 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:08.160Z","priority":"6","pid":"2830187","message":" 16:16:07.714282 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:08.161Z","priority":"6","pid":"2830187","message":" 16:16:07.714301 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:08.161Z","priority":"6","pid":"2830187","message":" 16:16:07.714669 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:08.161Z","priority":"6","pid":"2830187","message":" 16:16:07.714687 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:08.161Z","priority":"6","pid":"2830187","message":" 16:16:07.714715 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:08.162Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:08.162Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:08.162Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:08.163Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48438"}

data: {"time":"2026-09-19T16:16:08.163Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:08.163Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:08.163Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:08.163Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:08.163Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:08.163Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:08.163Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:08.164Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:08.164Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:08.164Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:08.164Z","priority":"6","pid":"2830187","message":" { [1 bytes data]"}

data: {"time":"2026-09-19T16:16:08.164Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:08.165Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:08.165Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:08.165Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:08.165Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:08.166Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:08.166Z","priority":"6","pid":"2830187","message":" Testnum 153"}

data: {"time":"2026-09-19T16:16:08.166Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:08.166Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:08.166Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:08.166Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:08.166Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:08.167Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:08.167Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind153"}

data: {"time":"2026-09-19T16:16:08.167Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:08.167Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:08.168Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:08.168Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.168Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:08.169Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:08.169Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:08.169Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:08.170Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:08.171Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.171Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:08.171Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:08.171Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:08.172Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:08.172Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:08.173Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:08.173Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:08.174Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.174Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:08.174Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:08.174Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.175Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:08.175Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:08.176Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:08.176Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.176Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:08.176Z","priority":"6","pid":"2830187","message":"=== End of file valgrind153"}

data: {"time":"2026-09-19T16:16:08.176Z","priority":"6","pid":"2830187","message":"test 0154 [HTTP PUT with --anyauth authorization (picking Digest)]"}

data: {"time":"2026-09-19T16:16:08.178Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind154 ../src/curl -q --output log/curl154.out  --include --trace-ascii log/trace154 --trace-time http://127.0.0.1:36137/154 -T log/put154 -u testuser:testpass --anyauth > log/stdout154 2> log/stderr154"}

data: {"time":"2026-09-19T16:16:08.179Z","priority":"6","pid":"2830187","message":" 154: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:08.179Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:08.179Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:08.179Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 154"}

data: {"time":"2026-09-19T16:16:08.179Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:08.181Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind154 ../src/curl -q --output log/curl154.out  --include --trace-ascii log/trace154 --trace-time http://127.0.0.1:36137/154 -T log/put154 -u testuser:testpass --anyauth > log/stdout154 2> log/stderr154"}

data: {"time":"2026-09-19T16:16:08.181Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:08.182Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:08.182Z","priority":"6","pid":"2830187","message":" 16:16:08.015576 ====> Client connect"}

data: {"time":"2026-09-19T16:16:08.182Z","priority":"6","pid":"2830187","message":" 16:16:08.015632 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:08.183Z","priority":"6","pid":"2830187","message":" 16:16:08.015780 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:08.183Z","priority":"6","pid":"2830187","message":" 16:16:08.015796 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:08.183Z","priority":"6","pid":"2830187","message":" 16:16:08.015811 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:08.184Z","priority":"6","pid":"2830187","message":" 16:16:08.015823 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:08.184Z","priority":"6","pid":"2830187","message":" 16:16:08.015868 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:08.184Z","priority":"6","pid":"2830187","message":" 16:16:08.015893 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:08.185Z","priority":"6","pid":"2830187","message":" 16:16:08.015950 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:08.185Z","priority":"6","pid":"2830187","message":" 16:16:08.015961 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:08.186Z","priority":"6","pid":"2830187","message":" 16:16:08.015970 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:08.186Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:08.186Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:08.389Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind156 ../src/curl -q --output log/curl156.out  --include --trace-ascii log/trace156 --trace-time http://127.0.0.1:36137/156 -T log/put156 -u testuser:testpass --anyauth > log/stdout156 2> log/stderr156"}

data: {"time":"2026-09-19T16:16:08.623Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind157 ../src/curl -q --output log/curl157.out  --include --trace-ascii log/trace157 --trace-time http://127.0.0.1:36137/157 -u testuser:testpass --anyauth > log/stdout157 2> log/stderr157"}

data: {"time":"2026-09-19T16:16:08.628Z","priority":"6","pid":"2830187","message":"36137..."}

data: {"time":"2026-09-19T16:16:08.628Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48444"}

data: {"time":"2026-09-19T16:16:08.628Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:08.629Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:08.629Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:08.629Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:08.630Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:08.630Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:08.631Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:08.631Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:08.631Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:08.631Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:08.631Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:08.631Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:08.631Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:08.632Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:08.632Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:08.632Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:08.633Z","priority":"6","pid":"2830187","message":"=== Start of file put154"}

data: {"time":"2026-09-19T16:16:08.633Z","priority":"6","pid":"2830187","message":" This is data we upload with PUT"}

data: {"time":"2026-09-19T16:16:08.633Z","priority":"6","pid":"2830187","message":" a second line"}

data: {"time":"2026-09-19T16:16:08.633Z","priority":"6","pid":"2830187","message":" line three"}

data: {"time":"2026-09-19T16:16:08.634Z","priority":"6","pid":"2830187","message":" four is the number of lines"}

data: {"time":"2026-09-19T16:16:08.634Z","priority":"6","pid":"2830187","message":"=== End of file put154"}

data: {"time":"2026-09-19T16:16:08.634Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:08.634Z","priority":"6","pid":"2830187","message":" Testnum 154"}

data: {"time":"2026-09-19T16:16:08.635Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:08.635Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:08.635Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:08.636Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:08.636Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:08.636Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:08.636Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind154"}

data: {"time":"2026-09-19T16:16:08.636Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:08.636Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:08.637Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:08.637Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.638Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:08.638Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:08.638Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:08.638Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:08.639Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:08.639Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.639Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:08.640Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:08.641Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:08.641Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:08.643Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:08.643Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:08.645Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:08.645Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.646Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:08.646Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:08.646Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.646Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:08.647Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:08.648Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:08.648Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.649Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:08.649Z","priority":"6","pid":"2830187","message":"=== End of file valgrind154"}

data: {"time":"2026-09-19T16:16:08.650Z","priority":"6","pid":"2830187","message":"test 0156 [HTTP PUT with --anyauth (when the server requires none)]"}

data: {"time":"2026-09-19T16:16:08.652Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind156 ../src/curl -q --output log/curl156.out  --include --trace-ascii log/trace156 --trace-time http://127.0.0.1:36137/156 -T log/put156 -u testuser:testpass --anyauth > log/stdout156 2> log/stderr156"}

data: {"time":"2026-09-19T16:16:08.652Z","priority":"6","pid":"2830187","message":" 156: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:08.653Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:08.653Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:08.654Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 156"}

data: {"time":"2026-09-19T16:16:08.655Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:08.656Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind156 ../src/curl -q --output log/curl156.out  --include --trace-ascii log/trace156 --trace-time http://127.0.0.1:36137/156 -T log/put156 -u testuser:testpass --anyauth > log/stdout156 2> log/stderr156"}

data: {"time":"2026-09-19T16:16:08.656Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:08.656Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:08.656Z","priority":"6","pid":"2830187","message":" 16:16:08.290628 ====> Client connect"}

data: {"time":"2026-09-19T16:16:08.657Z","priority":"6","pid":"2830187","message":" 16:16:08.290690 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:08.657Z","priority":"6","pid":"2830187","message":" 16:16:08.290949 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:08.657Z","priority":"6","pid":"2830187","message":" 16:16:08.290973 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:08.658Z","priority":"6","pid":"2830187","message":" 16:16:08.290987 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:08.658Z","priority":"6","pid":"2830187","message":" 16:16:08.290995 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:08.659Z","priority":"6","pid":"2830187","message":" 16:16:08.291049 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:08.659Z","priority":"6","pid":"2830187","message":" 16:16:08.291074 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:08.659Z","priority":"6","pid":"2830187","message":" 16:16:08.291175 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:08.660Z","priority":"6","pid":"2830187","message":" 16:16:08.291190 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:08.660Z","priority":"6","pid":"2830187","message":" 16:16:08.291199 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:08.660Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:08.661Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:08.661Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:08.661Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48448"}

data: {"time":"2026-09-19T16:16:08.662Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:08.662Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:08.662Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:08.663Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:08.663Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:08.663Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:08.663Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:08.664Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:08.664Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:08.664Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:08.664Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:08.665Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:08.665Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:08.666Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:08.666Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:08.666Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:08.666Z","priority":"6","pid":"2830187","message":"=== Start of file put156"}

data: {"time":"2026-09-19T16:16:08.667Z","priority":"6","pid":"2830187","message":" This is data we upload with PUT"}

data: {"time":"2026-09-19T16:16:08.667Z","priority":"6","pid":"2830187","message":" a second line"}

data: {"time":"2026-09-19T16:16:08.667Z","priority":"6","pid":"2830187","message":" line three"}

data: {"time":"2026-09-19T16:16:08.668Z","priority":"6","pid":"2830187","message":" four is the number of lines"}

data: {"time":"2026-09-19T16:16:08.668Z","priority":"6","pid":"2830187","message":"=== End of file put156"}

data: {"time":"2026-09-19T16:16:08.668Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:08.668Z","priority":"6","pid":"2830187","message":" Testnum 156"}

data: {"time":"2026-09-19T16:16:08.669Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:08.669Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:08.669Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:08.670Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:08.670Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:08.670Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:08.671Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind156"}

data: {"time":"2026-09-19T16:16:08.671Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:08.671Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:08.671Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:08.672Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.672Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:08.673Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:08.673Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:08.673Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:08.674Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:08.674Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.674Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:08.675Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:08.675Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:08.676Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:08.676Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:08.676Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:08.677Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:08.678Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.678Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:08.678Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:08.678Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.678Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:08.679Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:08.679Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:08.680Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:08.680Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:08.680Z","priority":"6","pid":"2830187","message":"=== End of file valgrind156"}

data: {"time":"2026-09-19T16:16:08.681Z","priority":"6","pid":"2830187","message":"test 0157 [HTTP GET with --anyauth (when the server requires none)]"}

data: {"time":"2026-09-19T16:16:08.682Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind157 ../src/curl -q --output log/curl157.out  --include --trace-ascii log/trace157 --trace-time http://127.0.0.1:36137/157 -u testuser:testpass --anyauth > log/stdout157 2> log/stderr157"}

data: {"time":"2026-09-19T16:16:08.683Z","priority":"6","pid":"2830187","message":" 157: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:08.683Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:08.683Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:08.684Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 157"}

data: {"time":"2026-09-19T16:16:08.684Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:08.685Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind157 ../src/curl -q --output log/curl157.out  --include --trace-ascii log/trace157 --trace-time http://127.0.0.1:36137/157 -u testuser:testpass --anyauth > log/stdout157 2> log/stderr157"}

data: {"time":"2026-09-19T16:16:08.685Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:08.686Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:08.686Z","priority":"6","pid":"2830187","message":" 16:16:08.513797 ====> Client connect"}

data: {"time":"2026-09-19T16:16:08.686Z","priority":"6","pid":"2830187","message":" 16:16:08.513864 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:08.687Z","priority":"6","pid":"2830187","message":" 16:16:08.514093 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:08.687Z","priority":"6","pid":"2830187","message":" 16:16:08.514119 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:08.687Z","priority":"6","pid":"2830187","message":" 16:16:08.514139 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:08.688Z","priority":"6","pid":"2830187","message":" 16:16:08.514151 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:08.688Z","priority":"6","pid":"2830187","message":" 16:16:08.514200 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:08.688Z","priority":"6","pid":"2830187","message":" 16:16:08.514227 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:08.689Z","priority":"6","pid":"2830187","message":" 16:16:08.514348 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:08.689Z","priority":"6","pid":"2830187","message":" 16:16:08.514362 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:08.689Z","priority":"6","pid":"2830187","message":" 16:16:08.514372 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:08.690Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:08.690Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:08.690Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:08.691Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48456"}

data: {"time":"2026-09-19T16:16:08.691Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:08.691Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:08.691Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:08.691Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:08.908Z","priority":"6","pid":"2830187","message":" > Accept: *CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind158 ../src/curl -q --output log/curl158.out  --include --trace-ascii log/trace158 --trace-time http://127.0.0.1:36137/158 -F name=daniel > log/stdout158 2> log/stderr158"}

data: {"time":"2026-09-19T16:16:09.116Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind160 ../src/curl -q --include --trace-ascii log/trace160 --trace-time http://127.0.0.1:36137/want/160 http://127.0.0.1:36137/wantmore/1600001 > log/stdout160 2> log/stderr160"}

data: {"time":"2026-09-19T16:16:09.120Z","priority":"6","pid":"2830187","message":"/*"}

data: {"time":"2026-09-19T16:16:09.120Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:09.120Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:09.120Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:09.120Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:09.121Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:09.121Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:09.121Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:09.121Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:09.121Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:09.122Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:09.122Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:09.122Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:09.122Z","priority":"6","pid":"2830187","message":" Testnum 157"}

data: {"time":"2026-09-19T16:16:09.123Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:09.123Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:09.123Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:09.124Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:09.124Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:09.124Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:09.124Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind157"}

data: {"time":"2026-09-19T16:16:09.124Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:09.125Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:09.125Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:09.125Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.126Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:09.126Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:09.127Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:09.127Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:09.127Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:09.128Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.128Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:09.128Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:09.129Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:09.129Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:09.130Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:09.130Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:09.130Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:09.131Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.131Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:09.131Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:09.132Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.132Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:09.133Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:09.133Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:09.133Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.133Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:09.134Z","priority":"6","pid":"2830187","message":"=== End of file valgrind157"}

data: {"time":"2026-09-19T16:16:09.134Z","priority":"6","pid":"2830187","message":"test 0158 [HTTP multipart formpost with only a 100 reply]"}

data: {"time":"2026-09-19T16:16:09.135Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind158 ../src/curl -q --output log/curl158.out  --include --trace-ascii log/trace158 --trace-time http://127.0.0.1:36137/158 -F name=daniel > log/stdout158 2> log/stderr158"}

data: {"time":"2026-09-19T16:16:09.136Z","priority":"6","pid":"2830187","message":" 158: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:09.136Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:09.137Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:09.137Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 158"}

data: {"time":"2026-09-19T16:16:09.138Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:09.139Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind158 ../src/curl -q --output log/curl158.out  --include --trace-ascii log/trace158 --trace-time http://127.0.0.1:36137/158 -F name=daniel > log/stdout158 2> log/stderr158"}

data: {"time":"2026-09-19T16:16:09.139Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:09.139Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:09.140Z","priority":"6","pid":"2830187","message":" 16:16:08.801588 ====> Client connect"}

data: {"time":"2026-09-19T16:16:09.140Z","priority":"6","pid":"2830187","message":" 16:16:08.801634 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:09.140Z","priority":"6","pid":"2830187","message":" 16:16:08.801772 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:09.141Z","priority":"6","pid":"2830187","message":" 16:16:08.801787 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:09.141Z","priority":"6","pid":"2830187","message":" 16:16:08.801803 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:09.141Z","priority":"6","pid":"2830187","message":" 16:16:08.801813 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:09.142Z","priority":"6","pid":"2830187","message":" 16:16:08.801848 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:09.143Z","priority":"6","pid":"2830187","message":" 16:16:08.801868 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:09.143Z","priority":"6","pid":"2830187","message":" 16:16:08.801927 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:09.143Z","priority":"6","pid":"2830187","message":" 16:16:08.801941 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:09.144Z","priority":"6","pid":"2830187","message":" 16:16:08.801950 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:09.144Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:09.144Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:09.144Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:09.145Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48466"}

data: {"time":"2026-09-19T16:16:09.145Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:09.145Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:09.145Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:09.145Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:09.146Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:09.146Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:09.146Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:09.147Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:09.147Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:09.147Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:09.148Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:09.148Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:09.148Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:09.148Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:09.148Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:09.149Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:09.149Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:09.149Z","priority":"6","pid":"2830187","message":" Testnum 158"}

data: {"time":"2026-09-19T16:16:09.149Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:09.149Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:09.150Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:09.150Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:09.150Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:09.150Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:09.151Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind158"}

data: {"time":"2026-09-19T16:16:09.151Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:09.151Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:09.152Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:09.152Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.152Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:09.152Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:09.153Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:09.153Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:09.154Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:09.154Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.154Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:09.154Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:09.154Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:09.155Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:09.155Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:09.155Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:09.156Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:09.156Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.156Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:09.157Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:09.157Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.157Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:09.157Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:09.157Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:09.158Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.158Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:09.158Z","priority":"6","pid":"2830187","message":"=== End of file valgrind158"}

data: {"time":"2026-09-19T16:16:09.441Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind161 ../src/curl -q --output log/curl161.out  --include --trace-ascii log/trace161 --trace-time ftp://127.0.0.1:40545/161 > log/stdout161 2> log/stderr161"}

data: {"time":"2026-09-19T16:16:09.445Z","priority":"6","pid":"2830187","message":"test 0160 [HTTP with delayed close, conn reuse, connection reset and retry]"}

data: {"time":"2026-09-19T16:16:09.447Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind160 ../src/curl -q --include --trace-ascii log/trace160 --trace-time http://127.0.0.1:36137/want/160 http://127.0.0.1:36137/wantmore/1600001 > log/stdout160 2> log/stderr160"}

data: {"time":"2026-09-19T16:16:09.447Z","priority":"6","pid":"2830187","message":" 160: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:09.448Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:09.119619401 +0000"}

data: {"time":"2026-09-19T16:16:09.448Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:09.118732549 +0000"}

data: {"time":"2026-09-19T16:16:09.449Z","priority":"6","pid":"2830187","message":"@@ -1,10 +0,0 @@"}

data: {"time":"2026-09-19T16:16:09.449Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.449Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.450Z","priority":"6","pid":"2830187","message":"-Content-Length: 9[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.450Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.450Z","priority":"6","pid":"2830187","message":"-surprise[LF]"}

data: {"time":"2026-09-19T16:16:09.450Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.451Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.451Z","priority":"6","pid":"2830187","message":"-Connection: close[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.451Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.452Z","priority":"6","pid":"2830187","message":"-surprise2[LF]"}

data: {"time":"2026-09-19T16:16:09.452Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 160"}

data: {"time":"2026-09-19T16:16:09.452Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:09.453Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.454Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.454Z","priority":"6","pid":"2830187","message":" Content-Length: 9[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.454Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:16:09.454Z","priority":"6","pid":"2830187","message":" surprise[LF]"}

data: {"time":"2026-09-19T16:16:09.454Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.454Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.454Z","priority":"6","pid":"2830187","message":" Connection: close[CR][LF]"}

data: {"time":"2026-09-19T16:16:09.455Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:16:09.455Z","priority":"6","pid":"2830187","message":" surprise2[LF]"}

data: {"time":"2026-09-19T16:16:09.455Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:09.455Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:09.457Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind160 ../src/curl -q --include --trace-ascii log/trace160 --trace-time http://127.0.0.1:36137/want/160 http://127.0.0.1:36137/wantmore/1600001 > log/stdout160 2> log/stderr160"}

data: {"time":"2026-09-19T16:16:09.458Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:09.458Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:09.458Z","priority":"6","pid":"2830187","message":" 16:16:09.029155 ====> Client connect"}

data: {"time":"2026-09-19T16:16:09.458Z","priority":"6","pid":"2830187","message":" 16:16:09.029196 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:09.458Z","priority":"6","pid":"2830187","message":" 16:16:09.029430 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:09.459Z","priority":"6","pid":"2830187","message":" 16:16:09.029453 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:09.459Z","priority":"6","pid":"2830187","message":" 16:16:09.029468 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:09.459Z","priority":"6","pid":"2830187","message":" 16:16:09.029479 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:09.460Z","priority":"6","pid":"2830187","message":" 16:16:09.029519 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:09.460Z","priority":"6","pid":"2830187","message":" 16:16:09.029539 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:09.461Z","priority":"6","pid":"2830187","message":" 16:16:09.029614 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:09.461Z","priority":"6","pid":"2830187","message":" 16:16:09.029625 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:09.461Z","priority":"6","pid":"2830187","message":" 16:16:09.029634 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:09.462Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:09.462Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:09.462Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:09.463Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48480"}

data: {"time":"2026-09-19T16:16:09.463Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:09.463Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:09.464Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:09.464Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:09.464Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:09.464Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:09.465Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:09.466Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:09.466Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:09.466Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:09.466Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:09.466Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:09.466Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:09.467Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:09.467Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:09.467Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:09.467Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:09.468Z","priority":"6","pid":"2830187","message":" Testnum 160"}

data: {"time":"2026-09-19T16:16:09.468Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:09.468Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:09.468Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:09.468Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:09.469Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:09.469Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:09.469Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind160"}

data: {"time":"2026-09-19T16:16:09.470Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:09.470Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:09.471Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:09.471Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.471Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:09.472Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:09.472Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:09.473Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:09.473Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:09.473Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.473Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:09.474Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:09.474Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:09.475Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:09.476Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:09.476Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:09.476Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:09.476Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.476Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:09.477Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:09.477Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.477Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:09.478Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:09.478Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:09.478Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.479Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:09.479Z","priority":"6","pid":"2830187","message":"=== End of file valgrind160"}

data: {"time":"2026-09-19T16:16:09.479Z","priority":"6","pid":"2830187","message":"test 0161 [FTP RETR partial file]"}

data: {"time":"2026-09-19T16:16:09.481Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind161 ../src/curl -q --output log/curl161.out  --include --trace-ascii log/trace161 --trace-time ftp://127.0.0.1:40545/161 > log/stdout161 2> log/stderr161"}

data: {"time":"2026-09-19T16:16:09.481Z","priority":"6","pid":"2830187","message":" 161: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:09.481Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:09.482Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:09.482Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 161"}

data: {"time":"2026-09-19T16:16:09.483Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:09.484Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind161 ../src/curl -q --output log/curl161.out  --include --trace-ascii log/trace161 --trace-time ftp://127.0.0.1:40545/161 > log/stdout161 2> log/stderr161"}

data: {"time":"2026-09-19T16:16:09.484Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:09.484Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:09.485Z","priority":"6","pid":"2830187","message":" 16:16:09.207948 ====> Client connect"}

data: {"time":"2026-09-19T16:16:09.485Z","priority":"6","pid":"2830187","message":" 16:16:09.208311 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.486Z","priority":"6","pid":"2830187","message":" 16:16:09.209033 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:09.486Z","priority":"6","pid":"2830187","message":" 16:16:09.209414 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.486Z","priority":"6","pid":"2830187","message":" 16:16:09.209576 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:09.487Z","priority":"6","pid":"2830187","message":" 16:16:09.209630 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.488Z","priority":"6","pid":"2830187","message":" 16:16:09.209930 < \"PWD\""}

data: {"time":"2026-09-19T16:16:09.488Z","priority":"6","pid":"2830187","message":" 16:16:09.209999 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.488Z","priority":"6","pid":"2830187","message":" 16:16:09.210377 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:09.488Z","priority":"6","pid":"2830187","message":" 16:16:09.210430 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:09.489Z","priority":"6","pid":"2830187","message":" 16:16:09.210453 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:09.489Z","priority":"6","pid":"2830187","message":" 16:16:09.214184 DATA sockfilt for passive data channel started (pid 88397)"}

data: {"time":"2026-09-19T16:16:09.490Z","priority":"6","pid":"2830187","message":" 16:16:09.214489 DATA sockfilt for passive data channel listens on port 46101"}

data: {"time":"2026-09-19T16:16:09.490Z","priority":"6","pid":"2830187","message":" 16:16:09.214594 > \"229 Entering Passive Mode (|||46101|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.491Z","priority":"6","pid":"2830187","message":" 16:16:09.214625 Client has been notified that upcoming DATA connection is awaited on port 46101"}

data: {"time":"2026-09-19T16:16:09.491Z","priority":"6","pid":"2830187","message":" 16:16:09.215097 Client connects to port 46101"}

data: {"time":"2026-09-19T16:16:09.492Z","priority":"6","pid":"2830187","message":" 16:16:09.215167 ====> Client established passive DATA connection on port 46101"}

data: {"time":"2026-09-19T16:16:09.492Z","priority":"6","pid":"2830187","message":" 16:16:09.215560 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:09.492Z","priority":"6","pid":"2830187","message":" 16:16:09.215627 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.493Z","priority":"6","pid":"2830187","message":" 16:16:09.216013 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:09.493Z","priority":"6","pid":"2830187","message":" 16:16:09.216100 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.493Z","priority":"6","pid":"2830187","message":" 16:16:09.216440 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:09.494Z","priority":"6","pid":"2830187","message":" 16:16:09.216510 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.494Z","priority":"6","pid":"2830187","message":" 16:16:09.216976 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:09.495Z","priority":"6","pid":"2830187","message":" 16:16:09.217015 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:09.496Z","priority":"6","pid":"2830187","message":" 16:16:09.217308 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:09.496Z","priority":"6","pid":"2830187","message":" 16:16:09.217400 DATA sockfilt for passive data channel quits (pid 88397)"}

data: {"time":"2026-09-19T16:16:09.496Z","priority":"6","pid":"2830187","message":" 16:16:09.217905 DATA sockfilt for passive data channel quit (pid 88397)"}

data: {"time":"2026-09-19T16:16:09.497Z","priority":"6","pid":"2830187","message":" 16:16:09.217972 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:09.497Z","priority":"6","pid":"2830187","message":" 16:16:09.218037 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.497Z","priority":"6","pid":"2830187","message":" 16:16:09.258205 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:09.498Z","priority":"6","pid":"2830187","message":" 16:16:09.259283 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:09.498Z","priority":"6","pid":"2830187","message":" 16:16:09.259519 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:09.499Z","priority":"6","pid":"2830187","message":" 16:16:09.259594 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:09.499Z","priority":"6","pid":"2830187","message":" 16:16:09.259832 Awaiting input"}

data: {"time":"2026-09-19T16:16:09.499Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:09.500Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:09.500Z","priority":"6","pid":"2830187","message":" 16:16:09.278645 ====> Client connect"}

data: {"time":"2026-09-19T16:16:09.500Z","priority":"6","pid":"2830187","message":" 16:16:09.279378 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.501Z","priority":"6","pid":"2830187","message":" 16:16:09.279427 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.501Z","priority":"6","pid":"2830187","message":" 16:16:09.279443 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:09.502Z","priority":"6","pid":"2830187","message":" 16:16:09.279457 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.503Z","priority":"6","pid":"2830187","message":" 16:16:09.279469 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.503Z","priority":"6","pid":"2830187","message":" 16:16:09.279627 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:09.503Z","priority":"6","pid":"2830187","message":" 16:16:09.279652 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.503Z","priority":"6","pid":"2830187","message":" 16:16:09.280009 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.503Z","priority":"6","pid":"2830187","message":" 16:16:09.280032 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.504Z","priority":"6","pid":"2830187","message":" 16:16:09.280062 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.504Z","priority":"6","pid":"2830187","message":" 16:16:09.280167 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:09.504Z","priority":"6","pid":"2830187","message":" 16:16:09.280188 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.738Z","priority":"6","pid":"2830187","message":" 16:16:09.2805CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind163 ../src/curl -q --output log/curl163.out  --include --trace-ascii log/trace163 --trace-time http://127.0.0.1:36137/we/want/163 -F \"name=<log/field163\" -F tool=curl > log/stdout163 2> log/stderr163"}

data: {"time":"2026-09-19T16:16:09.958Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind164 ../src/curl -q --output log/curl164.out  --include --trace-ascii log/trace164 --trace-time http://127.0.0.1:36137/want/164 -r 0-10,12-15 > log/stdout164 2> log/stderr164"}

data: {"time":"2026-09-19T16:16:09.961Z","priority":"6","pid":"2830187","message":"70 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.962Z","priority":"6","pid":"2830187","message":" 16:16:09.280591 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.962Z","priority":"6","pid":"2830187","message":" 16:16:09.280605 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.963Z","priority":"6","pid":"2830187","message":" 16:16:09.280702 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:09.963Z","priority":"6","pid":"2830187","message":" 16:16:09.280719 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.964Z","priority":"6","pid":"2830187","message":" 16:16:09.280948 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.964Z","priority":"6","pid":"2830187","message":" 16:16:09.280969 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.965Z","priority":"6","pid":"2830187","message":" 16:16:09.280983 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.965Z","priority":"6","pid":"2830187","message":" 16:16:09.281162 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:09.966Z","priority":"6","pid":"2830187","message":" 16:16:09.281188 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.966Z","priority":"6","pid":"2830187","message":" 16:16:09.285593 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.966Z","priority":"6","pid":"2830187","message":" 16:16:09.285627 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.967Z","priority":"6","pid":"2830187","message":" 16:16:09.285643 '229 Entering Passive Mode (|||46101|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.967Z","priority":"6","pid":"2830187","message":" 16:16:09.286267 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:09.967Z","priority":"6","pid":"2830187","message":" 16:16:09.286297 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.968Z","priority":"6","pid":"2830187","message":" 16:16:09.286601 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.968Z","priority":"6","pid":"2830187","message":" 16:16:09.286649 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.969Z","priority":"6","pid":"2830187","message":" 16:16:09.286663 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.969Z","priority":"6","pid":"2830187","message":" 16:16:09.286765 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:09.969Z","priority":"6","pid":"2830187","message":" 16:16:09.286785 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.970Z","priority":"6","pid":"2830187","message":" 16:16:09.287043 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.970Z","priority":"6","pid":"2830187","message":" 16:16:09.287065 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.971Z","priority":"6","pid":"2830187","message":" 16:16:09.287077 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.971Z","priority":"6","pid":"2830187","message":" 16:16:09.287186 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:09.971Z","priority":"6","pid":"2830187","message":" 16:16:09.287208 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.972Z","priority":"6","pid":"2830187","message":" 16:16:09.287529 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.973Z","priority":"6","pid":"2830187","message":" 16:16:09.287548 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.973Z","priority":"6","pid":"2830187","message":" 16:16:09.287562 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.973Z","priority":"6","pid":"2830187","message":" 16:16:09.288982 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.973Z","priority":"6","pid":"2830187","message":" 16:16:09.289007 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.974Z","priority":"6","pid":"2830187","message":" 16:16:09.289020 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.974Z","priority":"6","pid":"2830187","message":" 16:16:09.328688 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:09.975Z","priority":"6","pid":"2830187","message":" 16:16:09.328768 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.975Z","priority":"6","pid":"2830187","message":" 16:16:09.329261 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.975Z","priority":"6","pid":"2830187","message":" 16:16:09.329300 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.976Z","priority":"6","pid":"2830187","message":" 16:16:09.329336 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.976Z","priority":"6","pid":"2830187","message":" 16:16:09.330351 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:09.976Z","priority":"6","pid":"2830187","message":" 16:16:09.330789 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:09.977Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:09.977Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:09.978Z","priority":"6","pid":"2830187","message":" 16:16:09.284728 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:09.978Z","priority":"6","pid":"2830187","message":" 16:16:09.284913 Listening on port 46101"}

data: {"time":"2026-09-19T16:16:09.978Z","priority":"6","pid":"2830187","message":" 16:16:09.284973 Wrote pid 88397 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:09.979Z","priority":"6","pid":"2830187","message":" 16:16:09.285010 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:09.979Z","priority":"6","pid":"2830187","message":" 16:16:09.285198 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:09.979Z","priority":"6","pid":"2830187","message":" 16:16:09.285936 ====> Client connect"}

data: {"time":"2026-09-19T16:16:09.980Z","priority":"6","pid":"2830187","message":" 16:16:09.287470 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:09.980Z","priority":"6","pid":"2830187","message":" 16:16:09.287505 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:09.980Z","priority":"6","pid":"2830187","message":" 16:16:09.287675 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:09.981Z","priority":"6","pid":"2830187","message":" 16:16:09.288096 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:09.981Z","priority":"6","pid":"2830187","message":" 16:16:09.288129 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:09.982Z","priority":"6","pid":"2830187","message":" 16:16:09.288336 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:09.983Z","priority":"6","pid":"2830187","message":" 16:16:09.288354 quits"}

data: {"time":"2026-09-19T16:16:09.983Z","priority":"6","pid":"2830187","message":" 16:16:09.288487 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:09.983Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:09.983Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:09.983Z","priority":"6","pid":"2830187","message":" Testnum 161"}

data: {"time":"2026-09-19T16:16:09.983Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:09.984Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind161"}

data: {"time":"2026-09-19T16:16:09.984Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:09.985Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:09.985Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:09.985Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.985Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:09.986Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:09.986Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:09.987Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:09.988Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:09.988Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.988Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:09.989Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:09.989Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:09.991Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:09.992Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:09.993Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:09.994Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:09.994Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.994Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:09.995Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:09.996Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:09.997Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:09.998Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:09.998Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:10.000Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.000Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:10.001Z","priority":"6","pid":"2830187","message":"=== End of file valgrind161"}

data: {"time":"2026-09-19T16:16:10.003Z","priority":"6","pid":"2830187","message":"test 0163 [HTTP multipart formpost with contents from a file]"}

data: {"time":"2026-09-19T16:16:10.005Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind163 ../src/curl -q --output log/curl163.out  --include --trace-ascii log/trace163 --trace-time http://127.0.0.1:36137/we/want/163 -F \"name=<log/field163\" -F tool=curl > log/stdout163 2> log/stderr163"}

data: {"time":"2026-09-19T16:16:10.006Z","priority":"6","pid":"2830187","message":" 163: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:10.006Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:10.007Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:10.007Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 163"}

data: {"time":"2026-09-19T16:16:10.008Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:10.009Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind163 ../src/curl -q --output log/curl163.out  --include --trace-ascii log/trace163 --trace-time http://127.0.0.1:36137/we/want/163 -F \"name=<log/field163\" -F tool=curl > log/stdout163 2> log/stderr163"}

data: {"time":"2026-09-19T16:16:10.010Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:10.010Z","priority":"6","pid":"2830187","message":"=== Start of file field163"}

data: {"time":"2026-09-19T16:16:10.010Z","priority":"6","pid":"2830187","message":" contents"}

data: {"time":"2026-09-19T16:16:10.010Z","priority":"6","pid":"2830187","message":" from"}

data: {"time":"2026-09-19T16:16:10.010Z","priority":"6","pid":"2830187","message":" a"}

data: {"time":"2026-09-19T16:16:10.010Z","priority":"6","pid":"2830187","message":" file"}

data: {"time":"2026-09-19T16:16:10.010Z","priority":"6","pid":"2830187","message":" newlinens?"}

data: {"time":"2026-09-19T16:16:10.011Z","priority":"6","pid":"2830187","message":" yes please"}

data: {"time":"2026-09-19T16:16:10.011Z","priority":"6","pid":"2830187","message":"         "}

data: {"time":"2026-09-19T16:16:10.011Z","priority":"6","pid":"2830187","message":" [tab][CR] too"}

data: {"time":"2026-09-19T16:16:10.012Z","priority":"6","pid":"2830187","message":"=== End of file field163"}

data: {"time":"2026-09-19T16:16:10.012Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:10.013Z","priority":"6","pid":"2830187","message":" 16:16:09.613614 ====> Client connect"}

data: {"time":"2026-09-19T16:16:10.013Z","priority":"6","pid":"2830187","message":" 16:16:09.613670 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:10.013Z","priority":"6","pid":"2830187","message":" 16:16:09.613704 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:10.014Z","priority":"6","pid":"2830187","message":" 16:16:09.613718 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:10.014Z","priority":"6","pid":"2830187","message":" 16:16:09.613738 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:10.014Z","priority":"6","pid":"2830187","message":" 16:16:09.613750 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:10.015Z","priority":"6","pid":"2830187","message":" 16:16:09.613783 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:10.015Z","priority":"6","pid":"2830187","message":" 16:16:09.613802 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:10.016Z","priority":"6","pid":"2830187","message":" 16:16:09.613904 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:10.016Z","priority":"6","pid":"2830187","message":" 16:16:09.613917 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:10.017Z","priority":"6","pid":"2830187","message":" 16:16:09.613927 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:10.017Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:10.017Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:10.017Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:10.018Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48482"}

data: {"time":"2026-09-19T16:16:10.018Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:10.019Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:10.019Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:10.020Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:10.020Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:10.020Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:10.020Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:10.020Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:10.020Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:10.020Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:10.021Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:10.021Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:10.022Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:10.022Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:10.022Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:10.022Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:10.023Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:10.023Z","priority":"6","pid":"2830187","message":" Testnum 163"}

data: {"time":"2026-09-19T16:16:10.023Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:10.024Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:10.024Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:10.025Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:10.025Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:10.025Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:10.025Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind163"}

data: {"time":"2026-09-19T16:16:10.025Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:10.026Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:10.026Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:10.027Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.027Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:10.027Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:10.028Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:10.028Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:10.029Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:10.030Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.030Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:10.030Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:10.031Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:10.031Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:10.032Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:10.032Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:10.032Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:10.033Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.033Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:10.034Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:10.034Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.034Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:10.035Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:10.035Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:10.036Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.036Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:10.036Z","priority":"6","pid":"2830187","message":"=== End of file valgrind163"}

data: {"time":"2026-09-19T16:16:10.037Z","priority":"6","pid":"2830187","message":"test 0164 [HTTP range with multiple ranges]"}

data: {"time":"2026-09-19T16:16:10.248Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind164 ../src/curl -q --output log/curl164.out  --include --trace-ascii log/trace1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind165 ../src/curl -q --output log/curl165.out  --include --trace-ascii log/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:36137 http://www.große.de/page/165 > log/stdout165 2> log/stderr165"}

data: {"time":"2026-09-19T16:16:10.487Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind166 ../src/curl -q --output log/curl166.out  --include --trace-ascii log/trace166 --trace-time http://127.0.0.1:36137/we/want/166 -F \"name=@log/fie ld 166\" > log/stdout166 2> log/stderr166"}

data: {"time":"2026-09-19T16:16:10.491Z","priority":"6","pid":"2830187","message":"64 --trace-time http://127.0.0.1:36137/want/164 -r 0-10,12-15 > log/stdout164 2> log/stderr164"}

data: {"time":"2026-09-19T16:16:10.492Z","priority":"6","pid":"2830187","message":" 164: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:10.493Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:10.493Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:10.494Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 164"}

data: {"time":"2026-09-19T16:16:10.494Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:10.495Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind164 ../src/curl -q --output log/curl164.out  --include --trace-ascii log/trace164 --trace-time http://127.0.0.1:36137/want/164 -r 0-10,12-15 > log/stdout164 2> log/stderr164"}

data: {"time":"2026-09-19T16:16:10.496Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:10.496Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:10.496Z","priority":"6","pid":"2830187","message":" 16:16:09.865389 ====> Client connect"}

data: {"time":"2026-09-19T16:16:10.497Z","priority":"6","pid":"2830187","message":" 16:16:09.865443 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:10.498Z","priority":"6","pid":"2830187","message":" 16:16:09.865473 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:10.498Z","priority":"6","pid":"2830187","message":" 16:16:09.865484 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:10.498Z","priority":"6","pid":"2830187","message":" 16:16:09.865499 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:10.498Z","priority":"6","pid":"2830187","message":" 16:16:09.865509 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:10.499Z","priority":"6","pid":"2830187","message":" 16:16:09.865546 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:10.500Z","priority":"6","pid":"2830187","message":" 16:16:09.865570 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:10.500Z","priority":"6","pid":"2830187","message":" 16:16:09.865680 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:10.501Z","priority":"6","pid":"2830187","message":" 16:16:09.865696 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:10.502Z","priority":"6","pid":"2830187","message":" 16:16:09.865706 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:10.502Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:10.504Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:10.504Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:10.505Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48492"}

data: {"time":"2026-09-19T16:16:10.505Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:10.506Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:10.507Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:10.507Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:10.508Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:10.508Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:10.508Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:10.508Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:10.509Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:10.509Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:10.509Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:10.509Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:10.510Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:10.510Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:10.510Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:10.511Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:10.511Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:10.511Z","priority":"6","pid":"2830187","message":" Testnum 164"}

data: {"time":"2026-09-19T16:16:10.512Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:10.512Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:10.512Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:10.513Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:10.513Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:10.513Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:10.514Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind164"}

data: {"time":"2026-09-19T16:16:10.515Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:10.515Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:10.515Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:10.516Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.516Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:10.517Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:10.517Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:10.518Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:10.518Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:10.519Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.519Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:10.520Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:10.520Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:10.521Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:10.522Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:10.522Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:10.522Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:10.522Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.523Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:10.523Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:10.523Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.524Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:10.524Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:10.525Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:10.525Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.525Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:10.526Z","priority":"6","pid":"2830187","message":"=== End of file valgrind164"}

data: {"time":"2026-09-19T16:16:10.526Z","priority":"6","pid":"2830187","message":"setenv LC_ALL = C.UTF-8"}

data: {"time":"2026-09-19T16:16:10.527Z","priority":"6","pid":"2830187","message":"test 0165 [HTTP over proxy with IDN hostname]"}

data: {"time":"2026-09-19T16:16:10.528Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind165 ../src/curl -q --output log/curl165.out  --include --trace-ascii log/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:36137 http://www.große.de/page/165 > log/stdout165 2> log/stderr165"}

data: {"time":"2026-09-19T16:16:10.529Z","priority":"6","pid":"2830187","message":" 165: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:10.529Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:10.529Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:10.530Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 165"}

data: {"time":"2026-09-19T16:16:10.530Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:10.532Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind165 ../src/curl -q --output log/curl165.out  --include --trace-ascii log/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:36137 http://www.große.de/page/165 > log/stdout165 2> log/stderr165"}

data: {"time":"2026-09-19T16:16:10.532Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:10.532Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:10.533Z","priority":"6","pid":"2830187","message":" 16:16:10.147456 ====> Client connect"}

data: {"time":"2026-09-19T16:16:10.533Z","priority":"6","pid":"2830187","message":" 16:16:10.147519 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:10.533Z","priority":"6","pid":"2830187","message":" 16:16:10.147799 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:10.533Z","priority":"6","pid":"2830187","message":" 16:16:10.147828 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:10.534Z","priority":"6","pid":"2830187","message":" 16:16:10.147847 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:10.534Z","priority":"6","pid":"2830187","message":" 16:16:10.147858 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:10.534Z","priority":"6","pid":"2830187","message":" 16:16:10.147913 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:10.535Z","priority":"6","pid":"2830187","message":" 16:16:10.147942 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:10.535Z","priority":"6","pid":"2830187","message":" 16:16:10.148029 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:10.536Z","priority":"6","pid":"2830187","message":" 16:16:10.148040 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:10.536Z","priority":"6","pid":"2830187","message":" 16:16:10.148049 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:10.536Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:10.537Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:10.537Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:10.538Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48500"}

data: {"time":"2026-09-19T16:16:10.538Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:10.538Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:10.538Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:10.539Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:10.539Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:10.539Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:10.540Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:10.540Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:10.540Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:10.540Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:10.540Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:10.541Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:10.541Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:10.541Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:10.542Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:10.542Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:10.543Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:10.543Z","priority":"6","pid":"2830187","message":" Testnum 165"}

data: {"time":"2026-09-19T16:16:10.543Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:10.543Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:10.543Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:10.543Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:10.544Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:10.544Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:10.544Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind165"}

data: {"time":"2026-09-19T16:16:10.545Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:10.545Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:10.546Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:10.546Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.548Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:10.548Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:10.548Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:10.548Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:10.549Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:10.549Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.550Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:10.550Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:10.550Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:10.551Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:10.551Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:10.552Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:10.552Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:10.552Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.553Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:10.553Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:10.553Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.554Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:10.554Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:10.555Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:10.555Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:10.555Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:10.556Z","priority":"6","pid":"2830187","message":"=== End of file valgrind165"}

data: {"time":"2026-09-19T16:16:10.556Z","priority":"6","pid":"2830187","message":"test 0166 [HTTP formpost a file with spaces in name]"}

data: {"time":"2026-09-19T16:16:10.558Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind166 ../src/curl -q --output log/curl166.out  --include --trace-ascii log/trace166 --trace-time http://127.0.0.1:36137/we/want/166 -F \"name=@log/fie ld 166\" > log/stdout166 2> log/stderr166"}

data: {"time":"2026-09-19T16:16:10.559Z","priority":"6","pid":"2830187","message":" 166: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:10.559Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:10.559Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:10.560Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 166"}

data: {"time":"2026-09-19T16:16:10.560Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:10.786Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind167 ../src/curl -q --output log/curl167.out  --include --trace-ascii log/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:36137 --proxy-user foo:bar --digest --user digest:a-lot > log/stdout167 2> log/stderr167"}

data: {"time":"2026-09-19T16:16:11.062Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind168 ../src/curl -q --output log/curl168.out  --include --trace-ascii log/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:36137 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/stdout168 2> log/stderr168"}

data: {"time":"2026-09-19T16:16:11.069Z","priority":"6","pid":"2830187","message":"ind166 ../src/curl -q --output log/curl166.out  --include --trace-ascii log/trace166 --trace-time http://127.0.0.1:36137/we/want/166 -F \"name=@log/fie ld 166\" > log/stdout166 2> log/stderr166"}

data: {"time":"2026-09-19T16:16:11.070Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:11.070Z","priority":"6","pid":"2830187","message":"=== Start of file fie ld 166"}

data: {"time":"2026-09-19T16:16:11.070Z","priority":"6","pid":"2830187","message":" data inside the file"}

data: {"time":"2026-09-19T16:16:11.070Z","priority":"6","pid":"2830187","message":"=== End of file fie ld 166"}

data: {"time":"2026-09-19T16:16:11.071Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:11.071Z","priority":"6","pid":"2830187","message":" 16:16:10.378153 ====> Client connect"}

data: {"time":"2026-09-19T16:16:11.071Z","priority":"6","pid":"2830187","message":" 16:16:10.378394 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:11.071Z","priority":"6","pid":"2830187","message":" 16:16:10.378432 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:11.072Z","priority":"6","pid":"2830187","message":" 16:16:10.378444 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:11.072Z","priority":"6","pid":"2830187","message":" 16:16:10.378459 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:11.073Z","priority":"6","pid":"2830187","message":" 16:16:10.378469 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:11.073Z","priority":"6","pid":"2830187","message":" 16:16:10.378510 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:11.073Z","priority":"6","pid":"2830187","message":" 16:16:10.378530 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:11.074Z","priority":"6","pid":"2830187","message":" 16:16:10.378647 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:11.074Z","priority":"6","pid":"2830187","message":" 16:16:10.378661 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:11.074Z","priority":"6","pid":"2830187","message":" 16:16:10.378671 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:11.075Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:11.075Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:11.076Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:11.076Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48514"}

data: {"time":"2026-09-19T16:16:11.076Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:11.076Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:11.076Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:11.077Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:11.077Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:11.077Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:11.077Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:11.078Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:11.078Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:11.078Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:11.078Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:11.079Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:11.079Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:11.079Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:11.079Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:11.079Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:11.080Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:11.081Z","priority":"6","pid":"2830187","message":" Testnum 166"}

data: {"time":"2026-09-19T16:16:11.081Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:11.081Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:11.081Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:11.081Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:11.081Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:11.082Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:11.082Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind166"}

data: {"time":"2026-09-19T16:16:11.082Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:11.083Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:11.083Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:11.083Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.084Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:11.084Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:11.085Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:11.085Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:11.085Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:11.086Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.086Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:11.087Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:11.087Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:11.088Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:11.088Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:11.089Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:11.089Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:11.089Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.090Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:11.090Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:11.091Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.091Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:11.092Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:11.092Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:11.092Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.092Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:11.093Z","priority":"6","pid":"2830187","message":"=== End of file valgrind166"}

data: {"time":"2026-09-19T16:16:11.095Z","priority":"6","pid":"2830187","message":"test 0167 [HTTP with proxy-requiring-Basic to site-requiring-Digest]"}

data: {"time":"2026-09-19T16:16:11.098Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind167 ../src/curl -q --output log/curl167.out  --include --trace-ascii log/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:36137 --proxy-user foo:bar --digest --user digest:a-lot > log/stdout167 2> log/stderr167"}

data: {"time":"2026-09-19T16:16:11.100Z","priority":"6","pid":"2830187","message":" 167: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:11.100Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:11.102Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:11.102Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 167"}

data: {"time":"2026-09-19T16:16:11.103Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:11.108Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind167 ../src/curl -q --output log/curl167.out  --include --trace-ascii log/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:36137 --proxy-user foo:bar --digest --user digest:a-lot > log/stdout167 2> log/stderr167"}

data: {"time":"2026-09-19T16:16:11.108Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:11.109Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:11.111Z","priority":"6","pid":"2830187","message":" 16:16:10.671569 ====> Client connect"}

data: {"time":"2026-09-19T16:16:11.111Z","priority":"6","pid":"2830187","message":" 16:16:10.671613 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:11.112Z","priority":"6","pid":"2830187","message":" 16:16:10.671783 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:11.114Z","priority":"6","pid":"2830187","message":" 16:16:10.671803 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:11.116Z","priority":"6","pid":"2830187","message":" 16:16:10.671819 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:11.118Z","priority":"6","pid":"2830187","message":" 16:16:10.671829 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:11.118Z","priority":"6","pid":"2830187","message":" 16:16:10.671868 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:11.119Z","priority":"6","pid":"2830187","message":" 16:16:10.671888 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:11.121Z","priority":"6","pid":"2830187","message":" 16:16:10.671949 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:11.123Z","priority":"6","pid":"2830187","message":" 16:16:10.671960 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:11.123Z","priority":"6","pid":"2830187","message":" 16:16:10.671969 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:11.124Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:11.125Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:11.125Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:11.127Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48524"}

data: {"time":"2026-09-19T16:16:11.128Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:11.128Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:11.130Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:11.130Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:11.130Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:11.130Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:11.131Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:11.132Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:11.133Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:11.133Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:11.134Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:11.136Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:11.136Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:11.136Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:11.137Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:11.139Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:11.139Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:11.139Z","priority":"6","pid":"2830187","message":" Testnum 167"}

data: {"time":"2026-09-19T16:16:11.140Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:11.141Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:11.141Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:11.141Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:11.143Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:11.143Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:11.143Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind167"}

data: {"time":"2026-09-19T16:16:11.144Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:11.145Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:11.146Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:11.147Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.147Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:11.148Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:11.149Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:11.150Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:11.152Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:11.152Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.153Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:11.155Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:11.155Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:11.157Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:11.158Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:11.159Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:11.160Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:11.161Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.164Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:11.164Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:11.164Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.165Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:11.165Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:11.165Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:11.166Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.166Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:11.166Z","priority":"6","pid":"2830187","message":"=== End of file valgrind167"}

data: {"time":"2026-09-19T16:16:11.167Z","priority":"6","pid":"2830187","message":"test 0168 [HTTP with proxy-requiring-Digest to site-requiring-Digest]"}

data: {"time":"2026-09-19T16:16:11.169Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind168 ../src/curl -q --output log/curl168.out  --include --trace-ascii log/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:36137 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/stdout168 2> log/stderr168"}

data: {"time":"2026-09-19T16:16:11.170Z","priority":"6","pid":"2830187","message":" 168: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:11.170Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:11.170Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:11.171Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 168"}

data: {"time":"2026-09-19T16:16:11.171Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:11.408Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind168 ../src/curl -q --output log/curl168.out  --include --trace-ascii log/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind171 ../src/curl -q --output log/curl171.out  --include --trace-ascii log/trace171 --trace-time -c log/jar171 -x 127.0.0.1:36137 http://z.x.com/171 > log/stdout171 2> log/stderr171"}

data: {"time":"2026-09-19T16:16:11.640Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind172 ../src/curl -q --output log/curl172.out  --include --trace-ascii log/trace172 --trace-time http://127.0.0.1:36137/we/want/172 -b log/jar172.txt -b \"tool=curl; name=fool\" > log/stdout172 2> log/stderr172"}

data: {"time":"2026-09-19T16:16:11.644Z","priority":"6","pid":"2830187","message":":36137 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/stdout168 2> log/stderr168"}

data: {"time":"2026-09-19T16:16:11.644Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:11.645Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:11.645Z","priority":"6","pid":"2830187","message":" 16:16:10.947205 ====> Client connect"}

data: {"time":"2026-09-19T16:16:11.645Z","priority":"6","pid":"2830187","message":" 16:16:10.947249 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:11.646Z","priority":"6","pid":"2830187","message":" 16:16:10.947446 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:11.646Z","priority":"6","pid":"2830187","message":" 16:16:10.947461 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:11.647Z","priority":"6","pid":"2830187","message":" 16:16:10.947477 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:11.647Z","priority":"6","pid":"2830187","message":" 16:16:10.947486 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:11.647Z","priority":"6","pid":"2830187","message":" 16:16:10.947520 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:11.648Z","priority":"6","pid":"2830187","message":" 16:16:10.947579 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:11.648Z","priority":"6","pid":"2830187","message":" 16:16:10.947676 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:11.648Z","priority":"6","pid":"2830187","message":" 16:16:10.947687 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:11.649Z","priority":"6","pid":"2830187","message":" 16:16:10.948061 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:11.649Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:11.649Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:11.650Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:11.650Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48530"}

data: {"time":"2026-09-19T16:16:11.650Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:11.651Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:11.651Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:11.651Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:11.652Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:11.652Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:11.652Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:11.652Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:11.652Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:11.653Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:11.653Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:11.654Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:11.654Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:11.654Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:11.654Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:11.655Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:11.655Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:11.656Z","priority":"6","pid":"2830187","message":" Testnum 168"}

data: {"time":"2026-09-19T16:16:11.656Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:11.656Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:11.657Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:11.657Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:11.659Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:11.659Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:11.659Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind168"}

data: {"time":"2026-09-19T16:16:11.660Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:11.661Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:11.663Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:11.663Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.665Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:11.666Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:11.667Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:11.670Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:11.671Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:11.671Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.673Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:11.673Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:11.675Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:11.677Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:11.677Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:11.678Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:11.679Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:11.679Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.679Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:11.680Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:11.681Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.681Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:11.681Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:11.682Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:11.682Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.682Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:11.683Z","priority":"6","pid":"2830187","message":"=== End of file valgrind168"}

data: {"time":"2026-09-19T16:16:11.683Z","priority":"6","pid":"2830187","message":"test 0171 [HTTP, get cookie with dot prefixed full domain]"}

data: {"time":"2026-09-19T16:16:11.685Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind171 ../src/curl -q --output log/curl171.out  --include --trace-ascii log/trace171 --trace-time -c log/jar171 -x 127.0.0.1:36137 http://z.x.com/171 > log/stdout171 2> log/stderr171"}

data: {"time":"2026-09-19T16:16:11.685Z","priority":"6","pid":"2830187","message":" 171: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:11.686Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:11.687Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:11.687Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 171"}

data: {"time":"2026-09-19T16:16:11.688Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:11.689Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind171 ../src/curl -q --output log/curl171.out  --include --trace-ascii log/trace171 --trace-time -c log/jar171 -x 127.0.0.1:36137 http://z.x.com/171 > log/stdout171 2> log/stderr171"}

data: {"time":"2026-09-19T16:16:11.689Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:11.690Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:11.690Z","priority":"6","pid":"2830187","message":" 16:16:11.283818 ====> Client connect"}

data: {"time":"2026-09-19T16:16:11.690Z","priority":"6","pid":"2830187","message":" 16:16:11.283875 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:11.691Z","priority":"6","pid":"2830187","message":" 16:16:11.284126 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:11.691Z","priority":"6","pid":"2830187","message":" 16:16:11.284189 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:11.691Z","priority":"6","pid":"2830187","message":" 16:16:11.284209 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:11.692Z","priority":"6","pid":"2830187","message":" 16:16:11.284220 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:11.692Z","priority":"6","pid":"2830187","message":" 16:16:11.284267 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:11.692Z","priority":"6","pid":"2830187","message":" 16:16:11.284292 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:11.693Z","priority":"6","pid":"2830187","message":" 16:16:11.284607 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:11.693Z","priority":"6","pid":"2830187","message":" 16:16:11.284628 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:11.694Z","priority":"6","pid":"2830187","message":" 16:16:11.284639 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:11.694Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:11.694Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:11.695Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:11.695Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48544"}

data: {"time":"2026-09-19T16:16:11.696Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:11.696Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:11.696Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:11.696Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:11.696Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:11.696Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:11.697Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:11.698Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:11.698Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:11.698Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:11.698Z","priority":"6","pid":"2830187","message":" { [1 bytes data]"}

data: {"time":"2026-09-19T16:16:11.698Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:11.698Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:11.699Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:11.699Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:11.699Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:11.699Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:11.700Z","priority":"6","pid":"2830187","message":" Testnum 171"}

data: {"time":"2026-09-19T16:16:11.700Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:11.700Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:11.700Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:11.701Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:11.701Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:11.701Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:11.701Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind171"}

data: {"time":"2026-09-19T16:16:11.702Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:11.702Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:11.703Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:11.703Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.703Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:11.704Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:11.704Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:11.704Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:11.705Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:11.705Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.705Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:11.706Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:11.707Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:11.707Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:11.708Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:11.708Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:11.709Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:11.709Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.709Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:11.710Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:11.710Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.710Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:11.711Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:11.711Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:11.712Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:11.712Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:11.712Z","priority":"6","pid":"2830187","message":"=== End of file valgrind171"}

data: {"time":"2026-09-19T16:16:11.713Z","priority":"6","pid":"2830187","message":"test 0172 [HTTP with cookies file and custom added cookie]"}

data: {"time":"2026-09-19T16:16:11.714Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind172 ../src/curl -q --output log/curl172.out  --include --trace-ascii log/trace172 --trace-time http://127.0.0.1:36137/we/want/172 -b log/jar172.txt -b \"tool=curl; name=fool\" > log/stdout172 2> log/stderr172"}

data: {"time":"2026-09-19T16:16:11.715Z","priority":"6","pid":"2830187","message":" 172: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:11.715Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:11.716Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:11.716Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 172"}

data: {"time":"2026-09-19T16:16:11.717Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:11.719Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind172 ../src/curl -q --output log/curl172.out  --include --trace-ascii log/trace172 --trace-time http://127.0.0.1:36137/we/want/172 -b log/jar172.txt -b \"tool=curl; name=fool\" > log/stdout172 2> log/stderr172"}

data: {"time":"2026-09-19T16:16:11.719Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:11.719Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:11.720Z","priority":"6","pid":"2830187","message":" 16:16:11.523578 ====> Client connect"}

data: {"time":"2026-09-19T16:16:11.720Z","priority":"6","pid":"2830187","message":" 16:16:11.523623 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:11.721Z","priority":"6","pid":"2830187","message":" 16:16:11.523783 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:11.721Z","priority":"6","pid":"2830187","message":" 16:16:11.523810 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:11.722Z","priority":"6","pid":"2830187","message":" 16:16:11.523826 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:11.722Z","priority":"6","pid":"2830187","message":" 16:16:11.523836 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:11.954Z","priority":"6","pid":"2830187","message":" 16:16:11.523878 Wrote request (93 bytes) input to log/server.inpuCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind173 ../src/curl -q --output log/curl173.out  --include --trace-ascii log/trace173 --trace-time http://127.0.0.1:36137/we/want/173 -F field1=contents1 -F \"fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl\" <log/stdin-for-173 > log/stdout173 2> log/stderr173"}

data: {"time":"2026-09-19T16:16:12.173Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind174 ../src/curl -q --output log/curl174.out  --include --trace-ascii log/trace174 --trace-time http://127.0.0.1:36137/174 -u testuser:testpass --anyauth -d \"junkelijunk\" > log/stdout174 2> log/stderr174"}

data: {"time":"2026-09-19T16:16:12.176Z","priority":"6","pid":"2830187","message":"t"}

data: {"time":"2026-09-19T16:16:12.177Z","priority":"6","pid":"2830187","message":" 16:16:11.523907 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:12.177Z","priority":"6","pid":"2830187","message":" 16:16:11.523995 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:12.178Z","priority":"6","pid":"2830187","message":" 16:16:11.524006 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:12.178Z","priority":"6","pid":"2830187","message":" 16:16:11.524015 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:12.178Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:12.179Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:12.179Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:12.180Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48554"}

data: {"time":"2026-09-19T16:16:12.180Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:12.181Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:12.181Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:12.181Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:12.181Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:12.181Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:12.181Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:12.182Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:12.182Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:12.182Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:12.182Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:12.182Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:12.183Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:12.183Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:12.183Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:12.184Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:12.184Z","priority":"6","pid":"2830187","message":"=== Start of file jar172.txt"}

data: {"time":"2026-09-19T16:16:12.184Z","priority":"6","pid":"2830187","message":" # Netscape HTTP Cookie File"}

data: {"time":"2026-09-19T16:16:12.185Z","priority":"6","pid":"2830187","message":" # https://curl.se/docs/http-cookies.html"}

data: {"time":"2026-09-19T16:16:12.185Z","priority":"6","pid":"2830187","message":" # This file was generated by libcurl! Edit at your own risk."}

data: {"time":"2026-09-19T16:16:12.185Z","priority":"6","pid":"2830187","message":" .127.0.0.1\tTRUE\t/silly/\tFALSE\t0\tismatch\tthis"}

data: {"time":"2026-09-19T16:16:12.186Z","priority":"6","pid":"2830187","message":" .127.0.0.1\tTRUE\t/\tFALSE\t0\tpartmatch\tpresent"}

data: {"time":"2026-09-19T16:16:12.186Z","priority":"6","pid":"2830187","message":" 127.0.0.1\tFALSE\t/we/want/\tFALSE\t22139150993\tnodomain\tvalue"}

data: {"time":"2026-09-19T16:16:12.186Z","priority":"6","pid":"2830187","message":"=== End of file jar172.txt"}

data: {"time":"2026-09-19T16:16:12.187Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:12.187Z","priority":"6","pid":"2830187","message":" Testnum 172"}

data: {"time":"2026-09-19T16:16:12.187Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:12.188Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:12.188Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:12.188Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:12.188Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:12.188Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:12.189Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind172"}

data: {"time":"2026-09-19T16:16:12.189Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:12.190Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:12.190Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:12.190Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.190Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:12.191Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:12.191Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:12.191Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:12.192Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:12.192Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.192Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:12.193Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:12.193Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:12.194Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:12.194Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:12.195Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:12.195Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:12.195Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.196Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:12.196Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:12.196Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.197Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:12.197Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:12.198Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:12.198Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.198Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:12.198Z","priority":"6","pid":"2830187","message":"=== End of file valgrind172"}

data: {"time":"2026-09-19T16:16:12.199Z","priority":"6","pid":"2830187","message":"test 0173 [HTTP RFC1867-formpost a file from stdin with \"faked\" filename]"}

data: {"time":"2026-09-19T16:16:12.201Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind173 ../src/curl -q --output log/curl173.out  --include --trace-ascii log/trace173 --trace-time http://127.0.0.1:36137/we/want/173 -F field1=contents1 -F \"fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl\" <log/stdin-for-173 > log/stdout173 2> log/stderr173"}

data: {"time":"2026-09-19T16:16:12.201Z","priority":"6","pid":"2830187","message":" 173: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:12.201Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:12.202Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:12.202Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 173"}

data: {"time":"2026-09-19T16:16:12.203Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:12.205Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind173 ../src/curl -q --output log/curl173.out  --include --trace-ascii log/trace173 --trace-time http://127.0.0.1:36137/we/want/173 -F field1=contents1 -F \"fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl\" <log/stdin-for-173 > log/stdout173 2> log/stderr173"}

data: {"time":"2026-09-19T16:16:12.206Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:12.206Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:12.206Z","priority":"6","pid":"2830187","message":" 16:16:11.831599 ====> Client connect"}

data: {"time":"2026-09-19T16:16:12.207Z","priority":"6","pid":"2830187","message":" 16:16:11.831645 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:12.208Z","priority":"6","pid":"2830187","message":" 16:16:11.831783 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:12.208Z","priority":"6","pid":"2830187","message":" 16:16:11.831798 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:12.209Z","priority":"6","pid":"2830187","message":" 16:16:11.831813 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:12.210Z","priority":"6","pid":"2830187","message":" 16:16:11.831823 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:12.210Z","priority":"6","pid":"2830187","message":" 16:16:11.831856 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:12.212Z","priority":"6","pid":"2830187","message":" 16:16:11.831876 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:12.212Z","priority":"6","pid":"2830187","message":" 16:16:11.831957 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:12.214Z","priority":"6","pid":"2830187","message":" 16:16:11.831972 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:12.214Z","priority":"6","pid":"2830187","message":" 16:16:11.831985 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:12.214Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:12.215Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:12.215Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:12.218Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48564"}

data: {"time":"2026-09-19T16:16:12.219Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:12.219Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:12.219Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:12.219Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:12.219Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:12.219Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:12.220Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:12.220Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:12.221Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:12.221Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:12.221Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:12.222Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:12.224Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:12.224Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:12.224Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:12.224Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:12.225Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:12.225Z","priority":"6","pid":"2830187","message":" Testnum 173"}

data: {"time":"2026-09-19T16:16:12.225Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:12.225Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:12.225Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:12.225Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:12.226Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:12.226Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:12.226Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-173"}

data: {"time":"2026-09-19T16:16:12.227Z","priority":"6","pid":"2830187","message":" line1"}

data: {"time":"2026-09-19T16:16:12.228Z","priority":"6","pid":"2830187","message":" line2"}

data: {"time":"2026-09-19T16:16:12.228Z","priority":"6","pid":"2830187","message":" line3"}

data: {"time":"2026-09-19T16:16:12.228Z","priority":"6","pid":"2830187","message":" line4"}

data: {"time":"2026-09-19T16:16:12.228Z","priority":"6","pid":"2830187","message":" line5"}

data: {"time":"2026-09-19T16:16:12.228Z","priority":"6","pid":"2830187","message":" line6"}

data: {"time":"2026-09-19T16:16:12.228Z","priority":"6","pid":"2830187","message":" line7"}

data: {"time":"2026-09-19T16:16:12.229Z","priority":"6","pid":"2830187","message":" line8"}

data: {"time":"2026-09-19T16:16:12.229Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-173"}

data: {"time":"2026-09-19T16:16:12.229Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind173"}

data: {"time":"2026-09-19T16:16:12.230Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:12.230Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:12.230Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:12.231Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.231Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:12.231Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:12.232Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:12.232Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:12.233Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:12.233Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.233Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:12.233Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:12.234Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:12.234Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:12.235Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:12.235Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:12.236Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:12.236Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.237Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:12.237Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:12.237Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.237Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:12.237Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:12.238Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:12.238Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.238Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:12.239Z","priority":"6","pid":"2830187","message":"=== End of file valgrind173"}

data: {"time":"2026-09-19T16:16:12.239Z","priority":"6","pid":"2830187","message":"test 0174 [HTTP POST --anyauth to server not requiring any auth at all]"}

data: {"time":"2026-09-19T16:16:12.241Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind174 ../src/curl -q --output log/curl174.out  --include --trace-ascii log/trace174 --trace-time http://127.0.0.1:36137/174 -u testuser:testpass --anyauth -d \"junkelijunk\" > log/stdout174 2> log/stderr174"}

data: {"time":"2026-09-19T16:16:12.241Z","priority":"6","pid":"2830187","message":" 174: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:12.241Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:12.242Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:12.242Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 174"}

data: {"time":"2026-09-19T16:16:12.242Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:12.244Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind174 ../src/curl -q --output log/curl174.out  --include --trace-ascii log/trace174 --trace-time http://127.0.0.1:36137/174 -u testuser:testpass --anyauth -d \"junkelijunk\" > log/stdout174 2> log/stderr174"}

data: {"time":"2026-09-19T16:16:12.244Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:12.244Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:12.245Z","priority":"6","pid":"2830187","message":" 16:16:12.073059 ====> Client connect"}

data: {"time":"2026-09-19T16:16:12.245Z","priority":"6","pid":"2830187","message":" 16:16:12.073396 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:12.245Z","priority":"6","pid":"2830187","message":" 16:16:12.073445 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:12.245Z","priority":"6","pid":"2830187","message":" 16:16:12.073460 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:12.498Z","priority":"6","pid":"2830187","message":" 16:16:12.073479 GCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind175 ../src/curl -q --output log/curl175.out  --include --trace-ascii log/trace175 --trace-time http://127.0.0.1:36137/175 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout175 2> log/stderr175"}

data: {"time":"2026-09-19T16:16:12.721Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind177 ../src/curl -q --output log/curl177.out  --include --trace-ascii log/trace177 --trace-time http://127.0.0.1:36137/177 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout177 2> log/stderr177"}

data: {"time":"2026-09-19T16:16:12.725Z","priority":"6","pid":"2830187","message":"ot request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:12.726Z","priority":"6","pid":"2830187","message":" 16:16:12.073493 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:12.726Z","priority":"6","pid":"2830187","message":" 16:16:12.073544 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:12.726Z","priority":"6","pid":"2830187","message":" 16:16:12.073570 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:12.727Z","priority":"6","pid":"2830187","message":" 16:16:12.073683 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:12.727Z","priority":"6","pid":"2830187","message":" 16:16:12.073699 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:12.728Z","priority":"6","pid":"2830187","message":" 16:16:12.073710 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:12.728Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:12.728Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:12.729Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:12.729Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48576"}

data: {"time":"2026-09-19T16:16:12.729Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:12.729Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:12.729Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:12.730Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:12.730Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:12.730Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:12.731Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:12.731Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:12.731Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:12.731Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:12.731Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:12.732Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:12.732Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:12.733Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:12.733Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:12.733Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:12.733Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:12.734Z","priority":"6","pid":"2830187","message":" Testnum 174"}

data: {"time":"2026-09-19T16:16:12.734Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:12.734Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:12.735Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:12.735Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:12.735Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:12.735Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:12.736Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind174"}

data: {"time":"2026-09-19T16:16:12.736Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:12.736Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:12.737Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:12.737Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.737Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:12.738Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:12.738Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:12.738Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:12.739Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:12.739Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.739Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:12.740Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:12.740Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:12.741Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:12.741Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:12.741Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:12.742Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:12.742Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.742Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:12.743Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:12.743Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.743Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:12.744Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:12.744Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:12.745Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.745Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:12.745Z","priority":"6","pid":"2830187","message":"=== End of file valgrind174"}

data: {"time":"2026-09-19T16:16:12.745Z","priority":"6","pid":"2830187","message":"test 0175 [HTTP POST --digest to server not requiring any auth at all]"}

data: {"time":"2026-09-19T16:16:12.746Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind175 ../src/curl -q --output log/curl175.out  --include --trace-ascii log/trace175 --trace-time http://127.0.0.1:36137/175 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout175 2> log/stderr175"}

data: {"time":"2026-09-19T16:16:12.747Z","priority":"6","pid":"2830187","message":" 175: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:12.747Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:12.747Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:12.748Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 175"}

data: {"time":"2026-09-19T16:16:12.748Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:12.751Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind175 ../src/curl -q --output log/curl175.out  --include --trace-ascii log/trace175 --trace-time http://127.0.0.1:36137/175 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout175 2> log/stderr175"}

data: {"time":"2026-09-19T16:16:12.751Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:12.753Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:12.753Z","priority":"6","pid":"2830187","message":" 16:16:12.358658 ====> Client connect"}

data: {"time":"2026-09-19T16:16:12.753Z","priority":"6","pid":"2830187","message":" 16:16:12.358718 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:12.753Z","priority":"6","pid":"2830187","message":" 16:16:12.358885 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:12.754Z","priority":"6","pid":"2830187","message":" 16:16:12.358902 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:12.755Z","priority":"6","pid":"2830187","message":" 16:16:12.358917 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:12.755Z","priority":"6","pid":"2830187","message":" 16:16:12.358927 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:12.756Z","priority":"6","pid":"2830187","message":" 16:16:12.358966 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:12.758Z","priority":"6","pid":"2830187","message":" 16:16:12.358986 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:12.758Z","priority":"6","pid":"2830187","message":" 16:16:12.359039 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:12.759Z","priority":"6","pid":"2830187","message":" 16:16:12.359050 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:12.759Z","priority":"6","pid":"2830187","message":" 16:16:12.359059 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:12.760Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:12.760Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:12.760Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:12.762Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48578"}

data: {"time":"2026-09-19T16:16:12.762Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:12.762Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:12.763Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:12.764Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:12.764Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:12.764Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:12.766Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:12.766Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:12.766Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:12.766Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:12.766Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:12.766Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:12.766Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:12.766Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:12.767Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:12.767Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:12.767Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:12.767Z","priority":"6","pid":"2830187","message":" Testnum 175"}

data: {"time":"2026-09-19T16:16:12.767Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:12.768Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:12.769Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:12.769Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:12.769Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:12.770Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:12.770Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind175"}

data: {"time":"2026-09-19T16:16:12.771Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:12.771Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:12.771Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:12.771Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.772Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:12.772Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:12.772Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:12.773Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:12.775Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:12.775Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.775Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:12.775Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:12.776Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:12.776Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:12.777Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:12.777Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:12.777Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:12.777Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.778Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:12.778Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:12.778Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.779Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:12.780Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:12.780Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:12.780Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:12.781Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:12.781Z","priority":"6","pid":"2830187","message":"=== End of file valgrind175"}

data: {"time":"2026-09-19T16:16:12.781Z","priority":"6","pid":"2830187","message":"test 0177 [HTTP POST --digest to server doing a 302-location response]"}

data: {"time":"2026-09-19T16:16:12.785Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind177 ../src/curl -q --output log/curl177.out  --include --trace-ascii log/trace177 --trace-time http://127.0.0.1:36137/177 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout177 2> log/stderr177"}

data: {"time":"2026-09-19T16:16:12.786Z","priority":"6","pid":"2830187","message":" 177: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:12.787Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:12.788Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:12.791Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 177"}

data: {"time":"2026-09-19T16:16:12.791Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:12.792Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind177 ../src/curl -q --output log/curl177.out  --include --trace-ascii log/trace177 --trace-time http://127.0.0.1:36137/177 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout177 2> log/stderr177"}

data: {"time":"2026-09-19T16:16:12.794Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:12.795Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:12.796Z","priority":"6","pid":"2830187","message":" 16:16:12.618757 ====> Client connect"}

data: {"time":"2026-09-19T16:16:12.796Z","priority":"6","pid":"2830187","message":" 16:16:12.618808 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:12.796Z","priority":"6","pid":"2830187","message":" 16:16:12.618842 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:12.798Z","priority":"6","pid":"2830187","message":" 16:16:12.618853 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:12.798Z","priority":"6","pid":"2830187","message":" 16:16:12.618869 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:12.799Z","priority":"6","pid":"2830187","message":" 16:16:12.618879 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:12.800Z","priority":"6","pid":"2830187","message":" 16:16:12.618927 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:12.801Z","priority":"6","pid":"2830187","message":" 16:16:12.618951 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:12.802Z","priority":"6","pid":"2830187","message":" 16:16:12.619032 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:12.803Z","priority":"6","pid":"2830187","message":" 16:16:12.619043 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:12.804Z","priority":"6","pid":"2830187","message":" 16:16:12.619052 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:12.804Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:12.804Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.049Z","priority":"6","pid":"2830187","message":" *   TCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind178 ../src/curl -q --output log/curl178.out  --include --trace-ascii log/trace178 --trace-time http://127.0.0.1:36137/178 > log/stdout178 2> log/stderr178"}

data: {"time":"2026-09-19T16:16:13.291Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind179 ../src/curl -q --output log/curl179.out  --include --trace-ascii log/trace179 --trace-time http://supertrooper.fake/c/179 -b log/injar179 -x 127.0.0.1:36137 > log/stdout179 2> log/stderr179"}

data: {"time":"2026-09-19T16:16:13.295Z","priority":"6","pid":"2830187","message":"rying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:13.296Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48580"}

data: {"time":"2026-09-19T16:16:13.296Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:13.296Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:13.297Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:13.297Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:13.297Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:13.297Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:13.298Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:13.298Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.298Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.298Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:13.298Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:13.299Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:13.299Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.300Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.300Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.301Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.302Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.302Z","priority":"6","pid":"2830187","message":" Testnum 177"}

data: {"time":"2026-09-19T16:16:13.302Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.303Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:13.303Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.304Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.304Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.304Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:13.306Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind177"}

data: {"time":"2026-09-19T16:16:13.306Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:13.306Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:13.307Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:13.307Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.308Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:13.308Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:13.308Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:13.310Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:13.310Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:13.310Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.310Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:13.311Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:13.311Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:13.312Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:13.312Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:13.313Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:13.313Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:13.313Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.314Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:13.314Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:13.314Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.314Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:13.315Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:13.315Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:13.315Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.316Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:13.316Z","priority":"6","pid":"2830187","message":"=== End of file valgrind177"}

data: {"time":"2026-09-19T16:16:13.316Z","priority":"6","pid":"2830187","message":"test 0178 [HTTP response with negative Content-Length]"}

data: {"time":"2026-09-19T16:16:13.318Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind178 ../src/curl -q --output log/curl178.out  --include --trace-ascii log/trace178 --trace-time http://127.0.0.1:36137/178 > log/stdout178 2> log/stderr178"}

data: {"time":"2026-09-19T16:16:13.319Z","priority":"6","pid":"2830187","message":" 178: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:13.319Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:13.319Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:13.319Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 178"}

data: {"time":"2026-09-19T16:16:13.319Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:13.321Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind178 ../src/curl -q --output log/curl178.out  --include --trace-ascii log/trace178 --trace-time http://127.0.0.1:36137/178 > log/stdout178 2> log/stderr178"}

data: {"time":"2026-09-19T16:16:13.321Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:13.321Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:13.322Z","priority":"6","pid":"2830187","message":" 16:16:12.930857 ====> Client connect"}

data: {"time":"2026-09-19T16:16:13.322Z","priority":"6","pid":"2830187","message":" 16:16:12.930905 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:13.322Z","priority":"6","pid":"2830187","message":" 16:16:12.931100 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:13.323Z","priority":"6","pid":"2830187","message":" 16:16:12.931128 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:13.323Z","priority":"6","pid":"2830187","message":" 16:16:12.931147 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:13.324Z","priority":"6","pid":"2830187","message":" 16:16:12.931160 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:13.324Z","priority":"6","pid":"2830187","message":" 16:16:12.931209 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:13.324Z","priority":"6","pid":"2830187","message":" 16:16:12.931234 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:13.325Z","priority":"6","pid":"2830187","message":" 16:16:12.931300 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:13.325Z","priority":"6","pid":"2830187","message":" 16:16:12.931311 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:13.326Z","priority":"6","pid":"2830187","message":" 16:16:12.931320 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:13.326Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:13.326Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.326Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:13.327Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48582"}

data: {"time":"2026-09-19T16:16:13.327Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:13.327Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:13.328Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:13.328Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:13.328Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:13.328Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:13.329Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:13.329Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.329Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.330Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:13.330Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:13.330Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:13.330Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.330Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.330Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.331Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.331Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.332Z","priority":"6","pid":"2830187","message":" Testnum 178"}

data: {"time":"2026-09-19T16:16:13.332Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.332Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:13.332Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.332Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.332Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.332Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:13.333Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind178"}

data: {"time":"2026-09-19T16:16:13.333Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:13.333Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:13.334Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:13.334Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.334Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:13.335Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:13.335Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:13.336Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:13.336Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:13.336Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.337Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:13.337Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:13.338Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:13.338Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:13.339Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:13.339Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:13.339Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:13.340Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.340Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:13.341Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:13.341Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.341Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:13.342Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:13.342Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:13.342Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.343Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:13.343Z","priority":"6","pid":"2830187","message":"=== End of file valgrind178"}

data: {"time":"2026-09-19T16:16:13.343Z","priority":"6","pid":"2830187","message":"test 0179 [HTTP using proxy and cookies with path checks]"}

data: {"time":"2026-09-19T16:16:13.345Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind179 ../src/curl -q --output log/curl179.out  --include --trace-ascii log/trace179 --trace-time http://supertrooper.fake/c/179 -b log/injar179 -x 127.0.0.1:36137 > log/stdout179 2> log/stderr179"}

data: {"time":"2026-09-19T16:16:13.346Z","priority":"6","pid":"2830187","message":" 179: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:13.346Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:13.346Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:13.346Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 179"}

data: {"time":"2026-09-19T16:16:13.347Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:13.348Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind179 ../src/curl -q --output log/curl179.out  --include --trace-ascii log/trace179 --trace-time http://supertrooper.fake/c/179 -b log/injar179 -x 127.0.0.1:36137 > log/stdout179 2> log/stderr179"}

data: {"time":"2026-09-19T16:16:13.349Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:13.349Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:13.350Z","priority":"6","pid":"2830187","message":" 16:16:13.169512 ====> Client connect"}

data: {"time":"2026-09-19T16:16:13.350Z","priority":"6","pid":"2830187","message":" 16:16:13.169557 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:13.350Z","priority":"6","pid":"2830187","message":" 16:16:13.169823 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:13.351Z","priority":"6","pid":"2830187","message":" 16:16:13.169846 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:13.351Z","priority":"6","pid":"2830187","message":" 16:16:13.169861 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:13.351Z","priority":"6","pid":"2830187","message":" 16:16:13.169871 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:13.352Z","priority":"6","pid":"2830187","message":" 16:16:13.169913 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:13.352Z","priority":"6","pid":"2830187","message":" 16:16:13.169934 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:13.353Z","priority":"6","pid":"2830187","message":" 16:16:13.170024 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:13.353Z","priority":"6","pid":"2830187","message":" 16:16:13.170039 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:13.353Z","priority":"6","pid":"2830187","message":" 16:16:13.170874 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:13.354Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:13.354Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.354Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:13.355Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48586"}

data: {"time":"2026-09-19T16:16:13.355Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:13.355Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:13.355Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:13.356Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:13.356Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:13.356Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:13.356Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:13.356Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.357Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.357Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:13.357Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:13.358Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:13.358Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.358Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.358Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.358Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.359Z","priority":"6","pid":"2830187","message":"=== Start of file injar179"}

data: {"time":"2026-09-19T16:16:13.359Z","priority":"6","pid":"2830187","message":" supertrooper.fake\tFALSE\t/a\tFALSE\t22139150993\tmooo\tindeed"}

data: {"time":"2026-09-19T16:16:13.580Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind180 ../src/curl -q --output log/curl180.out  --include --trace-ascii log/trace180 --trace-time http://127.0.0.1:36137/we/want/180 -T log/test180.txt --http1.0 > log/stdout180 2> log/stderr180"}

data: {"time":"2026-09-19T16:16:13.827Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind181 ../src/curl -q --output log/curl181.out  --include --trace-ascii log/trace181 --trace-time http://127.0.0.1:36137/we/want/181 --data-binary @log/test181.txt --http1.0 > log/stdout181 2> log/stderr181"}

data: {"time":"2026-09-19T16:16:13.831Z","priority":"6","pid":"2830187","message":" supertrooper.fake\tFALSE\t/b\tFALSE\t0\t\tmoo1\tindeed"}

data: {"time":"2026-09-19T16:16:13.832Z","priority":"6","pid":"2830187","message":" supertrooper.fake\tFALSE\t/c\tFALSE\t22139150993\tmoo2\tindeed"}

data: {"time":"2026-09-19T16:16:13.832Z","priority":"6","pid":"2830187","message":"=== End of file injar179"}

data: {"time":"2026-09-19T16:16:13.833Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.834Z","priority":"6","pid":"2830187","message":" Testnum 179"}

data: {"time":"2026-09-19T16:16:13.834Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.834Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:13.834Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.835Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.835Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.835Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:13.835Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind179"}

data: {"time":"2026-09-19T16:16:13.837Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:13.837Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:13.838Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:13.838Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.838Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:13.838Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:13.838Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:13.839Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:13.839Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:13.839Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.840Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:13.840Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:13.841Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:13.841Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:13.842Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:13.842Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:13.842Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:13.843Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.843Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:13.844Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:13.844Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.844Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:13.845Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:13.845Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:13.845Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.846Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:13.846Z","priority":"6","pid":"2830187","message":"=== End of file valgrind179"}

data: {"time":"2026-09-19T16:16:13.846Z","priority":"6","pid":"2830187","message":"test 0180 [HTTP 1.0 PUT]"}

data: {"time":"2026-09-19T16:16:13.847Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind180 ../src/curl -q --output log/curl180.out  --include --trace-ascii log/trace180 --trace-time http://127.0.0.1:36137/we/want/180 -T log/test180.txt --http1.0 > log/stdout180 2> log/stderr180"}

data: {"time":"2026-09-19T16:16:13.848Z","priority":"6","pid":"2830187","message":" 180: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:13.848Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:13.849Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:13.849Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 180"}

data: {"time":"2026-09-19T16:16:13.850Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:13.851Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind180 ../src/curl -q --output log/curl180.out  --include --trace-ascii log/trace180 --trace-time http://127.0.0.1:36137/we/want/180 -T log/test180.txt --http1.0 > log/stdout180 2> log/stderr180"}

data: {"time":"2026-09-19T16:16:13.851Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:13.851Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:13.851Z","priority":"6","pid":"2830187","message":" 16:16:13.469199 ====> Client connect"}

data: {"time":"2026-09-19T16:16:13.852Z","priority":"6","pid":"2830187","message":" 16:16:13.469242 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:13.852Z","priority":"6","pid":"2830187","message":" 16:16:13.469364 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:13.852Z","priority":"6","pid":"2830187","message":" 16:16:13.469378 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:13.853Z","priority":"6","pid":"2830187","message":" 16:16:13.469392 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:13.854Z","priority":"6","pid":"2830187","message":" 16:16:13.469400 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:13.854Z","priority":"6","pid":"2830187","message":" 16:16:13.469431 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:13.854Z","priority":"6","pid":"2830187","message":" 16:16:13.469448 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:13.854Z","priority":"6","pid":"2830187","message":" 16:16:13.469495 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:13.855Z","priority":"6","pid":"2830187","message":" 16:16:13.469504 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:13.855Z","priority":"6","pid":"2830187","message":" 16:16:13.469511 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:13.855Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:13.856Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.856Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:13.856Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48594"}

data: {"time":"2026-09-19T16:16:13.857Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:13.857Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:13.857Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:13.857Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:13.858Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:13.858Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:13.858Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:13.858Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.858Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.859Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:13.859Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:13.859Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:13.859Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.860Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.860Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.860Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.860Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.861Z","priority":"6","pid":"2830187","message":" Testnum 180"}

data: {"time":"2026-09-19T16:16:13.861Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.862Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:13.862Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.862Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.862Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.862Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:13.862Z","priority":"6","pid":"2830187","message":"=== Start of file test180.txt"}

data: {"time":"2026-09-19T16:16:13.862Z","priority":"6","pid":"2830187","message":" Weird"}

data: {"time":"2026-09-19T16:16:13.863Z","priority":"6","pid":"2830187","message":"      file"}

data: {"time":"2026-09-19T16:16:13.863Z","priority":"6","pid":"2830187","message":"          to"}

data: {"time":"2026-09-19T16:16:13.863Z","priority":"6","pid":"2830187","message":"    upload"}

data: {"time":"2026-09-19T16:16:13.863Z","priority":"6","pid":"2830187","message":" for"}

data: {"time":"2026-09-19T16:16:13.864Z","priority":"6","pid":"2830187","message":"    testing"}

data: {"time":"2026-09-19T16:16:13.864Z","priority":"6","pid":"2830187","message":" the"}

data: {"time":"2026-09-19T16:16:13.864Z","priority":"6","pid":"2830187","message":"    PUT"}

data: {"time":"2026-09-19T16:16:13.864Z","priority":"6","pid":"2830187","message":"       feature"}

data: {"time":"2026-09-19T16:16:13.864Z","priority":"6","pid":"2830187","message":"=== End of file test180.txt"}

data: {"time":"2026-09-19T16:16:13.865Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind180"}

data: {"time":"2026-09-19T16:16:13.865Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:13.865Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:13.866Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:13.866Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.866Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:13.866Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:13.867Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:13.867Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:13.868Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:13.868Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.868Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:13.869Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:13.869Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:13.869Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:13.870Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:13.870Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:13.871Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:13.871Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.871Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:13.872Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:13.872Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.872Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:13.874Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:13.874Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:13.874Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:13.875Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:13.875Z","priority":"6","pid":"2830187","message":"=== End of file valgrind180"}

data: {"time":"2026-09-19T16:16:13.875Z","priority":"6","pid":"2830187","message":"test 0181 [HTTP 1.0 POST]"}

data: {"time":"2026-09-19T16:16:13.877Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind181 ../src/curl -q --output log/curl181.out  --include --trace-ascii log/trace181 --trace-time http://127.0.0.1:36137/we/want/181 --data-binary @log/test181.txt --http1.0 > log/stdout181 2> log/stderr181"}

data: {"time":"2026-09-19T16:16:13.877Z","priority":"6","pid":"2830187","message":" 181: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:13.878Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:13.878Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:13.879Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 181"}

data: {"time":"2026-09-19T16:16:13.879Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:13.880Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind181 ../src/curl -q --output log/curl181.out  --include --trace-ascii log/trace181 --trace-time http://127.0.0.1:36137/we/want/181 --data-binary @log/test181.txt --http1.0 > log/stdout181 2> log/stderr181"}

data: {"time":"2026-09-19T16:16:13.881Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:13.881Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:13.881Z","priority":"6","pid":"2830187","message":" 16:16:13.704888 ====> Client connect"}

data: {"time":"2026-09-19T16:16:13.882Z","priority":"6","pid":"2830187","message":" 16:16:13.704945 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:13.882Z","priority":"6","pid":"2830187","message":" 16:16:13.705240 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:13.882Z","priority":"6","pid":"2830187","message":" 16:16:13.705271 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:13.883Z","priority":"6","pid":"2830187","message":" 16:16:13.705291 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:13.883Z","priority":"6","pid":"2830187","message":" 16:16:13.705302 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:13.884Z","priority":"6","pid":"2830187","message":" 16:16:13.705355 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:13.885Z","priority":"6","pid":"2830187","message":" 16:16:13.705383 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:13.885Z","priority":"6","pid":"2830187","message":" 16:16:13.705483 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:13.885Z","priority":"6","pid":"2830187","message":" 16:16:13.705497 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:13.885Z","priority":"6","pid":"2830187","message":" 16:16:13.705509 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:13.886Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:13.886Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.886Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:13.887Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48602"}

data: {"time":"2026-09-19T16:16:13.887Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:13.887Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:13.888Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:13.888Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:13.888Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:13.888Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:13.888Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:13.888Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.889Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.889Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:13.889Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:13.889Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:13.890Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:13.890Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.891Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.891Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:13.891Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.891Z","priority":"6","pid":"2830187","message":" Testnum 181"}

data: {"time":"2026-09-19T16:16:13.891Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:13.892Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:13.892Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:13.892Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:13.892Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:13.893Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:13.893Z","priority":"6","pid":"2830187","message":"=== Start of file test181.txt"}

data: {"time":"2026-09-19T16:16:13.893Z","priority":"6","pid":"2830187","message":" Weird"}

data: {"time":"2026-09-19T16:16:13.893Z","priority":"6","pid":"2830187","message":"      file"}

data: {"time":"2026-09-19T16:16:13.894Z","priority":"6","pid":"2830187","message":"          to"}

data: {"time":"2026-09-19T16:16:13.894Z","priority":"6","pid":"2830187","message":"    upload"}

data: {"time":"2026-09-19T16:16:13.894Z","priority":"6","pid":"2830187","message":" for"}

data: {"time":"2026-09-19T16:16:14.178Z","priority":"6","pid":"2830187","message":"    testCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind182 ../src/curl -q --output log/curl182.out  --include --trace-ascii log/trace182 --trace-time ftp://127.0.0.1:40545/182 > log/stdout182 2> log/stderr182"}

data: {"time":"2026-09-19T16:16:14.182Z","priority":"6","pid":"2830187","message":"ing"}

data: {"time":"2026-09-19T16:16:14.183Z","priority":"6","pid":"2830187","message":" the"}

data: {"time":"2026-09-19T16:16:14.183Z","priority":"6","pid":"2830187","message":"    POST"}

data: {"time":"2026-09-19T16:16:14.183Z","priority":"6","pid":"2830187","message":"       feature"}

data: {"time":"2026-09-19T16:16:14.184Z","priority":"6","pid":"2830187","message":"=== End of file test181.txt"}

data: {"time":"2026-09-19T16:16:14.184Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind181"}

data: {"time":"2026-09-19T16:16:14.184Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:14.185Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:14.185Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:14.186Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.187Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:14.187Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:14.187Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:14.187Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:14.188Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:14.188Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.189Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:14.189Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:14.189Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:14.190Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:14.190Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:14.191Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:14.191Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:14.191Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.191Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:14.192Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:14.192Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.192Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:14.193Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:14.193Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:14.194Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.194Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:14.194Z","priority":"6","pid":"2830187","message":"=== End of file valgrind181"}

data: {"time":"2026-09-19T16:16:14.194Z","priority":"6","pid":"2830187","message":"test 0182 [FTP download an empty file]"}

data: {"time":"2026-09-19T16:16:14.196Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind182 ../src/curl -q --output log/curl182.out  --include --trace-ascii log/trace182 --trace-time ftp://127.0.0.1:40545/182 > log/stdout182 2> log/stderr182"}

data: {"time":"2026-09-19T16:16:14.196Z","priority":"6","pid":"2830187","message":" 182: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:14.197Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:14.197Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:14.197Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 182"}

data: {"time":"2026-09-19T16:16:14.198Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:14.199Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind182 ../src/curl -q --output log/curl182.out  --include --trace-ascii log/trace182 --trace-time ftp://127.0.0.1:40545/182 > log/stdout182 2> log/stderr182"}

data: {"time":"2026-09-19T16:16:14.199Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:14.200Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:14.200Z","priority":"6","pid":"2830187","message":" 16:16:13.937411 ====> Client connect"}

data: {"time":"2026-09-19T16:16:14.201Z","priority":"6","pid":"2830187","message":" 16:16:13.938229 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.201Z","priority":"6","pid":"2830187","message":" 16:16:13.938503 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:14.202Z","priority":"6","pid":"2830187","message":" 16:16:13.938769 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.202Z","priority":"6","pid":"2830187","message":" 16:16:13.938905 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:14.202Z","priority":"6","pid":"2830187","message":" 16:16:13.938949 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.203Z","priority":"6","pid":"2830187","message":" 16:16:13.939248 < \"PWD\""}

data: {"time":"2026-09-19T16:16:14.203Z","priority":"6","pid":"2830187","message":" 16:16:13.939367 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.203Z","priority":"6","pid":"2830187","message":" 16:16:13.939658 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:14.204Z","priority":"6","pid":"2830187","message":" 16:16:13.939724 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:14.204Z","priority":"6","pid":"2830187","message":" 16:16:13.939772 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:14.204Z","priority":"6","pid":"2830187","message":" 16:16:13.943238 DATA sockfilt for passive data channel started (pid 89523)"}

data: {"time":"2026-09-19T16:16:14.205Z","priority":"6","pid":"2830187","message":" 16:16:13.943516 DATA sockfilt for passive data channel listens on port 33237"}

data: {"time":"2026-09-19T16:16:14.205Z","priority":"6","pid":"2830187","message":" 16:16:13.943617 > \"229 Entering Passive Mode (|||33237|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.206Z","priority":"6","pid":"2830187","message":" 16:16:13.943646 Client has been notified that upcoming DATA connection is awaited on port 33237"}

data: {"time":"2026-09-19T16:16:14.206Z","priority":"6","pid":"2830187","message":" 16:16:13.944230 Client connects to port 33237"}

data: {"time":"2026-09-19T16:16:14.207Z","priority":"6","pid":"2830187","message":" 16:16:13.944287 ====> Client established passive DATA connection on port 33237"}

data: {"time":"2026-09-19T16:16:14.207Z","priority":"6","pid":"2830187","message":" 16:16:13.944451 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:14.207Z","priority":"6","pid":"2830187","message":" 16:16:13.944696 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.208Z","priority":"6","pid":"2830187","message":" 16:16:13.944797 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:14.208Z","priority":"6","pid":"2830187","message":" 16:16:13.944852 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.208Z","priority":"6","pid":"2830187","message":" 16:16:13.945123 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:14.209Z","priority":"6","pid":"2830187","message":" 16:16:13.945254 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.209Z","priority":"6","pid":"2830187","message":" 16:16:13.945627 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:14.209Z","priority":"6","pid":"2830187","message":" 16:16:13.945662 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:14.210Z","priority":"6","pid":"2830187","message":" 16:16:13.945963 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:14.210Z","priority":"6","pid":"2830187","message":" 16:16:13.946005 DATA sockfilt for passive data channel quits (pid 89523)"}

data: {"time":"2026-09-19T16:16:14.211Z","priority":"6","pid":"2830187","message":" 16:16:13.946453 DATA sockfilt for passive data channel quit (pid 89523)"}

data: {"time":"2026-09-19T16:16:14.211Z","priority":"6","pid":"2830187","message":" 16:16:13.946493 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:14.211Z","priority":"6","pid":"2830187","message":" 16:16:13.946536 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.212Z","priority":"6","pid":"2830187","message":" 16:16:13.987112 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:14.212Z","priority":"6","pid":"2830187","message":" 16:16:13.987194 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:14.212Z","priority":"6","pid":"2830187","message":" 16:16:13.988168 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:14.213Z","priority":"6","pid":"2830187","message":" 16:16:13.988318 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:14.213Z","priority":"6","pid":"2830187","message":" 16:16:13.988513 Awaiting input"}

data: {"time":"2026-09-19T16:16:14.213Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:14.214Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:14.214Z","priority":"6","pid":"2830187","message":" 16:16:14.007851 ====> Client connect"}

data: {"time":"2026-09-19T16:16:14.214Z","priority":"6","pid":"2830187","message":" 16:16:14.008442 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.215Z","priority":"6","pid":"2830187","message":" 16:16:14.008484 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.215Z","priority":"6","pid":"2830187","message":" 16:16:14.008617 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:14.215Z","priority":"6","pid":"2830187","message":" 16:16:14.008642 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.216Z","priority":"6","pid":"2830187","message":" 16:16:14.008653 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.216Z","priority":"6","pid":"2830187","message":" 16:16:14.008822 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:14.217Z","priority":"6","pid":"2830187","message":" 16:16:14.008849 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.217Z","priority":"6","pid":"2830187","message":" 16:16:14.009242 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.217Z","priority":"6","pid":"2830187","message":" 16:16:14.009268 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.218Z","priority":"6","pid":"2830187","message":" 16:16:14.009296 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.218Z","priority":"6","pid":"2830187","message":" 16:16:14.009393 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:14.218Z","priority":"6","pid":"2830187","message":" 16:16:14.009410 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.219Z","priority":"6","pid":"2830187","message":" 16:16:14.009682 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.219Z","priority":"6","pid":"2830187","message":" 16:16:14.009704 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.219Z","priority":"6","pid":"2830187","message":" 16:16:14.009718 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.220Z","priority":"6","pid":"2830187","message":" 16:16:14.009800 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:14.220Z","priority":"6","pid":"2830187","message":" 16:16:14.009815 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.220Z","priority":"6","pid":"2830187","message":" 16:16:14.009988 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.221Z","priority":"6","pid":"2830187","message":" 16:16:14.010085 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.221Z","priority":"6","pid":"2830187","message":" 16:16:14.010105 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.222Z","priority":"6","pid":"2830187","message":" 16:16:14.010215 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:14.222Z","priority":"6","pid":"2830187","message":" 16:16:14.010233 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.223Z","priority":"6","pid":"2830187","message":" 16:16:14.014371 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.223Z","priority":"6","pid":"2830187","message":" 16:16:14.014402 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.223Z","priority":"6","pid":"2830187","message":" 16:16:14.014437 '229 Entering Passive Mode (|||33237|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.224Z","priority":"6","pid":"2830187","message":" 16:16:14.014792 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:14.224Z","priority":"6","pid":"2830187","message":" 16:16:14.014820 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.224Z","priority":"6","pid":"2830187","message":" 16:16:14.015186 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.225Z","priority":"6","pid":"2830187","message":" 16:16:14.015207 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.225Z","priority":"6","pid":"2830187","message":" 16:16:14.015230 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.226Z","priority":"6","pid":"2830187","message":" 16:16:14.015321 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:14.226Z","priority":"6","pid":"2830187","message":" 16:16:14.015338 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.227Z","priority":"6","pid":"2830187","message":" 16:16:14.015578 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.227Z","priority":"6","pid":"2830187","message":" 16:16:14.015595 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.227Z","priority":"6","pid":"2830187","message":" 16:16:14.015613 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.227Z","priority":"6","pid":"2830187","message":" 16:16:14.015681 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:14.228Z","priority":"6","pid":"2830187","message":" 16:16:14.015696 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.228Z","priority":"6","pid":"2830187","message":" 16:16:14.015868 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.228Z","priority":"6","pid":"2830187","message":" 16:16:14.015890 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.228Z","priority":"6","pid":"2830187","message":" 16:16:14.016053 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.229Z","priority":"6","pid":"2830187","message":" 16:16:14.017248 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.229Z","priority":"6","pid":"2830187","message":" 16:16:14.017265 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.229Z","priority":"6","pid":"2830187","message":" 16:16:14.017278 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.230Z","priority":"6","pid":"2830187","message":" 16:16:14.057599 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:14.230Z","priority":"6","pid":"2830187","message":" 16:16:14.057666 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.230Z","priority":"6","pid":"2830187","message":" 16:16:14.057912 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.231Z","priority":"6","pid":"2830187","message":" 16:16:14.057929 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.232Z","priority":"6","pid":"2830187","message":" 16:16:14.057941 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.232Z","priority":"6","pid":"2830187","message":" 16:16:14.058755 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:14.232Z","priority":"6","pid":"2830187","message":" 16:16:14.058908 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:14.232Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:14.232Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:14.233Z","priority":"6","pid":"2830187","message":" 16:16:13.013616 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:14.234Z","priority":"6","pid":"2830187","message":" 16:16:13.013767 Listening on port 33237"}

data: {"time":"2026-09-19T16:16:14.234Z","priority":"6","pid":"2830187","message":" 16:16:13.013821 Wrote pid 89523 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:14.234Z","priority":"6","pid":"2830187","message":" 16:16:13.013852 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:14.234Z","priority":"6","pid":"2830187","message":" 16:16:13.014000 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:14.235Z","priority":"6","pid":"2830187","message":" 16:16:13.014854 ====> Client connect"}

data: {"time":"2026-09-19T16:16:14.235Z","priority":"6","pid":"2830187","message":" 16:16:13.015999 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:14.235Z","priority":"6","pid":"2830187","message":" 16:16:13.016034 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:14.236Z","priority":"6","pid":"2830187","message":" 16:16:13.016382 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:14.236Z","priority":"6","pid":"2830187","message":" 16:16:13.016454 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:14.236Z","priority":"6","pid":"2830187","message":" 16:16:13.016471 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:14.237Z","priority":"6","pid":"2830187","message":" 16:16:13.016710 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:14.237Z","priority":"6","pid":"2830187","message":" 16:16:13.016726 quits"}

data: {"time":"2026-09-19T16:16:14.237Z","priority":"6","pid":"2830187","message":" 16:16:13.016831 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:14.238Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:14.238Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:14.239Z","priority":"6","pid":"2830187","message":" Testnum 182"}

data: {"time":"2026-09-19T16:16:14.239Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:14.239Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind182"}

data: {"time":"2026-09-19T16:16:14.239Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:14.240Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:14.240Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:14.241Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.241Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:14.241Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:14.242Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:14.242Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:14.450Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from tCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind183 ../src/curl -q --output log/curl183.out  --include --trace-ascii log/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:36137 > log/stdout183 2> log/stderr183"}

data: {"time":"2026-09-19T16:16:14.692Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind184 ../src/curl -q --output log/curl184.out  --include --trace-ascii log/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H \"Host: another.visitor.stay.a.while.stay.foreeeeeever\" --proxy http://127.0.0.1:36137 > log/stdout184 2> log/stderr184"}

data: {"time":"2026-09-19T16:16:14.697Z","priority":"6","pid":"2830187","message":"he object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:14.697Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.697Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:14.698Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:14.698Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:14.699Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:14.700Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:14.700Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:14.701Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:14.701Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.702Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:14.704Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:14.705Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.705Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:14.705Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:14.705Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:14.706Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.707Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:14.707Z","priority":"6","pid":"2830187","message":"=== End of file valgrind182"}

data: {"time":"2026-09-19T16:16:14.709Z","priority":"6","pid":"2830187","message":"test 0183 [HTTP GET two URLs over a single proxy with persistent connection]"}

data: {"time":"2026-09-19T16:16:14.710Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind183 ../src/curl -q --output log/curl183.out  --include --trace-ascii log/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:36137 > log/stdout183 2> log/stderr183"}

data: {"time":"2026-09-19T16:16:14.710Z","priority":"6","pid":"2830187","message":" 183: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:14.711Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:14.711Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:14.712Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 183"}

data: {"time":"2026-09-19T16:16:14.712Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:14.713Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind183 ../src/curl -q --output log/curl183.out  --include --trace-ascii log/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:36137 > log/stdout183 2> log/stderr183"}

data: {"time":"2026-09-19T16:16:14.714Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:14.715Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:14.715Z","priority":"6","pid":"2830187","message":" 16:16:14.353234 ====> Client connect"}

data: {"time":"2026-09-19T16:16:14.715Z","priority":"6","pid":"2830187","message":" 16:16:14.353277 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:14.715Z","priority":"6","pid":"2830187","message":" 16:16:14.353412 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:14.716Z","priority":"6","pid":"2830187","message":" 16:16:14.353426 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:14.716Z","priority":"6","pid":"2830187","message":" 16:16:14.353442 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:14.716Z","priority":"6","pid":"2830187","message":" 16:16:14.353452 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:14.717Z","priority":"6","pid":"2830187","message":" 16:16:14.353485 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:14.718Z","priority":"6","pid":"2830187","message":" 16:16:14.353518 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:14.718Z","priority":"6","pid":"2830187","message":" 16:16:14.353573 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:14.718Z","priority":"6","pid":"2830187","message":" 16:16:14.353583 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:14.718Z","priority":"6","pid":"2830187","message":" 16:16:14.353592 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:14.719Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:14.719Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:14.719Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:14.720Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48616"}

data: {"time":"2026-09-19T16:16:14.720Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:14.720Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:14.721Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:14.721Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:14.721Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:14.721Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:14.721Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:14.722Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:14.722Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:14.722Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:14.723Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:14.723Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:14.723Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:14.723Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:14.723Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:14.724Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:14.724Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:14.724Z","priority":"6","pid":"2830187","message":" Testnum 183"}

data: {"time":"2026-09-19T16:16:14.725Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:14.725Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:14.725Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:14.725Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:14.725Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:14.725Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:14.726Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind183"}

data: {"time":"2026-09-19T16:16:14.726Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:14.726Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:14.727Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:14.727Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.727Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:14.728Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:14.728Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:14.728Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:14.728Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:14.729Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.729Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:14.729Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:14.730Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:14.730Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:14.731Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:14.731Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:14.732Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:14.732Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.732Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:14.732Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:14.733Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.733Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:14.734Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:14.734Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:14.734Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.734Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:14.735Z","priority":"6","pid":"2830187","message":"=== End of file valgrind183"}

data: {"time":"2026-09-19T16:16:14.735Z","priority":"6","pid":"2830187","message":"test 0184 [HTTP replace Host: when following Location: to new host]"}

data: {"time":"2026-09-19T16:16:14.737Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind184 ../src/curl -q --output log/curl184.out  --include --trace-ascii log/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H \"Host: another.visitor.stay.a.while.stay.foreeeeeever\" --proxy http://127.0.0.1:36137 > log/stdout184 2> log/stderr184"}

data: {"time":"2026-09-19T16:16:14.737Z","priority":"6","pid":"2830187","message":" 184: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:14.738Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:14.738Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:14.738Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 184"}

data: {"time":"2026-09-19T16:16:14.738Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:14.740Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind184 ../src/curl -q --output log/curl184.out  --include --trace-ascii log/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H \"Host: another.visitor.stay.a.while.stay.foreeeeeever\" --proxy http://127.0.0.1:36137 > log/stdout184 2> log/stderr184"}

data: {"time":"2026-09-19T16:16:14.740Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:14.741Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:14.741Z","priority":"6","pid":"2830187","message":" 16:16:14.582148 ====> Client connect"}

data: {"time":"2026-09-19T16:16:14.741Z","priority":"6","pid":"2830187","message":" 16:16:14.582195 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:14.741Z","priority":"6","pid":"2830187","message":" 16:16:14.582345 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:14.742Z","priority":"6","pid":"2830187","message":" 16:16:14.582366 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:14.742Z","priority":"6","pid":"2830187","message":" 16:16:14.582401 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:14.742Z","priority":"6","pid":"2830187","message":" 16:16:14.582414 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:14.743Z","priority":"6","pid":"2830187","message":" 16:16:14.582460 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:14.743Z","priority":"6","pid":"2830187","message":" 16:16:14.582488 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:14.743Z","priority":"6","pid":"2830187","message":" 16:16:14.582562 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:14.744Z","priority":"6","pid":"2830187","message":" 16:16:14.582577 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:14.744Z","priority":"6","pid":"2830187","message":" 16:16:14.582586 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:14.744Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:14.745Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:14.745Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:14.746Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48620"}

data: {"time":"2026-09-19T16:16:14.746Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:14.746Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:14.746Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:14.747Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:14.747Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:14.747Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:14.747Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:14.748Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:14.748Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:14.748Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:14.748Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:14.748Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:14.748Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:14.749Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:14.749Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:14.749Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:14.750Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:14.750Z","priority":"6","pid":"2830187","message":" Testnum 184"}

data: {"time":"2026-09-19T16:16:14.750Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:14.750Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:14.751Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:14.751Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:14.751Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:14.751Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:14.752Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind184"}

data: {"time":"2026-09-19T16:16:14.752Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:14.752Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:14.753Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:14.753Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.754Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:14.755Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:14.755Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:14.755Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:14.755Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:14.756Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:14.756Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:14.757Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:14.757Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:14.972Z","priority":"6","pid":"2830187","message":" valgriCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind185 ../src/curl -q --output log/curl185.out  --include --trace-ascii log/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H \"Host: another.visitor.stay.a.while.stay.foreeeeeever\" --proxy http://127.0.0.1:36137 > log/stdout185 2> log/stderr185"}

data: {"time":"2026-09-19T16:16:15.184Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind186 ../src/curl -q --output log/curl186.out  --include --trace-ascii log/trace186 --trace-time http://127.0.0.1:36137/we/want/186 -F \"name=daniel;type=moo/foo-.4\" -F \"html= <body>hello</body>;type=text/html;charset=verymoo\" > log/stdout186 2> log/stderr186"}

data: {"time":"2026-09-19T16:16:15.189Z","priority":"6","pid":"2830187","message":"nd:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:15.190Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:15.190Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:15.190Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:15.191Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.191Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:15.191Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:15.192Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.192Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:15.192Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:15.192Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:15.192Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.193Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:15.193Z","priority":"6","pid":"2830187","message":"=== End of file valgrind184"}

data: {"time":"2026-09-19T16:16:15.194Z","priority":"6","pid":"2830187","message":"test 0185 [HTTP replace Host: when following Location: on the same host]"}

data: {"time":"2026-09-19T16:16:15.195Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind185 ../src/curl -q --output log/curl185.out  --include --trace-ascii log/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H \"Host: another.visitor.stay.a.while.stay.foreeeeeever\" --proxy http://127.0.0.1:36137 > log/stdout185 2> log/stderr185"}

data: {"time":"2026-09-19T16:16:15.196Z","priority":"6","pid":"2830187","message":" 185: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:15.197Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:15.197Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:15.197Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 185"}

data: {"time":"2026-09-19T16:16:15.198Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:15.199Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind185 ../src/curl -q --output log/curl185.out  --include --trace-ascii log/trace185 --trace-time http://deathstar.another.galaxy/185 -L -H \"Host: another.visitor.stay.a.while.stay.foreeeeeever\" --proxy http://127.0.0.1:36137 > log/stdout185 2> log/stderr185"}

data: {"time":"2026-09-19T16:16:15.199Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:15.199Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:15.200Z","priority":"6","pid":"2830187","message":" 16:16:14.868512 ====> Client connect"}

data: {"time":"2026-09-19T16:16:15.200Z","priority":"6","pid":"2830187","message":" 16:16:14.868563 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:15.200Z","priority":"6","pid":"2830187","message":" 16:16:14.868595 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:15.201Z","priority":"6","pid":"2830187","message":" 16:16:14.868606 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:15.201Z","priority":"6","pid":"2830187","message":" 16:16:14.868621 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:15.201Z","priority":"6","pid":"2830187","message":" 16:16:14.868632 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:15.202Z","priority":"6","pid":"2830187","message":" 16:16:14.868662 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:15.202Z","priority":"6","pid":"2830187","message":" 16:16:14.868681 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:15.202Z","priority":"6","pid":"2830187","message":" 16:16:14.868769 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:15.203Z","priority":"6","pid":"2830187","message":" 16:16:14.868780 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:15.203Z","priority":"6","pid":"2830187","message":" 16:16:14.868789 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:15.204Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:15.204Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:15.204Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:15.204Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48626"}

data: {"time":"2026-09-19T16:16:15.205Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:15.205Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:15.205Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:15.206Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:15.206Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:15.206Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:15.206Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:15.207Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:15.207Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:15.207Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:15.207Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:15.207Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:15.208Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:15.208Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:15.208Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:15.208Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:15.208Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:15.208Z","priority":"6","pid":"2830187","message":" Testnum 185"}

data: {"time":"2026-09-19T16:16:15.209Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:15.209Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:15.209Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:15.209Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:15.210Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:15.211Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:15.211Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind185"}

data: {"time":"2026-09-19T16:16:15.211Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:15.211Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:15.211Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:15.211Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.212Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:15.212Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:15.212Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:15.213Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:15.213Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:15.213Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.214Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:15.214Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:15.214Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:15.215Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:15.216Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:15.216Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:15.216Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:15.216Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.216Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:15.217Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:15.217Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.217Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:15.218Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:15.218Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:15.218Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.218Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:15.219Z","priority":"6","pid":"2830187","message":"=== End of file valgrind185"}

data: {"time":"2026-09-19T16:16:15.219Z","priority":"6","pid":"2830187","message":"test 0186 [HTTP RFC1867-type formposting with types on text fields]"}

data: {"time":"2026-09-19T16:16:15.221Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind186 ../src/curl -q --output log/curl186.out  --include --trace-ascii log/trace186 --trace-time http://127.0.0.1:36137/we/want/186 -F \"name=daniel;type=moo/foo-.4\" -F \"html= <body>hello</body>;type=text/html;charset=verymoo\" > log/stdout186 2> log/stderr186"}

data: {"time":"2026-09-19T16:16:15.221Z","priority":"6","pid":"2830187","message":" 186: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:15.221Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:15.222Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:15.222Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 186"}

data: {"time":"2026-09-19T16:16:15.223Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:15.225Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind186 ../src/curl -q --output log/curl186.out  --include --trace-ascii log/trace186 --trace-time http://127.0.0.1:36137/we/want/186 -F \"name=daniel;type=moo/foo-.4\" -F \"html= <body>hello</body>;type=text/html;charset=verymoo\" > log/stdout186 2> log/stderr186"}

data: {"time":"2026-09-19T16:16:15.227Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:15.227Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:15.227Z","priority":"6","pid":"2830187","message":" 16:16:15.096630 ====> Client connect"}

data: {"time":"2026-09-19T16:16:15.228Z","priority":"6","pid":"2830187","message":" 16:16:15.096678 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:15.228Z","priority":"6","pid":"2830187","message":" 16:16:15.096719 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:15.228Z","priority":"6","pid":"2830187","message":" 16:16:15.096734 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:15.231Z","priority":"6","pid":"2830187","message":" 16:16:15.096752 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:15.231Z","priority":"6","pid":"2830187","message":" 16:16:15.096765 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:15.231Z","priority":"6","pid":"2830187","message":" 16:16:15.096798 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:15.232Z","priority":"6","pid":"2830187","message":" 16:16:15.096818 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:15.233Z","priority":"6","pid":"2830187","message":" 16:16:15.096900 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:15.235Z","priority":"6","pid":"2830187","message":" 16:16:15.096912 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:15.235Z","priority":"6","pid":"2830187","message":" 16:16:15.096921 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:15.236Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:15.236Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:15.236Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:15.237Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48628"}

data: {"time":"2026-09-19T16:16:15.238Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:15.238Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:15.240Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:15.240Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:15.240Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:15.240Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:15.240Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:15.240Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:15.241Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:15.242Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:15.243Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:15.243Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:15.245Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:15.246Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:15.246Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:15.246Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:15.246Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:15.246Z","priority":"6","pid":"2830187","message":" Testnum 186"}

data: {"time":"2026-09-19T16:16:15.246Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:15.246Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:15.247Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:15.247Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:15.247Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:15.248Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:15.248Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind186"}

data: {"time":"2026-09-19T16:16:15.248Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:15.249Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:15.249Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:15.249Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.250Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:15.251Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:15.251Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:15.251Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:15.252Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:15.252Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.252Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:15.253Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:15.254Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:15.254Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:15.254Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:15.254Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:15.473Z","priority":"6","pid":"2830187","message":" valgrind:  to insCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind187 ../src/curl -q --output log/curl187.out  --include --trace-ascii log/trace187 --trace-time http://127.0.0.1:36137?oh=what-weird=test/187 -L > log/stdout187 2> log/stderr187"}

data: {"time":"2026-09-19T16:16:15.698Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind188 ../src/curl -q --output log/curl188.out  --include --trace-ascii log/trace188 --trace-time http://127.0.0.1:36137/188 -C 50 -L > log/stdout188 2> log/stderr188"}

data: {"time":"2026-09-19T16:16:15.936Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind189 ../src/curl -q --output log/curl189.out  --include --trace-ascii log/trace189 --trace-time http://127.0.0.1:36137/189 -C 50 -L > log/stdout189 2> log/stderr189"}

data: {"time":"2026-09-19T16:16:15.939Z","priority":"6","pid":"2830187","message":"tall for fix (1) is called"}

data: {"time":"2026-09-19T16:16:15.940Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.940Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:15.941Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:15.941Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.941Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:15.941Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:15.942Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:15.942Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.942Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:15.942Z","priority":"6","pid":"2830187","message":"=== End of file valgrind186"}

data: {"time":"2026-09-19T16:16:15.943Z","priority":"6","pid":"2830187","message":"test 0187 [HTTP redirect with bad hostname separation and slash in parameters]"}

data: {"time":"2026-09-19T16:16:15.944Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind187 ../src/curl -q --output log/curl187.out  --include --trace-ascii log/trace187 --trace-time http://127.0.0.1:36137?oh=what-weird=test/187 -L > log/stdout187 2> log/stderr187"}

data: {"time":"2026-09-19T16:16:15.944Z","priority":"6","pid":"2830187","message":" 187: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:15.945Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:15.945Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:15.945Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 187"}

data: {"time":"2026-09-19T16:16:15.946Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:15.947Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind187 ../src/curl -q --output log/curl187.out  --include --trace-ascii log/trace187 --trace-time http://127.0.0.1:36137?oh=what-weird=test/187 -L > log/stdout187 2> log/stderr187"}

data: {"time":"2026-09-19T16:16:15.948Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:15.948Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:15.948Z","priority":"6","pid":"2830187","message":" 16:16:15.365374 ====> Client connect"}

data: {"time":"2026-09-19T16:16:15.949Z","priority":"6","pid":"2830187","message":" 16:16:15.365418 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:15.949Z","priority":"6","pid":"2830187","message":" 16:16:15.365555 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:15.950Z","priority":"6","pid":"2830187","message":" 16:16:15.365570 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:15.950Z","priority":"6","pid":"2830187","message":" 16:16:15.365586 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:15.951Z","priority":"6","pid":"2830187","message":" 16:16:15.365596 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:15.951Z","priority":"6","pid":"2830187","message":" 16:16:15.365630 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:15.951Z","priority":"6","pid":"2830187","message":" 16:16:15.365651 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:15.951Z","priority":"6","pid":"2830187","message":" 16:16:15.365730 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:15.952Z","priority":"6","pid":"2830187","message":" 16:16:15.365740 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:15.952Z","priority":"6","pid":"2830187","message":" 16:16:15.365749 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:15.953Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:15.953Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:15.953Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:15.954Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48636"}

data: {"time":"2026-09-19T16:16:15.954Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:15.954Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:15.955Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:15.955Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:15.955Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:15.955Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:15.955Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:15.956Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:15.956Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:15.956Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:15.956Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:15.957Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:15.957Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:15.957Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:15.957Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:15.957Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:15.957Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:15.957Z","priority":"6","pid":"2830187","message":" Testnum 187"}

data: {"time":"2026-09-19T16:16:15.958Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:15.958Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:15.958Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:15.959Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:15.959Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:15.959Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:15.960Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind187"}

data: {"time":"2026-09-19T16:16:15.960Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:15.960Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:15.961Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:15.961Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.961Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:15.961Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:15.962Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:15.962Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:15.963Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:15.963Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.963Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:15.964Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:15.964Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:15.964Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:15.965Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:15.965Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:15.966Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:15.966Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.966Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:15.967Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:15.967Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.967Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:15.968Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:15.968Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:15.968Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.969Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:15.969Z","priority":"6","pid":"2830187","message":"=== End of file valgrind187"}

data: {"time":"2026-09-19T16:16:15.969Z","priority":"6","pid":"2830187","message":"test 0188 [HTTP GET with resume and redirect]"}

data: {"time":"2026-09-19T16:16:15.970Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind188 ../src/curl -q --output log/curl188.out  --include --trace-ascii log/trace188 --trace-time http://127.0.0.1:36137/188 -C 50 -L > log/stdout188 2> log/stderr188"}

data: {"time":"2026-09-19T16:16:15.971Z","priority":"6","pid":"2830187","message":" 188: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:15.971Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:15.972Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:15.972Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 188"}

data: {"time":"2026-09-19T16:16:15.972Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:15.973Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind188 ../src/curl -q --output log/curl188.out  --include --trace-ascii log/trace188 --trace-time http://127.0.0.1:36137/188 -C 50 -L > log/stdout188 2> log/stderr188"}

data: {"time":"2026-09-19T16:16:15.973Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:15.974Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:15.974Z","priority":"6","pid":"2830187","message":" 16:16:15.589219 ====> Client connect"}

data: {"time":"2026-09-19T16:16:15.974Z","priority":"6","pid":"2830187","message":" 16:16:15.589275 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:15.975Z","priority":"6","pid":"2830187","message":" 16:16:15.589486 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:15.975Z","priority":"6","pid":"2830187","message":" 16:16:15.589502 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:15.975Z","priority":"6","pid":"2830187","message":" 16:16:15.589520 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:15.975Z","priority":"6","pid":"2830187","message":" 16:16:15.589532 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:15.976Z","priority":"6","pid":"2830187","message":" 16:16:15.589572 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:15.977Z","priority":"6","pid":"2830187","message":" 16:16:15.589613 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:15.977Z","priority":"6","pid":"2830187","message":" 16:16:15.589700 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:15.979Z","priority":"6","pid":"2830187","message":" 16:16:15.589720 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:15.979Z","priority":"6","pid":"2830187","message":" 16:16:15.589729 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:15.980Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:15.980Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:15.981Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:15.982Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48652"}

data: {"time":"2026-09-19T16:16:15.983Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:15.983Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:15.983Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:15.985Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:15.985Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:15.985Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:15.985Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:15.986Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:15.986Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:15.987Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:15.987Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:15.991Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:15.991Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:15.991Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:15.991Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:15.991Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:15.991Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:15.991Z","priority":"6","pid":"2830187","message":" Testnum 188"}

data: {"time":"2026-09-19T16:16:15.991Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:15.993Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:15.993Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:15.993Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:15.993Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:15.994Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:15.994Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind188"}

data: {"time":"2026-09-19T16:16:15.994Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:15.995Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:15.999Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:15.999Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:15.999Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:15.999Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:15.999Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:15.999Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:16.001Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:16.002Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:16.002Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:16.002Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:16.003Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:16.004Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:16.006Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:16.006Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:16.007Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:16.007Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:16.008Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:16.010Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:16.010Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:16.010Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:16.010Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:16.013Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:16.014Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:16.014Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:16.014Z","priority":"6","pid":"2830187","message":"=== End of file valgrind188"}

data: {"time":"2026-09-19T16:16:16.014Z","priority":"6","pid":"2830187","message":"test 0189 [HTTP GET with resume and redirect (to a page that does not resume)]"}

data: {"time":"2026-09-19T16:16:16.317Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memchCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind190 ../src/curl -q --output log/curl190.out  --include --trace-ascii log/trace190 --trace-time ftp://127.0.0.1:40545/path/to/file/190 -m 10 > log/stdout190 2> log/stderr190"}

data: {"time":"2026-09-19T16:16:16.319Z","priority":"6","pid":"2830187","message":"* kill pid for ftp-ctrl => 84551"}

data: {"time":"2026-09-19T16:16:16.331Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 84550 signalled to die"}

data: {"time":"2026-09-19T16:16:16.433Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 84550 gracefully died"}

data: {"time":"2026-09-19T16:16:16.437Z","priority":"6","pid":"2830187","message":"eck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind189 ../src/curl -q --output log/curl189.out  --include --trace-ascii log/trace189 --trace-time http://127.0.0.1:36137/189 -C 50 -L > log/stdout189 2> log/stderr189"}

data: {"time":"2026-09-19T16:16:16.437Z","priority":"6","pid":"2830187","message":" 189: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:16.438Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:16.439Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:16.440Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 189"}

data: {"time":"2026-09-19T16:16:16.440Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:16.443Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind189 ../src/curl -q --output log/curl189.out  --include --trace-ascii log/trace189 --trace-time http://127.0.0.1:36137/189 -C 50 -L > log/stdout189 2> log/stderr189"}

data: {"time":"2026-09-19T16:16:16.445Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:16.445Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:16.445Z","priority":"6","pid":"2830187","message":" 16:16:15.834804 ====> Client connect"}

data: {"time":"2026-09-19T16:16:16.447Z","priority":"6","pid":"2830187","message":" 16:16:15.834868 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:16.447Z","priority":"6","pid":"2830187","message":" 16:16:15.835190 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:16.447Z","priority":"6","pid":"2830187","message":" 16:16:15.835220 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:16.448Z","priority":"6","pid":"2830187","message":" 16:16:15.835239 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:16.448Z","priority":"6","pid":"2830187","message":" 16:16:15.835251 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:16.449Z","priority":"6","pid":"2830187","message":" 16:16:15.835305 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:16.449Z","priority":"6","pid":"2830187","message":" 16:16:15.835332 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:16.449Z","priority":"6","pid":"2830187","message":" 16:16:15.835438 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:16.450Z","priority":"6","pid":"2830187","message":" 16:16:15.835453 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:16.450Z","priority":"6","pid":"2830187","message":" 16:16:15.835464 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:16.451Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:16.452Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:16.452Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:16.452Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 48654"}

data: {"time":"2026-09-19T16:16:16.452Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:16.452Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:16.453Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:16.453Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:16.454Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:16.454Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:16.454Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:16.454Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:16.454Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:16.454Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:16.455Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:16.455Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:16.455Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:16.455Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:16.456Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:16.456Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:16.456Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:16.456Z","priority":"6","pid":"2830187","message":" Testnum 189"}

data: {"time":"2026-09-19T16:16:16.457Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:16.457Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:16.457Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:16.457Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:16.458Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:16.458Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:16.459Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind189"}

data: {"time":"2026-09-19T16:16:16.459Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:16.459Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:16.460Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:16.460Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:16.460Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:16.461Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:16.461Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:16.461Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:16.462Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:16.462Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:16.463Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:16.463Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:16.464Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:16.464Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:16.465Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:16.465Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:16.466Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:16.466Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:16.466Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:16.467Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:16.467Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:16.468Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:16.468Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:16.469Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:16.469Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:16.470Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:16.470Z","priority":"6","pid":"2830187","message":"=== End of file valgrind189"}

data: {"time":"2026-09-19T16:16:16.470Z","priority":"6","pid":"2830187","message":"test 0190 [FTP download with strict timeout and slow CWD]"}

data: {"time":"2026-09-19T16:16:16.472Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind190 ../src/curl -q --output log/curl190.out  --include --trace-ascii log/trace190 --trace-time ftp://127.0.0.1:40545/path/to/file/190 -m 10 > log/stdout190 2> log/stderr190"}

data: {"time":"2026-09-19T16:16:16.472Z","priority":"6","pid":"2830187","message":" 190: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:16.473Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:16.474Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:16.474Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 190"}

data: {"time":"2026-09-19T16:16:16.474Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:16.475Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind190 ../src/curl -q --output log/curl190.out  --include --trace-ascii log/trace190 --trace-time ftp://127.0.0.1:40545/path/to/file/190 -m 10 > log/stdout190 2> log/stderr190"}

data: {"time":"2026-09-19T16:16:16.476Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:16.476Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:16.476Z","priority":"6","pid":"2830187","message":" 16:16:16.058914 ====> Client connect"}

data: {"time":"2026-09-19T16:16:16.477Z","priority":"6","pid":"2830187","message":" 16:16:16.059253 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.478Z","priority":"6","pid":"2830187","message":" 16:16:16.059921 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:16.478Z","priority":"6","pid":"2830187","message":" 16:16:16.060190 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.479Z","priority":"6","pid":"2830187","message":" 16:16:16.060304 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:16.479Z","priority":"6","pid":"2830187","message":" 16:16:16.060522 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.479Z","priority":"6","pid":"2830187","message":" 16:16:16.060674 < \"PWD\""}

data: {"time":"2026-09-19T16:16:16.480Z","priority":"6","pid":"2830187","message":" 16:16:16.060724 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.480Z","priority":"6","pid":"2830187","message":" 16:16:16.060976 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:16.480Z","priority":"6","pid":"2830187","message":" 16:16:16.061020 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:16.481Z","priority":"6","pid":"2830187","message":" 16:16:16.061039 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:16.482Z","priority":"6","pid":"2830187","message":" 16:16:16.064679 DATA sockfilt for passive data channel started (pid 90046)"}

data: {"time":"2026-09-19T16:16:16.482Z","priority":"6","pid":"2830187","message":" 16:16:16.064963 DATA sockfilt for passive data channel listens on port 33103"}

data: {"time":"2026-09-19T16:16:16.482Z","priority":"6","pid":"2830187","message":" 16:16:16.065044 > \"229 Entering Passive Mode (|||33103|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.483Z","priority":"6","pid":"2830187","message":" 16:16:16.065068 Client has been notified that upcoming DATA connection is awaited on port 33103"}

data: {"time":"2026-09-19T16:16:16.483Z","priority":"6","pid":"2830187","message":" 16:16:16.065571 Client connects to port 33103"}

data: {"time":"2026-09-19T16:16:16.484Z","priority":"6","pid":"2830187","message":" 16:16:16.065648 ====> Client established passive DATA connection on port 33103"}

data: {"time":"2026-09-19T16:16:16.484Z","priority":"6","pid":"2830187","message":" 16:16:16.066041 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:16.484Z","priority":"6","pid":"2830187","message":" 16:16:16.066104 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.485Z","priority":"6","pid":"2830187","message":" 16:16:16.066405 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:16.485Z","priority":"6","pid":"2830187","message":" 16:16:16.066462 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.486Z","priority":"6","pid":"2830187","message":" 16:16:16.066690 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:16.486Z","priority":"6","pid":"2830187","message":" 16:16:16.066741 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.486Z","priority":"6","pid":"2830187","message":" 16:16:16.066875 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:16.487Z","priority":"6","pid":"2830187","message":" 16:16:16.066898 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:16.488Z","priority":"6","pid":"2830187","message":" 16:16:16.067270 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:16.488Z","priority":"6","pid":"2830187","message":" 16:16:16.067309 DATA sockfilt for passive data channel quits (pid 90046)"}

data: {"time":"2026-09-19T16:16:16.489Z","priority":"6","pid":"2830187","message":" 16:16:16.067765 DATA sockfilt for passive data channel quit (pid 90046)"}

data: {"time":"2026-09-19T16:16:16.489Z","priority":"6","pid":"2830187","message":" 16:16:16.067820 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:16.489Z","priority":"6","pid":"2830187","message":" 16:16:16.067875 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.490Z","priority":"6","pid":"2830187","message":" 16:16:16.108266 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:16.490Z","priority":"6","pid":"2830187","message":" 16:16:16.108394 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:16.491Z","priority":"6","pid":"2830187","message":" 16:16:16.109391 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:16.491Z","priority":"6","pid":"2830187","message":" 16:16:16.109566 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:16.491Z","priority":"6","pid":"2830187","message":" 16:16:16.109718 Awaiting input"}

data: {"time":"2026-09-19T16:16:16.492Z","priority":"6","pid":"2830187","message":" 16:16:16.330238 Failed to read input"}

data: {"time":"2026-09-19T16:16:16.492Z","priority":"6","pid":"2830187","message":" 16:16:16.331434 Error: FTP server, read zero"}

data: {"time":"2026-09-19T16:16:16.493Z","priority":"6","pid":"2830187","message":" 16:16:16.331510 Exited from sysread_or_die() at /build/curl/src/curl/tests/ftpserver.pl line 3129. FTP server, read zero"}

data: {"time":"2026-09-19T16:16:16.494Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:16.494Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:16.494Z","priority":"6","pid":"2830187","message":" 16:16:16.129297 ====> Client connect"}

data: {"time":"2026-09-19T16:16:16.494Z","priority":"6","pid":"2830187","message":" 16:16:16.129943 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:16.495Z","priority":"6","pid":"2830187","message":" 16:16:16.129975 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:16.495Z","priority":"6","pid":"2830187","message":" 16:16:16.129992 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:16.496Z","priority":"6","pid":"2830187","message":" 16:16:16.130006 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:16.496Z","priority":"6","pid":"2830187","message":" 16:16:16.130018 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:16.496Z","priority":"6","pid":"2830187","message":" 16:16:16.130168 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:16.497Z","priority":"6","pid":"2830187","message":" 16:16:16.130183 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:16.497Z","priority":"6","pid":"2830187","message":" 16:16:16.130567 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:16.498Z","priority":"6","pid":"2830187","message":" 16:16:16.130590 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:16.498Z","priority":"6","pid":"2830187","message":" 16:16:16.130616 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:16.498Z","priority":"6","pid":"2830187","message":" 16:16:16.130719 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:16.499Z","priority":"6","pid":"2830187","message":" 16:16:16.130734 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:16.499Z","priority":"6","pid":"2830187","message":" 16:16:16.130977 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:16.500Z","priority":"6","pid":"2830187","message":" 16:16:16.130995 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:16.500Z","priority":"6","pid":"2830187","message":" 16:16:16.131019 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:16.501Z","priority":"6","pid":"2830187","message":" 16:16:16.131153 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:16.501Z","priority":"6","pid":"2830187","message":" 16:16:16.131168 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:16.501Z","priority":"6","pid":"2830187","message":" 16:16:16.131327 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:16.501Z","priority":"6","pid":"2830187","message":" 16:16:16.131341 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:16.502Z","priority":"6","pid":"2830187","message":" 16:16:16.131354 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:16.502Z","priority":"6","pid":"2830187","message":" 16:16:16.131455 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:16.503Z","priority":"6","pid":"2830187","message":" 16:16:16.131471 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:16.503Z","priority":"6","pid":"2830187","message":" 16:16:16.135692 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:17.673Z","priority":"6","pid":"2830187","message":" 16:16:16.135725 > 39 byCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind191 ../src/curl -q --output log/curl191.out  --include --trace-ascii log/trace191 --trace-time \"ftp://use%3fr:pass%3fword@127.0.0.1:40021/191\" > log/stdout191 2> log/stderr191"}

data: {"time":"2026-09-19T16:16:17.873Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind192 ../src/curl -q --include --trace-ascii log/trace192 --trace-time http://127.0.0.1:36137/192 -w \"%{num_connects}\\n\" > log/stdout192 2> log/stderr192"}

data: {"time":"2026-09-19T16:16:17.876Z","priority":"6","pid":"2830187","message":"tes data, server => client"}

data: {"time":"2026-09-19T16:16:17.876Z","priority":"6","pid":"2830187","message":" 16:16:16.135740 '229 Entering Passive Mode (|||33103|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.877Z","priority":"6","pid":"2830187","message":" 16:16:16.136410 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:17.877Z","priority":"6","pid":"2830187","message":" 16:16:16.136440 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.877Z","priority":"6","pid":"2830187","message":" 16:16:16.136715 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:17.878Z","priority":"6","pid":"2830187","message":" 16:16:16.136734 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:17.878Z","priority":"6","pid":"2830187","message":" 16:16:16.136748 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.878Z","priority":"6","pid":"2830187","message":" 16:16:16.136844 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:17.878Z","priority":"6","pid":"2830187","message":" 16:16:16.136859 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.879Z","priority":"6","pid":"2830187","message":" 16:16:16.137067 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:17.879Z","priority":"6","pid":"2830187","message":" 16:16:16.137081 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:17.879Z","priority":"6","pid":"2830187","message":" 16:16:16.137092 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.880Z","priority":"6","pid":"2830187","message":" 16:16:16.137196 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:17.880Z","priority":"6","pid":"2830187","message":" 16:16:16.137212 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.880Z","priority":"6","pid":"2830187","message":" 16:16:16.137503 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:17.881Z","priority":"6","pid":"2830187","message":" 16:16:16.137517 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:17.881Z","priority":"6","pid":"2830187","message":" 16:16:16.137530 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.881Z","priority":"6","pid":"2830187","message":" 16:16:16.138496 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:17.882Z","priority":"6","pid":"2830187","message":" 16:16:16.138519 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:17.882Z","priority":"6","pid":"2830187","message":" 16:16:16.138535 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.882Z","priority":"6","pid":"2830187","message":" 16:16:16.178486 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:17.882Z","priority":"6","pid":"2830187","message":" 16:16:16.178566 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.883Z","priority":"6","pid":"2830187","message":" 16:16:16.179019 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:17.883Z","priority":"6","pid":"2830187","message":" 16:16:16.179046 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:17.884Z","priority":"6","pid":"2830187","message":" 16:16:16.179059 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.884Z","priority":"6","pid":"2830187","message":" 16:16:16.179859 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:17.884Z","priority":"6","pid":"2830187","message":" 16:16:16.180030 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:17.884Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:17.885Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:17.885Z","priority":"6","pid":"2830187","message":" 16:16:16.134576 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:17.886Z","priority":"6","pid":"2830187","message":" 16:16:16.135064 Listening on port 33103"}

data: {"time":"2026-09-19T16:16:17.886Z","priority":"6","pid":"2830187","message":" 16:16:16.135137 Wrote pid 90046 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:17.886Z","priority":"6","pid":"2830187","message":" 16:16:16.135176 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:17.886Z","priority":"6","pid":"2830187","message":" 16:16:16.135399 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:17.887Z","priority":"6","pid":"2830187","message":" 16:16:16.136066 ====> Client connect"}

data: {"time":"2026-09-19T16:16:17.887Z","priority":"6","pid":"2830187","message":" 16:16:16.137566 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:17.887Z","priority":"6","pid":"2830187","message":" 16:16:16.137601 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:17.888Z","priority":"6","pid":"2830187","message":" 16:16:16.137613 'WE ROOLZ: 84550\\r\\n'"}

data: {"time":"2026-09-19T16:16:17.888Z","priority":"6","pid":"2830187","message":" 16:16:16.137651 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:17.888Z","priority":"6","pid":"2830187","message":" 16:16:16.137665 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:17.889Z","priority":"6","pid":"2830187","message":" 16:16:16.137939 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:17.889Z","priority":"6","pid":"2830187","message":" 16:16:16.137955 quits"}

data: {"time":"2026-09-19T16:16:17.889Z","priority":"6","pid":"2830187","message":" 16:16:16.138055 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:17.889Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:17.889Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:17.890Z","priority":"6","pid":"2830187","message":" DELAY CWD 60"}

data: {"time":"2026-09-19T16:16:17.890Z","priority":"6","pid":"2830187","message":" Testnum 190"}

data: {"time":"2026-09-19T16:16:17.890Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:17.890Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind190"}

data: {"time":"2026-09-19T16:16:17.891Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:17.891Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:17.892Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:17.892Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.892Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:17.893Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:17.893Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:17.893Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:17.893Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:17.894Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.894Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:17.895Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:17.895Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:17.896Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:17.896Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:17.897Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:17.897Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:17.897Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.897Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:17.898Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:17.898Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.898Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:17.899Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:17.899Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:17.899Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.900Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:17.900Z","priority":"6","pid":"2830187","message":"=== End of file valgrind190"}

data: {"time":"2026-09-19T16:16:17.901Z","priority":"6","pid":"2830187","message":"startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile \"log/server/ftp_server.pid\" --logfile \"log/ftp_server.log\" --logdir \"log\" --portfile \"log/server/ftp_server.port\" --srcdir \"/build/curl/src/curl/tests\" --proto ftp --ipv4 --port 0 --addr \"127.0.0.1\""}

data: {"time":"2026-09-19T16:16:17.902Z","priority":"6","pid":"2830187","message":"PINGPONG runs on port 40021 (log/server/ftp_server.port)"}

data: {"time":"2026-09-19T16:16:17.902Z","priority":"6","pid":"2830187","message":"RUN: FTP server is PID 90097 port 40021"}

data: {"time":"2026-09-19T16:16:17.902Z","priority":"6","pid":"2830187","message":"* pid ftp => 90097 90097"}

data: {"time":"2026-09-19T16:16:17.903Z","priority":"6","pid":"2830187","message":"test 0191 [FTP URL with ?-letters in username and password]"}

data: {"time":"2026-09-19T16:16:17.904Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind191 ../src/curl -q --output log/curl191.out  --include --trace-ascii log/trace191 --trace-time \"ftp://use%3fr:pass%3fword@127.0.0.1:40021/191\" > log/stdout191 2> log/stderr191"}

data: {"time":"2026-09-19T16:16:17.905Z","priority":"6","pid":"2830187","message":" 191: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:17.905Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:17.905Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:17.906Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 191"}

data: {"time":"2026-09-19T16:16:17.906Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:17.907Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind191 ../src/curl -q --output log/curl191.out  --include --trace-ascii log/trace191 --trace-time \"ftp://use%3fr:pass%3fword@127.0.0.1:40021/191\" > log/stdout191 2> log/stderr191"}

data: {"time":"2026-09-19T16:16:17.908Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:17.908Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:17.908Z","priority":"6","pid":"2830187","message":" 16:16:16.598395 FTP server listens on port IPv4/40021"}

data: {"time":"2026-09-19T16:16:17.909Z","priority":"6","pid":"2830187","message":" 16:16:16.598584 logged pid 90097 in log/server/ftp_server.pid"}

data: {"time":"2026-09-19T16:16:17.909Z","priority":"6","pid":"2830187","message":" 16:16:16.598657 Awaiting input"}

data: {"time":"2026-09-19T16:16:17.909Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:17.910Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:17.910Z","priority":"6","pid":"2830187","message":" 16:16:16.668344 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:17.910Z","priority":"6","pid":"2830187","message":" 16:16:16.668557 Listening on port 40021"}

data: {"time":"2026-09-19T16:16:17.911Z","priority":"6","pid":"2830187","message":" 16:16:16.668618 Wrote pid 90098 to log/server/ftp_sockctrl.pid"}

data: {"time":"2026-09-19T16:16:17.911Z","priority":"6","pid":"2830187","message":" 16:16:16.668660 Wrote port 40021 to log/server/ftp_server.port"}

data: {"time":"2026-09-19T16:16:17.911Z","priority":"6","pid":"2830187","message":" 16:16:16.668696 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:17.912Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:17.912Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:17.912Z","priority":"6","pid":"2830187","message":" Testnum 191"}

data: {"time":"2026-09-19T16:16:17.912Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:17.912Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind191"}

data: {"time":"2026-09-19T16:16:17.913Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:17.913Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:17.914Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:17.914Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.914Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:17.914Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:17.915Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:17.915Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:17.916Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:17.916Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.916Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:17.916Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:17.917Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:17.917Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:17.917Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:17.918Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:17.918Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:17.918Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.918Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:17.919Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:17.919Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.919Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:17.920Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:17.920Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:17.920Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:17.920Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:17.920Z","priority":"6","pid":"2830187","message":"=== End of file valgrind191"}

data: {"time":"2026-09-19T16:16:18.151Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind193 ../src/curl -q --include --trace-ascii log/trace193 --trace-time http://127.0.0.1:36137/193 -w \"%{num_connects}\\n\" -L > log/stdout193 2> log/stderr193"}

data: {"time":"2026-09-19T16:16:18.154Z","priority":"6","pid":"2830187","message":"test 0192 [HTTP GET -w num_connects with one simple connect]"}

data: {"time":"2026-09-19T16:16:18.156Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind192 ../src/curl -q --include --trace-ascii log/trace192 --trace-time http://127.0.0.1:36137/192 -w \"%{num_connects}\\n\" > log/stdout192 2> log/stderr192"}

data: {"time":"2026-09-19T16:16:18.157Z","priority":"6","pid":"2830187","message":" 192: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:18.157Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:17.876067525 +0000"}

data: {"time":"2026-09-19T16:16:18.157Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:17.875148421 +0000"}

data: {"time":"2026-09-19T16:16:18.157Z","priority":"6","pid":"2830187","message":"@@ -1,7 +0,0 @@"}

data: {"time":"2026-09-19T16:16:18.157Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:16:18.157Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:18.158Z","priority":"6","pid":"2830187","message":"-Content-Length: 8[LF]"}

data: {"time":"2026-09-19T16:16:18.158Z","priority":"6","pid":"2830187","message":"-Connection: close[LF]"}

data: {"time":"2026-09-19T16:16:18.158Z","priority":"6","pid":"2830187","message":"-[LF]"}

data: {"time":"2026-09-19T16:16:18.158Z","priority":"6","pid":"2830187","message":"-monster[LF]"}

data: {"time":"2026-09-19T16:16:18.158Z","priority":"6","pid":"2830187","message":"-1[LF]"}

data: {"time":"2026-09-19T16:16:18.159Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 192"}

data: {"time":"2026-09-19T16:16:18.159Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:18.159Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:16:18.159Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:18.160Z","priority":"6","pid":"2830187","message":" Content-Length: 8[LF]"}

data: {"time":"2026-09-19T16:16:18.160Z","priority":"6","pid":"2830187","message":" Connection: close[LF]"}

data: {"time":"2026-09-19T16:16:18.160Z","priority":"6","pid":"2830187","message":" [LF]"}

data: {"time":"2026-09-19T16:16:18.160Z","priority":"6","pid":"2830187","message":" monster[LF]"}

data: {"time":"2026-09-19T16:16:18.160Z","priority":"6","pid":"2830187","message":" 1[LF]"}

data: {"time":"2026-09-19T16:16:18.161Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:18.161Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:18.162Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind192 ../src/curl -q --include --trace-ascii log/trace192 --trace-time http://127.0.0.1:36137/192 -w \"%{num_connects}\\n\" > log/stdout192 2> log/stderr192"}

data: {"time":"2026-09-19T16:16:18.163Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:18.163Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:18.163Z","priority":"6","pid":"2830187","message":" 16:16:17.780961 ====> Client connect"}

data: {"time":"2026-09-19T16:16:18.163Z","priority":"6","pid":"2830187","message":" 16:16:17.781011 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:18.163Z","priority":"6","pid":"2830187","message":" 16:16:17.781152 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:18.163Z","priority":"6","pid":"2830187","message":" 16:16:17.781167 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:18.164Z","priority":"6","pid":"2830187","message":" 16:16:17.781183 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:18.164Z","priority":"6","pid":"2830187","message":" 16:16:17.781193 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:18.164Z","priority":"6","pid":"2830187","message":" 16:16:17.781228 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:18.165Z","priority":"6","pid":"2830187","message":" 16:16:17.781247 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:18.165Z","priority":"6","pid":"2830187","message":" 16:16:17.781301 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:18.165Z","priority":"6","pid":"2830187","message":" 16:16:17.781311 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:18.166Z","priority":"6","pid":"2830187","message":" 16:16:17.781320 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:18.166Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:18.166Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:18.166Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:18.167Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35742"}

data: {"time":"2026-09-19T16:16:18.167Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:18.167Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:18.168Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:18.168Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:18.168Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:18.168Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:18.168Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:18.169Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:18.169Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:18.169Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:18.169Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:18.169Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:18.170Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:18.170Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:18.171Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:18.171Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:18.171Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:18.172Z","priority":"6","pid":"2830187","message":" Testnum 192"}

data: {"time":"2026-09-19T16:16:18.172Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:18.172Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:18.172Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:18.172Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:18.172Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:18.172Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:18.172Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind192"}

data: {"time":"2026-09-19T16:16:18.173Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:18.173Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:18.174Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:18.174Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.174Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:18.174Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:18.175Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:18.175Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:18.176Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:18.176Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.176Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:18.177Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:18.177Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:18.177Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:18.178Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:18.178Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:18.179Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:18.179Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.179Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:18.180Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:18.180Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.180Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:18.181Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:18.181Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:18.181Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.181Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:18.182Z","priority":"6","pid":"2830187","message":"=== End of file valgrind192"}

data: {"time":"2026-09-19T16:16:18.439Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind194 ../src/curl -q --output log/curl194.out  --include --trace-ascii log/trace194 --trace-time http://127.0.0.1:36137/want/194 -C 87 --fail > log/stdout194 2> log/stderr194"}

data: {"time":"2026-09-19T16:16:18.444Z","priority":"6","pid":"2830187","message":"test 0193 [HTTP GET -w num_connects with redirected fetch (2 connects)]"}

data: {"time":"2026-09-19T16:16:18.448Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind193 ../src/curl -q --include --trace-ascii log/trace193 --trace-time http://127.0.0.1:36137/193 -w \"%{num_connects}\\n\" -L > log/stdout193 2> log/stderr193"}

data: {"time":"2026-09-19T16:16:18.450Z","priority":"6","pid":"2830187","message":" 193: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:18.451Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:18.154188019 +0000"}

data: {"time":"2026-09-19T16:16:18.451Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:18.153161625 +0000"}

data: {"time":"2026-09-19T16:16:18.451Z","priority":"6","pid":"2830187","message":"@@ -1,13 +0,0 @@"}

data: {"time":"2026-09-19T16:16:18.452Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 302 OK swsbounce swsclose[LF]"}

data: {"time":"2026-09-19T16:16:18.453Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:18.454Z","priority":"6","pid":"2830187","message":"-Content-Length: 8[LF]"}

data: {"time":"2026-09-19T16:16:18.454Z","priority":"6","pid":"2830187","message":"-Connection: close[LF]"}

data: {"time":"2026-09-19T16:16:18.456Z","priority":"6","pid":"2830187","message":"-Location: ./193[LF]"}

data: {"time":"2026-09-19T16:16:18.456Z","priority":"6","pid":"2830187","message":"-[LF]"}

data: {"time":"2026-09-19T16:16:18.456Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:16:18.456Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:18.457Z","priority":"6","pid":"2830187","message":"-Content-Length: 8[LF]"}

data: {"time":"2026-09-19T16:16:18.458Z","priority":"6","pid":"2830187","message":"-Connection: close[LF]"}

data: {"time":"2026-09-19T16:16:18.458Z","priority":"6","pid":"2830187","message":"-[LF]"}

data: {"time":"2026-09-19T16:16:18.458Z","priority":"6","pid":"2830187","message":"-monster[LF]"}

data: {"time":"2026-09-19T16:16:18.459Z","priority":"6","pid":"2830187","message":"-2[LF]"}

data: {"time":"2026-09-19T16:16:18.461Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 193"}

data: {"time":"2026-09-19T16:16:18.461Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:18.463Z","priority":"6","pid":"2830187","message":" HTTP/1.1 302 OK swsbounce swsclose[LF]"}

data: {"time":"2026-09-19T16:16:18.463Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:18.463Z","priority":"6","pid":"2830187","message":" Content-Length: 8[LF]"}

data: {"time":"2026-09-19T16:16:18.464Z","priority":"6","pid":"2830187","message":" Connection: close[LF]"}

data: {"time":"2026-09-19T16:16:18.464Z","priority":"6","pid":"2830187","message":" Location: ./193[LF]"}

data: {"time":"2026-09-19T16:16:18.466Z","priority":"6","pid":"2830187","message":" [LF]"}

data: {"time":"2026-09-19T16:16:18.466Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:16:18.466Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:18.467Z","priority":"6","pid":"2830187","message":" Content-Length: 8[LF]"}

data: {"time":"2026-09-19T16:16:18.467Z","priority":"6","pid":"2830187","message":" Connection: close[LF]"}

data: {"time":"2026-09-19T16:16:18.468Z","priority":"6","pid":"2830187","message":" [LF]"}

data: {"time":"2026-09-19T16:16:18.469Z","priority":"6","pid":"2830187","message":" monster[LF]"}

data: {"time":"2026-09-19T16:16:18.470Z","priority":"6","pid":"2830187","message":" 2[LF]"}

data: {"time":"2026-09-19T16:16:18.470Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:18.470Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:18.472Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind193 ../src/curl -q --include --trace-ascii log/trace193 --trace-time http://127.0.0.1:36137/193 -w \"%{num_connects}\\n\" -L > log/stdout193 2> log/stderr193"}

data: {"time":"2026-09-19T16:16:18.473Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:18.473Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:18.473Z","priority":"6","pid":"2830187","message":" 16:16:18.036368 ====> Client connect"}

data: {"time":"2026-09-19T16:16:18.474Z","priority":"6","pid":"2830187","message":" 16:16:18.036418 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:18.474Z","priority":"6","pid":"2830187","message":" 16:16:18.036600 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:18.475Z","priority":"6","pid":"2830187","message":" 16:16:18.036626 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:18.475Z","priority":"6","pid":"2830187","message":" 16:16:18.036642 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:18.476Z","priority":"6","pid":"2830187","message":" 16:16:18.036653 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:18.476Z","priority":"6","pid":"2830187","message":" 16:16:18.036695 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:18.477Z","priority":"6","pid":"2830187","message":" 16:16:18.036732 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:18.477Z","priority":"6","pid":"2830187","message":" 16:16:18.036791 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:18.478Z","priority":"6","pid":"2830187","message":" 16:16:18.036802 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:18.479Z","priority":"6","pid":"2830187","message":" 16:16:18.036811 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:18.479Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:18.479Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:18.480Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:18.480Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35756"}

data: {"time":"2026-09-19T16:16:18.481Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:18.481Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:18.481Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:18.482Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:18.482Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:18.482Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:18.483Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:18.483Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:18.484Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:18.484Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:18.484Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:18.484Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:18.485Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:18.485Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:18.485Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:18.486Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:18.486Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:18.486Z","priority":"6","pid":"2830187","message":" Testnum 193"}

data: {"time":"2026-09-19T16:16:18.487Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:18.487Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:18.488Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:18.488Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:18.488Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:18.488Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:18.489Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind193"}

data: {"time":"2026-09-19T16:16:18.489Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:18.490Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:18.490Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:18.491Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.491Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:18.492Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:18.492Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:18.493Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:18.493Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:18.494Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.494Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:18.495Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:18.495Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:18.496Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:18.496Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:18.497Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:18.497Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:18.498Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.498Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:18.499Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:18.500Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.500Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:18.500Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:18.501Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:18.501Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.501Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:18.502Z","priority":"6","pid":"2830187","message":"=== End of file valgrind193"}

data: {"time":"2026-09-19T16:16:18.502Z","priority":"6","pid":"2830187","message":"test 0194 [HTTP resume transfer with the whole file already downloaded and --fail]"}

data: {"time":"2026-09-19T16:16:18.504Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind194 ../src/curl -q --output log/curl194.out  --include --trace-ascii log/trace194 --trace-time http://127.0.0.1:36137/want/194 -C 87 --fail > log/stdout194 2> log/stderr194"}

data: {"time":"2026-09-19T16:16:18.505Z","priority":"6","pid":"2830187","message":" 194: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:18.505Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:18.506Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:18.507Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 194"}

data: {"time":"2026-09-19T16:16:18.507Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:18.508Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind194 ../src/curl -q --output log/curl194.out  --include --trace-ascii log/trace194 --trace-time http://127.0.0.1:36137/want/194 -C 87 --fail > log/stdout194 2> log/stderr194"}

data: {"time":"2026-09-19T16:16:18.509Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:18.509Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:18.509Z","priority":"6","pid":"2830187","message":" 16:16:18.299031 ====> Client connect"}

data: {"time":"2026-09-19T16:16:18.510Z","priority":"6","pid":"2830187","message":" 16:16:18.299076 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:18.510Z","priority":"6","pid":"2830187","message":" 16:16:18.299196 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:18.511Z","priority":"6","pid":"2830187","message":" 16:16:18.299209 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:18.511Z","priority":"6","pid":"2830187","message":" 16:16:18.299224 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:18.511Z","priority":"6","pid":"2830187","message":" 16:16:18.299231 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:18.511Z","priority":"6","pid":"2830187","message":" 16:16:18.299260 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:18.512Z","priority":"6","pid":"2830187","message":" 16:16:18.299278 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:18.513Z","priority":"6","pid":"2830187","message":" 16:16:18.299324 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:18.513Z","priority":"6","pid":"2830187","message":" 16:16:18.299333 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:18.513Z","priority":"6","pid":"2830187","message":" 16:16:18.299339 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:18.514Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:18.514Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:18.515Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:18.515Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35770"}

data: {"time":"2026-09-19T16:16:18.515Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:18.515Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:18.516Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:18.516Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:18.516Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:18.517Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:18.517Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:18.517Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:18.517Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:18.518Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:18.518Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:18.518Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:18.519Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:18.520Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:18.520Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:18.520Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:18.520Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:18.520Z","priority":"6","pid":"2830187","message":" Testnum 194"}

data: {"time":"2026-09-19T16:16:18.520Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:18.521Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:18.521Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:18.521Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:18.521Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:18.522Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:18.522Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind194"}

data: {"time":"2026-09-19T16:16:18.523Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:18.523Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:18.524Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:18.524Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.524Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:18.525Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:18.525Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:18.525Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:18.526Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:18.526Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.526Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:18.527Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:18.527Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:18.528Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:18.528Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:18.529Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:18.529Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:18.529Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.530Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:18.530Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:18.531Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:18.531Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:18.532Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:18.532Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:18.803Z","priority":"6","pid":"2830187","message":" valgrindCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind195 ../src/curl -q --output log/curl195.out  --include --trace-ascii log/trace195 --trace-time ftp://127.0.0.1:40021/195 > log/stdout195 2> log/stderr195"}

data: {"time":"2026-09-19T16:16:19.107Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind196 ../src/curl -q --include --trace-ascii log/trace196 --trace-time ftp://127.0.0.1:40021/196 --retry 1 -w '%{num_retries}\\n' > log/stdout196 2> log/stderr196"}

data: {"time":"2026-09-19T16:16:19.113Z","priority":"6","pid":"2830187","message":":"}

data: {"time":"2026-09-19T16:16:19.113Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:19.113Z","priority":"6","pid":"2830187","message":"=== End of file valgrind194"}

data: {"time":"2026-09-19T16:16:19.114Z","priority":"6","pid":"2830187","message":"test 0195 [FTP response 530 after PASS, temporarily not allowed access]"}

data: {"time":"2026-09-19T16:16:19.116Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind195 ../src/curl -q --output log/curl195.out  --include --trace-ascii log/trace195 --trace-time ftp://127.0.0.1:40021/195 > log/stdout195 2> log/stderr195"}

data: {"time":"2026-09-19T16:16:19.116Z","priority":"6","pid":"2830187","message":" 195: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:19.117Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:19.117Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:19.117Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 195"}

data: {"time":"2026-09-19T16:16:19.118Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:19.119Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind195 ../src/curl -q --output log/curl195.out  --include --trace-ascii log/trace195 --trace-time ftp://127.0.0.1:40021/195 > log/stdout195 2> log/stderr195"}

data: {"time":"2026-09-19T16:16:19.120Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:19.120Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:19.120Z","priority":"6","pid":"2830187","message":" 16:16:18.581201 ====> Client connect"}

data: {"time":"2026-09-19T16:16:19.121Z","priority":"6","pid":"2830187","message":" 16:16:18.581685 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.122Z","priority":"6","pid":"2830187","message":" 16:16:18.582326 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:19.122Z","priority":"6","pid":"2830187","message":" 16:16:18.582496 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.123Z","priority":"6","pid":"2830187","message":" 16:16:18.582896 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:19.123Z","priority":"6","pid":"2830187","message":" 16:16:18.582956 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.123Z","priority":"6","pid":"2830187","message":" 16:16:18.583253 < \"PWD\""}

data: {"time":"2026-09-19T16:16:19.124Z","priority":"6","pid":"2830187","message":" 16:16:18.583362 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.124Z","priority":"6","pid":"2830187","message":" 16:16:18.583679 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:19.125Z","priority":"6","pid":"2830187","message":" 16:16:18.583733 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:19.125Z","priority":"6","pid":"2830187","message":" 16:16:18.583776 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:19.126Z","priority":"6","pid":"2830187","message":" 16:16:18.587795 DATA sockfilt for passive data channel started (pid 90360)"}

data: {"time":"2026-09-19T16:16:19.126Z","priority":"6","pid":"2830187","message":" 16:16:18.588076 DATA sockfilt for passive data channel listens on port 37533"}

data: {"time":"2026-09-19T16:16:19.127Z","priority":"6","pid":"2830187","message":" 16:16:18.588166 > \"229 Entering Passive Mode (|||37533|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.127Z","priority":"6","pid":"2830187","message":" 16:16:18.588195 Client has been notified that upcoming DATA connection is awaited on port 37533"}

data: {"time":"2026-09-19T16:16:19.128Z","priority":"6","pid":"2830187","message":" 16:16:18.588795 Client connects to port 37533"}

data: {"time":"2026-09-19T16:16:19.128Z","priority":"6","pid":"2830187","message":" 16:16:18.588869 ====> Client established passive DATA connection on port 37533"}

data: {"time":"2026-09-19T16:16:19.129Z","priority":"6","pid":"2830187","message":" 16:16:18.589149 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:19.129Z","priority":"6","pid":"2830187","message":" 16:16:18.589362 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.130Z","priority":"6","pid":"2830187","message":" 16:16:18.589693 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:19.130Z","priority":"6","pid":"2830187","message":" 16:16:18.589781 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.130Z","priority":"6","pid":"2830187","message":" 16:16:18.590124 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:19.130Z","priority":"6","pid":"2830187","message":" 16:16:18.590194 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.131Z","priority":"6","pid":"2830187","message":" 16:16:18.590378 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:19.131Z","priority":"6","pid":"2830187","message":" 16:16:18.590410 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:19.132Z","priority":"6","pid":"2830187","message":" 16:16:18.590897 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:19.132Z","priority":"6","pid":"2830187","message":" 16:16:18.590952 DATA sockfilt for passive data channel quits (pid 90360)"}

data: {"time":"2026-09-19T16:16:19.133Z","priority":"6","pid":"2830187","message":" 16:16:18.591519 DATA sockfilt for passive data channel quit (pid 90360)"}

data: {"time":"2026-09-19T16:16:19.133Z","priority":"6","pid":"2830187","message":" 16:16:18.591579 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:19.134Z","priority":"6","pid":"2830187","message":" 16:16:18.591633 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.134Z","priority":"6","pid":"2830187","message":" 16:16:18.632163 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:19.134Z","priority":"6","pid":"2830187","message":" 16:16:18.632272 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.135Z","priority":"6","pid":"2830187","message":" 16:16:18.633297 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:19.135Z","priority":"6","pid":"2830187","message":" 16:16:18.633506 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:19.136Z","priority":"6","pid":"2830187","message":" 16:16:18.633681 Awaiting input"}

data: {"time":"2026-09-19T16:16:19.136Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:19.136Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:19.137Z","priority":"6","pid":"2830187","message":" 16:16:18.651470 ====> Client connect"}

data: {"time":"2026-09-19T16:16:19.137Z","priority":"6","pid":"2830187","message":" 16:16:18.652230 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.137Z","priority":"6","pid":"2830187","message":" 16:16:18.652272 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.138Z","priority":"6","pid":"2830187","message":" 16:16:18.652287 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:19.139Z","priority":"6","pid":"2830187","message":" 16:16:18.652301 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.139Z","priority":"6","pid":"2830187","message":" 16:16:18.652312 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.140Z","priority":"6","pid":"2830187","message":" 16:16:18.652493 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.140Z","priority":"6","pid":"2830187","message":" 16:16:18.652516 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.140Z","priority":"6","pid":"2830187","message":" 16:16:18.652995 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.141Z","priority":"6","pid":"2830187","message":" 16:16:18.653018 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.141Z","priority":"6","pid":"2830187","message":" 16:16:18.653040 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.141Z","priority":"6","pid":"2830187","message":" 16:16:18.653159 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.142Z","priority":"6","pid":"2830187","message":" 16:16:18.653185 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.142Z","priority":"6","pid":"2830187","message":" 16:16:18.653451 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.143Z","priority":"6","pid":"2830187","message":" 16:16:18.653475 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.143Z","priority":"6","pid":"2830187","message":" 16:16:18.653489 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.144Z","priority":"6","pid":"2830187","message":" 16:16:18.653587 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.144Z","priority":"6","pid":"2830187","message":" 16:16:18.653605 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.144Z","priority":"6","pid":"2830187","message":" 16:16:18.653859 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.145Z","priority":"6","pid":"2830187","message":" 16:16:18.653880 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.145Z","priority":"6","pid":"2830187","message":" 16:16:18.653892 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.145Z","priority":"6","pid":"2830187","message":" 16:16:18.654009 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.146Z","priority":"6","pid":"2830187","message":" 16:16:18.654026 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.146Z","priority":"6","pid":"2830187","message":" 16:16:18.658714 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.146Z","priority":"6","pid":"2830187","message":" 16:16:18.658742 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.147Z","priority":"6","pid":"2830187","message":" 16:16:18.658756 '229 Entering Passive Mode (|||37533|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.148Z","priority":"6","pid":"2830187","message":" 16:16:18.659424 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.148Z","priority":"6","pid":"2830187","message":" 16:16:18.659450 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.148Z","priority":"6","pid":"2830187","message":" 16:16:18.659675 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.149Z","priority":"6","pid":"2830187","message":" 16:16:18.659699 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.149Z","priority":"6","pid":"2830187","message":" 16:16:18.659724 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.150Z","priority":"6","pid":"2830187","message":" 16:16:18.659962 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.150Z","priority":"6","pid":"2830187","message":" 16:16:18.659988 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.150Z","priority":"6","pid":"2830187","message":" 16:16:18.660277 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.151Z","priority":"6","pid":"2830187","message":" 16:16:18.660295 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.151Z","priority":"6","pid":"2830187","message":" 16:16:18.660307 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.152Z","priority":"6","pid":"2830187","message":" 16:16:18.660423 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.152Z","priority":"6","pid":"2830187","message":" 16:16:18.660445 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.153Z","priority":"6","pid":"2830187","message":" 16:16:18.660912 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.153Z","priority":"6","pid":"2830187","message":" 16:16:18.660935 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.153Z","priority":"6","pid":"2830187","message":" 16:16:18.660948 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.154Z","priority":"6","pid":"2830187","message":" 16:16:18.662134 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.154Z","priority":"6","pid":"2830187","message":" 16:16:18.662156 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.155Z","priority":"6","pid":"2830187","message":" 16:16:18.662170 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.155Z","priority":"6","pid":"2830187","message":" 16:16:18.702153 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.155Z","priority":"6","pid":"2830187","message":" 16:16:18.702280 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.156Z","priority":"6","pid":"2830187","message":" 16:16:18.702803 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.156Z","priority":"6","pid":"2830187","message":" 16:16:18.702833 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.157Z","priority":"6","pid":"2830187","message":" 16:16:18.702848 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.157Z","priority":"6","pid":"2830187","message":" 16:16:18.703650 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:19.158Z","priority":"6","pid":"2830187","message":" 16:16:18.703855 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:19.158Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:19.158Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:19.158Z","priority":"6","pid":"2830187","message":" 16:16:18.657431 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:19.159Z","priority":"6","pid":"2830187","message":" 16:16:18.658002 Listening on port 37533"}

data: {"time":"2026-09-19T16:16:19.159Z","priority":"6","pid":"2830187","message":" 16:16:18.658111 Wrote pid 90360 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:19.159Z","priority":"6","pid":"2830187","message":" 16:16:18.658150 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:19.160Z","priority":"6","pid":"2830187","message":" 16:16:18.658382 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:19.160Z","priority":"6","pid":"2830187","message":" 16:16:18.659080 ====> Client connect"}

data: {"time":"2026-09-19T16:16:19.161Z","priority":"6","pid":"2830187","message":" 16:16:18.661002 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.161Z","priority":"6","pid":"2830187","message":" 16:16:18.661035 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.161Z","priority":"6","pid":"2830187","message":" 16:16:18.661048 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.162Z","priority":"6","pid":"2830187","message":" 16:16:18.661097 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:19.162Z","priority":"6","pid":"2830187","message":" 16:16:18.661115 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:19.163Z","priority":"6","pid":"2830187","message":" 16:16:18.661453 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:19.163Z","priority":"6","pid":"2830187","message":" 16:16:18.661474 quits"}

data: {"time":"2026-09-19T16:16:19.163Z","priority":"6","pid":"2830187","message":" 16:16:18.661614 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:19.164Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:19.165Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:19.165Z","priority":"6","pid":"2830187","message":" REPLY PASS 530 temporarily not available"}

data: {"time":"2026-09-19T16:16:19.165Z","priority":"6","pid":"2830187","message":" Testnum 195"}

data: {"time":"2026-09-19T16:16:19.165Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:19.165Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind195"}

data: {"time":"2026-09-19T16:16:19.166Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:19.166Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:19.166Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:19.166Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.167Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:19.167Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:19.168Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:19.168Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:19.169Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:19.169Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.169Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:19.170Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:19.170Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:19.171Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:19.171Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:19.172Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:19.172Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:19.172Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.173Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:19.173Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:19.173Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.174Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:19.174Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:19.175Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:19.175Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.175Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:19.176Z","priority":"6","pid":"2830187","message":"=== End of file valgrind195"}

data: {"time":"2026-09-19T16:16:19.452Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind197 ../src/curl -q --include --trace-ascii log/trace197 --trace-time http://127.0.0.1:36137/197 --retry 1000 > log/stdout197 2> log/stderr197"}

data: {"time":"2026-09-19T16:16:19.460Z","priority":"6","pid":"2830187","message":"test 0196 [FTP transient error, retry request once]"}

data: {"time":"2026-09-19T16:16:19.460Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind196 ../src/curl -q --include --trace-ascii log/trace196 --trace-time ftp://127.0.0.1:40021/196 --retry 1 -w '%{num_retries}\\n' > log/stdout196 2> log/stderr196"}

data: {"time":"2026-09-19T16:16:19.460Z","priority":"6","pid":"2830187","message":" 196: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:19.460Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:19.112642876 +0000"}

data: {"time":"2026-09-19T16:16:19.460Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:19.112207173 +0000"}

data: {"time":"2026-09-19T16:16:19.461Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:16:19.461Z","priority":"6","pid":"2830187","message":"-1[LF]"}

data: {"time":"2026-09-19T16:16:19.463Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 196"}

data: {"time":"2026-09-19T16:16:19.463Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:19.463Z","priority":"6","pid":"2830187","message":" 1[LF]"}

data: {"time":"2026-09-19T16:16:19.463Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:19.463Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:19.465Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind196 ../src/curl -q --include --trace-ascii log/trace196 --trace-time ftp://127.0.0.1:40021/196 --retry 1 -w '%{num_retries}\\n' > log/stdout196 2> log/stderr196"}

data: {"time":"2026-09-19T16:16:19.466Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:19.466Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:19.467Z","priority":"6","pid":"2830187","message":" 16:16:18.860114 ====> Client connect"}

data: {"time":"2026-09-19T16:16:19.468Z","priority":"6","pid":"2830187","message":" 16:16:18.861045 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.468Z","priority":"6","pid":"2830187","message":" 16:16:18.861245 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:19.469Z","priority":"6","pid":"2830187","message":" 16:16:18.861500 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.469Z","priority":"6","pid":"2830187","message":" 16:16:18.861740 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:19.470Z","priority":"6","pid":"2830187","message":" 16:16:18.861792 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.470Z","priority":"6","pid":"2830187","message":" 16:16:18.862079 < \"PWD\""}

data: {"time":"2026-09-19T16:16:19.471Z","priority":"6","pid":"2830187","message":" 16:16:18.862142 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.471Z","priority":"6","pid":"2830187","message":" 16:16:18.862413 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:19.472Z","priority":"6","pid":"2830187","message":" 16:16:18.862452 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:19.473Z","priority":"6","pid":"2830187","message":" 16:16:18.862471 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:19.474Z","priority":"6","pid":"2830187","message":" 16:16:18.865563 DATA sockfilt for passive data channel started (pid 90425)"}

data: {"time":"2026-09-19T16:16:19.474Z","priority":"6","pid":"2830187","message":" 16:16:18.865755 DATA sockfilt for passive data channel listens on port 43621"}

data: {"time":"2026-09-19T16:16:19.475Z","priority":"6","pid":"2830187","message":" 16:16:18.865819 > \"229 Entering Passive Mode (|||43621|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.477Z","priority":"6","pid":"2830187","message":" 16:16:18.865842 Client has been notified that upcoming DATA connection is awaited on port 43621"}

data: {"time":"2026-09-19T16:16:19.477Z","priority":"6","pid":"2830187","message":" 16:16:18.866313 Client connects to port 43621"}

data: {"time":"2026-09-19T16:16:19.477Z","priority":"6","pid":"2830187","message":" 16:16:18.866408 ====> Client established passive DATA connection on port 43621"}

data: {"time":"2026-09-19T16:16:19.477Z","priority":"6","pid":"2830187","message":" 16:16:18.866578 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:19.478Z","priority":"6","pid":"2830187","message":" 16:16:18.867103 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.478Z","priority":"6","pid":"2830187","message":" 16:16:18.867217 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:19.479Z","priority":"6","pid":"2830187","message":" 16:16:18.867276 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.479Z","priority":"6","pid":"2830187","message":" 16:16:18.867604 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:19.479Z","priority":"6","pid":"2830187","message":" 16:16:18.867676 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.480Z","priority":"6","pid":"2830187","message":" 16:16:18.868132 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:19.480Z","priority":"6","pid":"2830187","message":" 16:16:18.868170 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:19.481Z","priority":"6","pid":"2830187","message":" 16:16:18.868565 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:19.481Z","priority":"6","pid":"2830187","message":" 16:16:18.868616 DATA sockfilt for passive data channel quits (pid 90425)"}

data: {"time":"2026-09-19T16:16:19.482Z","priority":"6","pid":"2830187","message":" 16:16:18.869151 DATA sockfilt for passive data channel quit (pid 90425)"}

data: {"time":"2026-09-19T16:16:19.482Z","priority":"6","pid":"2830187","message":" 16:16:18.869200 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:19.483Z","priority":"6","pid":"2830187","message":" 16:16:18.869375 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.483Z","priority":"6","pid":"2830187","message":" 16:16:18.909175 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:19.483Z","priority":"6","pid":"2830187","message":" 16:16:18.909328 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:19.484Z","priority":"6","pid":"2830187","message":" 16:16:18.910401 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:19.484Z","priority":"6","pid":"2830187","message":" 16:16:18.910596 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:19.485Z","priority":"6","pid":"2830187","message":" 16:16:18.910768 Awaiting input"}

data: {"time":"2026-09-19T16:16:19.485Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:19.486Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:19.486Z","priority":"6","pid":"2830187","message":" 16:16:18.930359 ====> Client connect"}

data: {"time":"2026-09-19T16:16:19.486Z","priority":"6","pid":"2830187","message":" 16:16:18.931141 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.487Z","priority":"6","pid":"2830187","message":" 16:16:18.931187 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.487Z","priority":"6","pid":"2830187","message":" 16:16:18.931216 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:19.488Z","priority":"6","pid":"2830187","message":" 16:16:18.931232 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.488Z","priority":"6","pid":"2830187","message":" 16:16:18.931246 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.489Z","priority":"6","pid":"2830187","message":" 16:16:18.931405 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.489Z","priority":"6","pid":"2830187","message":" 16:16:18.931429 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.490Z","priority":"6","pid":"2830187","message":" 16:16:18.931736 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.490Z","priority":"6","pid":"2830187","message":" 16:16:18.931754 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.491Z","priority":"6","pid":"2830187","message":" 16:16:18.931853 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.491Z","priority":"6","pid":"2830187","message":" 16:16:18.932053 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.492Z","priority":"6","pid":"2830187","message":" 16:16:18.932071 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.493Z","priority":"6","pid":"2830187","message":" 16:16:18.932265 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.493Z","priority":"6","pid":"2830187","message":" 16:16:18.932279 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.494Z","priority":"6","pid":"2830187","message":" 16:16:18.932293 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.495Z","priority":"6","pid":"2830187","message":" 16:16:18.932383 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.495Z","priority":"6","pid":"2830187","message":" 16:16:18.932401 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.496Z","priority":"6","pid":"2830187","message":" 16:16:18.932619 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.496Z","priority":"6","pid":"2830187","message":" 16:16:18.932636 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.496Z","priority":"6","pid":"2830187","message":" 16:16:18.932650 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.497Z","priority":"6","pid":"2830187","message":" 16:16:18.932741 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.497Z","priority":"6","pid":"2830187","message":" 16:16:18.932755 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.498Z","priority":"6","pid":"2830187","message":" 16:16:18.936325 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.498Z","priority":"6","pid":"2830187","message":" 16:16:18.936345 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.499Z","priority":"6","pid":"2830187","message":" 16:16:18.936360 '229 Entering Passive Mode (|||43621|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.499Z","priority":"6","pid":"2830187","message":" 16:16:18.936641 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.500Z","priority":"6","pid":"2830187","message":" 16:16:18.936665 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.500Z","priority":"6","pid":"2830187","message":" 16:16:18.937075 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.501Z","priority":"6","pid":"2830187","message":" 16:16:18.937102 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.502Z","priority":"6","pid":"2830187","message":" 16:16:18.937131 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.502Z","priority":"6","pid":"2830187","message":" 16:16:18.937228 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.502Z","priority":"6","pid":"2830187","message":" 16:16:18.937247 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.503Z","priority":"6","pid":"2830187","message":" 16:16:18.937804 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.503Z","priority":"6","pid":"2830187","message":" 16:16:18.937829 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.504Z","priority":"6","pid":"2830187","message":" 16:16:18.937844 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.504Z","priority":"6","pid":"2830187","message":" 16:16:18.937929 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.504Z","priority":"6","pid":"2830187","message":" 16:16:18.937945 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.505Z","priority":"6","pid":"2830187","message":" 16:16:18.938270 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.506Z","priority":"6","pid":"2830187","message":" 16:16:18.938291 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.506Z","priority":"6","pid":"2830187","message":" 16:16:18.938304 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.507Z","priority":"6","pid":"2830187","message":" 16:16:18.939694 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.507Z","priority":"6","pid":"2830187","message":" 16:16:18.939718 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.508Z","priority":"6","pid":"2830187","message":" 16:16:18.939744 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.509Z","priority":"6","pid":"2830187","message":" 16:16:18.979248 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:19.509Z","priority":"6","pid":"2830187","message":" 16:16:18.979323 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.509Z","priority":"6","pid":"2830187","message":" 16:16:18.979868 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.510Z","priority":"6","pid":"2830187","message":" 16:16:18.979899 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.510Z","priority":"6","pid":"2830187","message":" 16:16:18.979914 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.510Z","priority":"6","pid":"2830187","message":" 16:16:18.980724 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:19.511Z","priority":"6","pid":"2830187","message":" 16:16:18.980924 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:19.511Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:19.511Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:19.512Z","priority":"6","pid":"2830187","message":" 16:16:18.935672 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:19.512Z","priority":"6","pid":"2830187","message":" 16:16:18.935845 Listening on port 43621"}

data: {"time":"2026-09-19T16:16:19.513Z","priority":"6","pid":"2830187","message":" 16:16:18.935907 Wrote pid 90425 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:19.513Z","priority":"6","pid":"2830187","message":" 16:16:18.935941 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:19.514Z","priority":"6","pid":"2830187","message":" 16:16:18.936089 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" 16:16:18.936702 ====> Client connect"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" 16:16:18.938173 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" 16:16:18.938240 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" 16:16:18.938697 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" 16:16:18.938766 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" 16:16:18.938813 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" 16:16:18.939115 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" 16:16:18.939136 quits"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" 16:16:18.939276 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" REPLY PASS 430 temporarily not available"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" Testnum 196"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind196"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:19.531Z","priority":"6","pid":"2830187","message":"=== End of file valgrind196"}

data: {"time":"2026-09-19T16:16:19.783Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind198 ../src/curl -q --output log/curl198.out  --include --trace-ascii log/trace198 --trace-time http://127.0.0.1:36137/198 --retry 1000 > log/stdout198 2> log/stderr198"}

data: {"time":"2026-09-19T16:16:20.038Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind199 ../src/curl -q --output log/curl199.out  --include --trace-ascii log/trace199 --trace-time -d \"foo=moo&moo=poo\" \"http://127.0.0.1:36137/{199,199}\" -G > log/stdout199 2> log/stderr199"}

data: {"time":"2026-09-19T16:16:20.042Z","priority":"6","pid":"2830187","message":"test 0197 [HTTP GET --retry on 503 error with output to stdout]"}

data: {"time":"2026-09-19T16:16:20.044Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind197 ../src/curl -q --include --trace-ascii log/trace197 --trace-time http://127.0.0.1:36137/197 --retry 1000 > log/stdout197 2> log/stderr197"}

data: {"time":"2026-09-19T16:16:20.044Z","priority":"6","pid":"2830187","message":" 197: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:20.045Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:19.455191448 +0000"}

data: {"time":"2026-09-19T16:16:20.045Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:19.454223417 +0000"}

data: {"time":"2026-09-19T16:16:20.045Z","priority":"6","pid":"2830187","message":"@@ -1,11 +0,0 @@"}

data: {"time":"2026-09-19T16:16:20.045Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 503 BAD swsbounce[LF]"}

data: {"time":"2026-09-19T16:16:20.046Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:20.046Z","priority":"6","pid":"2830187","message":"-Content-Length: 21[LF]"}

data: {"time":"2026-09-19T16:16:20.047Z","priority":"6","pid":"2830187","message":"-[LF]"}

data: {"time":"2026-09-19T16:16:20.047Z","priority":"6","pid":"2830187","message":"-server not available[LF]"}

data: {"time":"2026-09-19T16:16:20.047Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:16:20.047Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:20.047Z","priority":"6","pid":"2830187","message":"-Content-Length: 3[LF]"}

data: {"time":"2026-09-19T16:16:20.048Z","priority":"6","pid":"2830187","message":"-Connection: close[LF]"}

data: {"time":"2026-09-19T16:16:20.048Z","priority":"6","pid":"2830187","message":"-[LF]"}

data: {"time":"2026-09-19T16:16:20.048Z","priority":"6","pid":"2830187","message":"-ok[LF]"}

data: {"time":"2026-09-19T16:16:20.049Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 197"}

data: {"time":"2026-09-19T16:16:20.049Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:20.050Z","priority":"6","pid":"2830187","message":" HTTP/1.1 503 BAD swsbounce[LF]"}

data: {"time":"2026-09-19T16:16:20.050Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:20.050Z","priority":"6","pid":"2830187","message":" Content-Length: 21[LF]"}

data: {"time":"2026-09-19T16:16:20.050Z","priority":"6","pid":"2830187","message":" [LF]"}

data: {"time":"2026-09-19T16:16:20.050Z","priority":"6","pid":"2830187","message":" server not available[LF]"}

data: {"time":"2026-09-19T16:16:20.051Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:16:20.051Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:16:20.051Z","priority":"6","pid":"2830187","message":" Content-Length: 3[LF]"}

data: {"time":"2026-09-19T16:16:20.052Z","priority":"6","pid":"2830187","message":" Connection: close[LF]"}

data: {"time":"2026-09-19T16:16:20.052Z","priority":"6","pid":"2830187","message":" [LF]"}

data: {"time":"2026-09-19T16:16:20.052Z","priority":"6","pid":"2830187","message":" ok[LF]"}

data: {"time":"2026-09-19T16:16:20.052Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:20.053Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:20.054Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind197 ../src/curl -q --include --trace-ascii log/trace197 --trace-time http://127.0.0.1:36137/197 --retry 1000 > log/stdout197 2> log/stderr197"}

data: {"time":"2026-09-19T16:16:20.054Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:20.055Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:20.055Z","priority":"6","pid":"2830187","message":" 16:16:19.306637 ====> Client connect"}

data: {"time":"2026-09-19T16:16:20.056Z","priority":"6","pid":"2830187","message":" 16:16:19.306698 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:20.056Z","priority":"6","pid":"2830187","message":" 16:16:19.307049 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:20.056Z","priority":"6","pid":"2830187","message":" 16:16:19.307084 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:20.057Z","priority":"6","pid":"2830187","message":" 16:16:19.307103 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:20.057Z","priority":"6","pid":"2830187","message":" 16:16:19.307114 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:20.057Z","priority":"6","pid":"2830187","message":" 16:16:19.307172 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:20.058Z","priority":"6","pid":"2830187","message":" 16:16:19.307200 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:20.058Z","priority":"6","pid":"2830187","message":" 16:16:19.307302 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:20.059Z","priority":"6","pid":"2830187","message":" 16:16:19.307316 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:20.059Z","priority":"6","pid":"2830187","message":" 16:16:19.307326 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:20.060Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:20.060Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:20.060Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:20.061Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35780"}

data: {"time":"2026-09-19T16:16:20.061Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:20.061Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:20.062Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:20.062Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:20.062Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:20.063Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:20.063Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:20.063Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:20.063Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:20.063Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:20.063Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:20.064Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:20.064Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:20.064Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:20.065Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:20.065Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:20.065Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.066Z","priority":"6","pid":"2830187","message":" Testnum 197"}

data: {"time":"2026-09-19T16:16:20.066Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.066Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:20.067Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:20.067Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:20.067Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:20.068Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:20.068Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind197"}

data: {"time":"2026-09-19T16:16:20.069Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:20.070Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:20.070Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:20.070Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.070Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:20.071Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:20.072Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.072Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:20.072Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.073Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.073Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:20.074Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:20.074Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:20.074Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:20.075Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:20.075Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:20.076Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:20.076Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.076Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:20.077Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:20.078Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.078Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:20.078Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:20.078Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:20.079Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.079Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:20.079Z","priority":"6","pid":"2830187","message":"=== End of file valgrind197"}

data: {"time":"2026-09-19T16:16:20.080Z","priority":"6","pid":"2830187","message":"test 0198 [HTTP GET --retry on 503 error with output to file]"}

data: {"time":"2026-09-19T16:16:20.081Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind198 ../src/curl -q --output log/curl198.out  --include --trace-ascii log/trace198 --trace-time http://127.0.0.1:36137/198 --retry 1000 > log/stdout198 2> log/stderr198"}

data: {"time":"2026-09-19T16:16:20.082Z","priority":"6","pid":"2830187","message":" 198: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:20.083Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:20.083Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:20.083Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 198"}

data: {"time":"2026-09-19T16:16:20.083Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:20.085Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind198 ../src/curl -q --output log/curl198.out  --include --trace-ascii log/trace198 --trace-time http://127.0.0.1:36137/198 --retry 1000 > log/stdout198 2> log/stderr198"}

data: {"time":"2026-09-19T16:16:20.085Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:20.085Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:20.086Z","priority":"6","pid":"2830187","message":" 16:16:19.666210 ====> Client connect"}

data: {"time":"2026-09-19T16:16:20.086Z","priority":"6","pid":"2830187","message":" 16:16:19.666269 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:20.086Z","priority":"6","pid":"2830187","message":" 16:16:19.666442 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:20.087Z","priority":"6","pid":"2830187","message":" 16:16:19.666465 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:20.087Z","priority":"6","pid":"2830187","message":" 16:16:19.666486 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:20.088Z","priority":"6","pid":"2830187","message":" 16:16:19.666502 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:20.088Z","priority":"6","pid":"2830187","message":" 16:16:19.666556 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:20.088Z","priority":"6","pid":"2830187","message":" 16:16:19.666582 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:20.089Z","priority":"6","pid":"2830187","message":" 16:16:19.666658 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:20.089Z","priority":"6","pid":"2830187","message":" 16:16:19.666677 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:20.090Z","priority":"6","pid":"2830187","message":" 16:16:19.666689 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:20.090Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:20.091Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:20.092Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:20.092Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35790"}

data: {"time":"2026-09-19T16:16:20.092Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:20.092Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:20.093Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:20.093Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:20.093Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:20.093Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:20.094Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:20.094Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:20.094Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:20.094Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:20.094Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:20.095Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:20.095Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:20.095Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:20.096Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:20.096Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:20.096Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.097Z","priority":"6","pid":"2830187","message":" Testnum 198"}

data: {"time":"2026-09-19T16:16:20.097Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.097Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:20.097Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:20.097Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:20.097Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:20.098Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:20.098Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind198"}

data: {"time":"2026-09-19T16:16:20.099Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:20.099Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:20.100Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:20.100Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.100Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:20.101Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:20.101Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.102Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:20.102Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.103Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.103Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:20.104Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:20.104Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:20.105Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:20.106Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:20.106Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:20.106Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:20.106Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.107Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:20.107Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:20.107Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.108Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:20.108Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:20.108Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:20.109Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.109Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:20.109Z","priority":"6","pid":"2830187","message":"=== End of file valgrind198"}

data: {"time":"2026-09-19T16:16:20.110Z","priority":"6","pid":"2830187","message":"test 0199 [HTTP with -d, -G and {}]"}

data: {"time":"2026-09-19T16:16:20.290Z","priority":"6","pid":"2830187","message":"../libtool --mode=eCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind200 ../src/curl -q --output log/curl200.out  --trace-ascii log/trace200 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test200.txt > log/stdout200 2> log/stderr200"}

data: {"time":"2026-09-19T16:16:20.307Z","priority":"6","pid":"2830187","message":"xecute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind199 ../src/curl -q --output log/curl199.out  --include --trace-ascii log/trace199 --trace-time -d \"foo=moo&moo=poo\" \"http://127.0.0.1:36137/{199,199}\" -G > log/stdout199 2> log/stderr199"}

data: {"time":"2026-09-19T16:16:20.307Z","priority":"6","pid":"2830187","message":" 199: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:20.308Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:20.308Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:20.308Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 199"}

data: {"time":"2026-09-19T16:16:20.309Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:20.310Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind199 ../src/curl -q --output log/curl199.out  --include --trace-ascii log/trace199 --trace-time -d \"foo=moo&moo=poo\" \"http://127.0.0.1:36137/{199,199}\" -G > log/stdout199 2> log/stderr199"}

data: {"time":"2026-09-19T16:16:20.312Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:20.312Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:20.312Z","priority":"6","pid":"2830187","message":" 16:16:19.914248 ====> Client connect"}

data: {"time":"2026-09-19T16:16:20.312Z","priority":"6","pid":"2830187","message":" 16:16:19.914313 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:20.313Z","priority":"6","pid":"2830187","message":" 16:16:19.914577 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:20.313Z","priority":"6","pid":"2830187","message":" 16:16:19.914598 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:20.313Z","priority":"6","pid":"2830187","message":" 16:16:19.914620 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:20.314Z","priority":"6","pid":"2830187","message":" 16:16:19.914635 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:20.314Z","priority":"6","pid":"2830187","message":" 16:16:19.914683 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:20.315Z","priority":"6","pid":"2830187","message":" 16:16:19.914713 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:20.315Z","priority":"6","pid":"2830187","message":" 16:16:19.914861 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:20.316Z","priority":"6","pid":"2830187","message":" 16:16:19.914898 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:20.316Z","priority":"6","pid":"2830187","message":" 16:16:19.914914 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:20.316Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:20.317Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:20.317Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:20.317Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35802"}

data: {"time":"2026-09-19T16:16:20.318Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:20.318Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:20.318Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:20.318Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:20.318Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:20.318Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:20.319Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:20.319Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:20.319Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:20.320Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:20.320Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:20.320Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:20.320Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:20.320Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:20.320Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:20.321Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:20.321Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.321Z","priority":"6","pid":"2830187","message":" Testnum 199"}

data: {"time":"2026-09-19T16:16:20.322Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.322Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:20.322Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:20.322Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:20.322Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:20.323Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:20.323Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind199"}

data: {"time":"2026-09-19T16:16:20.323Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:20.324Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:20.325Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:20.325Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.325Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:20.325Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:20.325Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.325Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:20.325Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.326Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.326Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:20.327Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:20.327Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:20.327Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:20.327Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:20.328Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:20.328Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:20.328Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.328Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:20.329Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:20.329Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.329Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:20.330Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:20.330Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:20.330Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.331Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:20.331Z","priority":"6","pid":"2830187","message":"=== End of file valgrind199"}

data: {"time":"2026-09-19T16:16:20.500Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind201 ../src/curl -q --output log/curl201.out  --include --trace-ascii log/trace201 --trace-time file://localhost//build/curl/src/build-curl/tests/log/non-existent-file.txt > log/stdout201 2> log/stderr201"}

data: {"time":"2026-09-19T16:16:20.681Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind202 ../src/curl -q --trace-ascii log/trace202 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test202.txt FILE://localhost/build/curl/src/build-curl/tests/log/test202.txt > log/stdout202 2> log/stderr202"}

data: {"time":"2026-09-19T16:16:20.684Z","priority":"6","pid":"2830187","message":"test 0200 [basic file:// file]"}

data: {"time":"2026-09-19T16:16:20.685Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind200 ../src/curl -q --output log/curl200.out  --trace-ascii log/trace200 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test200.txt > log/stdout200 2> log/stderr200"}

data: {"time":"2026-09-19T16:16:20.686Z","priority":"6","pid":"2830187","message":" 200: data FAILED:"}

data: {"time":"2026-09-19T16:16:20.686Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:20.305330076 +0000"}

data: {"time":"2026-09-19T16:16:20.687Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:20.304263788 +0000"}

data: {"time":"2026-09-19T16:16:20.687Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:16:20.687Z","priority":"6","pid":"2830187","message":"-foo[LF]"}

data: {"time":"2026-09-19T16:16:20.688Z","priority":"6","pid":"2830187","message":"-   bar[LF]"}

data: {"time":"2026-09-19T16:16:20.688Z","priority":"6","pid":"2830187","message":"-bar[LF]"}

data: {"time":"2026-09-19T16:16:20.688Z","priority":"6","pid":"2830187","message":"-   foo[LF]"}

data: {"time":"2026-09-19T16:16:20.688Z","priority":"6","pid":"2830187","message":"-moo[LF]"}

data: {"time":"2026-09-19T16:16:20.688Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 200"}

data: {"time":"2026-09-19T16:16:20.689Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:20.689Z","priority":"6","pid":"2830187","message":" foo[LF]"}

data: {"time":"2026-09-19T16:16:20.689Z","priority":"6","pid":"2830187","message":"    bar[LF]"}

data: {"time":"2026-09-19T16:16:20.689Z","priority":"6","pid":"2830187","message":" bar[LF]"}

data: {"time":"2026-09-19T16:16:20.690Z","priority":"6","pid":"2830187","message":"    foo[LF]"}

data: {"time":"2026-09-19T16:16:20.690Z","priority":"6","pid":"2830187","message":" moo[LF]"}

data: {"time":"2026-09-19T16:16:20.690Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:20.690Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:20.692Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind200 ../src/curl -q --output log/curl200.out  --trace-ascii log/trace200 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test200.txt > log/stdout200 2> log/stderr200"}

data: {"time":"2026-09-19T16:16:20.692Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:20.693Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.693Z","priority":"6","pid":"2830187","message":" Testnum 200"}

data: {"time":"2026-09-19T16:16:20.693Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.693Z","priority":"6","pid":"2830187","message":"=== Start of file test200.txt"}

data: {"time":"2026-09-19T16:16:20.693Z","priority":"6","pid":"2830187","message":" foo"}

data: {"time":"2026-09-19T16:16:20.693Z","priority":"6","pid":"2830187","message":"    bar"}

data: {"time":"2026-09-19T16:16:20.693Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:16:20.693Z","priority":"6","pid":"2830187","message":"    foo"}

data: {"time":"2026-09-19T16:16:20.694Z","priority":"6","pid":"2830187","message":" moo"}

data: {"time":"2026-09-19T16:16:20.694Z","priority":"6","pid":"2830187","message":"=== End of file test200.txt"}

data: {"time":"2026-09-19T16:16:20.696Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind200"}

data: {"time":"2026-09-19T16:16:20.697Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:20.697Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:20.698Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:20.699Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.701Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:20.702Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:20.703Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.703Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:20.704Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.705Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.706Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:20.706Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:20.711Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:20.711Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:20.712Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:20.714Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:20.715Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:20.715Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.715Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:20.715Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:20.716Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.717Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:20.718Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:20.718Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:20.720Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.720Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:20.720Z","priority":"6","pid":"2830187","message":"=== End of file valgrind200"}

data: {"time":"2026-09-19T16:16:20.720Z","priority":"6","pid":"2830187","message":"test 0201 [missing file:// file]"}

data: {"time":"2026-09-19T16:16:20.723Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind201 ../src/curl -q --output log/curl201.out  --include --trace-ascii log/trace201 --trace-time file://localhost//build/curl/src/build-curl/tests/log/non-existent-file.txt > log/stdout201 2> log/stderr201"}

data: {"time":"2026-09-19T16:16:20.723Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 37"}

data: {"time":"2026-09-19T16:16:20.724Z","priority":"6","pid":"2830187","message":" 201: exit FAILED"}

data: {"time":"2026-09-19T16:16:20.724Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 201"}

data: {"time":"2026-09-19T16:16:20.724Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:20.726Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind201 ../src/curl -q --output log/curl201.out  --include --trace-ascii log/trace201 --trace-time file://localhost//build/curl/src/build-curl/tests/log/non-existent-file.txt > log/stdout201 2> log/stderr201"}

data: {"time":"2026-09-19T16:16:20.726Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:20.727Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.727Z","priority":"6","pid":"2830187","message":" Testnum 201"}

data: {"time":"2026-09-19T16:16:20.727Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.728Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind201"}

data: {"time":"2026-09-19T16:16:20.728Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:20.728Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:20.729Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:20.729Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.729Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:20.730Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:20.730Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.730Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:20.731Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.731Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.731Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:20.732Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:20.732Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:20.733Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:20.733Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:20.734Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:20.734Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:20.734Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.734Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:20.735Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:20.735Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.735Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:20.736Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:20.736Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:20.737Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.737Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:20.737Z","priority":"6","pid":"2830187","message":"=== End of file valgrind201"}

data: {"time":"2026-09-19T16:16:20.916Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind203 ../src/curl -q --output log/curl203.out  --trace-ascii log/trace203 --trace-time file:/build/curl/src/build-curl/tests/log/test203.txt > log/stdout203 2> log/stderr203"}

data: {"time":"2026-09-19T16:16:20.919Z","priority":"6","pid":"2830187","message":"test 0202 [two file:// URLs to stdout]"}

data: {"time":"2026-09-19T16:16:20.920Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind202 ../src/curl -q --trace-ascii log/trace202 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test202.txt FILE://localhost/build/curl/src/build-curl/tests/log/test202.txt > log/stdout202 2> log/stderr202"}

data: {"time":"2026-09-19T16:16:20.920Z","priority":"6","pid":"2830187","message":" 202: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:20.921Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:20.683588714 +0000"}

data: {"time":"2026-09-19T16:16:20.921Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:20.683281789 +0000"}

data: {"time":"2026-09-19T16:16:20.922Z","priority":"6","pid":"2830187","message":"@@ -1,2 +0,0 @@"}

data: {"time":"2026-09-19T16:16:20.922Z","priority":"6","pid":"2830187","message":"-contents in a single file[LF]"}

data: {"time":"2026-09-19T16:16:20.923Z","priority":"6","pid":"2830187","message":"-contents in a single file[LF]"}

data: {"time":"2026-09-19T16:16:20.923Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 202"}

data: {"time":"2026-09-19T16:16:20.923Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:20.923Z","priority":"6","pid":"2830187","message":" contents in a single file[LF]"}

data: {"time":"2026-09-19T16:16:20.924Z","priority":"6","pid":"2830187","message":" contents in a single file[LF]"}

data: {"time":"2026-09-19T16:16:20.924Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:20.924Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:20.926Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind202 ../src/curl -q --trace-ascii log/trace202 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test202.txt FILE://localhost/build/curl/src/build-curl/tests/log/test202.txt > log/stdout202 2> log/stderr202"}

data: {"time":"2026-09-19T16:16:20.926Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:20.927Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.927Z","priority":"6","pid":"2830187","message":" Testnum 202"}

data: {"time":"2026-09-19T16:16:20.927Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:20.927Z","priority":"6","pid":"2830187","message":"=== Start of file test202.txt"}

data: {"time":"2026-09-19T16:16:20.928Z","priority":"6","pid":"2830187","message":" contents in a single file"}

data: {"time":"2026-09-19T16:16:20.928Z","priority":"6","pid":"2830187","message":"=== End of file test202.txt"}

data: {"time":"2026-09-19T16:16:20.928Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind202"}

data: {"time":"2026-09-19T16:16:20.929Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:20.929Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:20.930Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:20.930Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.930Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:20.931Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:20.931Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.931Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:20.932Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:20.932Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.933Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:20.935Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:20.935Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:20.935Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:20.936Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:20.937Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:20.938Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:20.938Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.939Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:20.939Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:20.941Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.942Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:20.942Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:20.943Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:20.943Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:20.945Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:20.945Z","priority":"6","pid":"2830187","message":"=== End of file valgrind202"}

data: {"time":"2026-09-19T16:16:21.137Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind204 ../src/curl -q --output log/curl204.out  --trace-ascii log/trace204 --trace-time file://localhost/build/curl/src/build-curl/tests/log/result204.txt -T log/upload204.txt > log/stdout204 2> log/stderr204"}

data: {"time":"2026-09-19T16:16:21.140Z","priority":"6","pid":"2830187","message":"setenv MSYS2_ARG_CONV_EXCL = file:"}

data: {"time":"2026-09-19T16:16:21.141Z","priority":"6","pid":"2830187","message":"test 0203 [file:/path URL with a single slash]"}

data: {"time":"2026-09-19T16:16:21.142Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind203 ../src/curl -q --output log/curl203.out  --trace-ascii log/trace203 --trace-time file:/build/curl/src/build-curl/tests/log/test203.txt > log/stdout203 2> log/stderr203"}

data: {"time":"2026-09-19T16:16:21.143Z","priority":"6","pid":"2830187","message":" 203: data FAILED:"}

data: {"time":"2026-09-19T16:16:21.143Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:20.918484842 +0000"}

data: {"time":"2026-09-19T16:16:21.144Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:20.918292951 +0000"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":"-foo[LF]"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":"-   bar[LF]"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":"-bar[LF]"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":"-   foo[LF]"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":"-moo[LF]"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 203"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":" foo[LF]"}

data: {"time":"2026-09-19T16:16:21.145Z","priority":"6","pid":"2830187","message":"    bar[LF]"}

data: {"time":"2026-09-19T16:16:21.146Z","priority":"6","pid":"2830187","message":" bar[LF]"}

data: {"time":"2026-09-19T16:16:21.146Z","priority":"6","pid":"2830187","message":"    foo[LF]"}

data: {"time":"2026-09-19T16:16:21.146Z","priority":"6","pid":"2830187","message":" moo[LF]"}

data: {"time":"2026-09-19T16:16:21.146Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:21.146Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:21.148Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind203 ../src/curl -q --output log/curl203.out  --trace-ascii log/trace203 --trace-time file:/build/curl/src/build-curl/tests/log/test203.txt > log/stdout203 2> log/stderr203"}

data: {"time":"2026-09-19T16:16:21.148Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:21.149Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:21.149Z","priority":"6","pid":"2830187","message":" Testnum 203"}

data: {"time":"2026-09-19T16:16:21.149Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:21.149Z","priority":"6","pid":"2830187","message":"=== Start of file test203.txt"}

data: {"time":"2026-09-19T16:16:21.149Z","priority":"6","pid":"2830187","message":" foo"}

data: {"time":"2026-09-19T16:16:21.149Z","priority":"6","pid":"2830187","message":"    bar"}

data: {"time":"2026-09-19T16:16:21.149Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:16:21.149Z","priority":"6","pid":"2830187","message":"    foo"}

data: {"time":"2026-09-19T16:16:21.149Z","priority":"6","pid":"2830187","message":" moo"}

data: {"time":"2026-09-19T16:16:21.150Z","priority":"6","pid":"2830187","message":"=== End of file test203.txt"}

data: {"time":"2026-09-19T16:16:21.150Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind203"}

data: {"time":"2026-09-19T16:16:21.150Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:21.151Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:21.151Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:21.151Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.151Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:21.152Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:21.152Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:21.153Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:21.153Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:21.153Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.154Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:21.155Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:21.155Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:21.156Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:21.156Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:21.157Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:21.157Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:21.157Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.158Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:21.158Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:21.159Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.159Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:21.160Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:21.160Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:21.161Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.161Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:21.161Z","priority":"6","pid":"2830187","message":"=== End of file valgrind203"}

data: {"time":"2026-09-19T16:16:21.356Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind205 ../src/curl -q --output log/curl205.out  --trace-ascii log/trace205 --trace-time file://localhost//build/curl/src/build-curl/tests/log/nonexisting/result205.txt -T log/upload205.txt > log/stdout205 2> log/stderr205"}

data: {"time":"2026-09-19T16:16:21.608Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind206 ../src/curl -q --output log/curl206.out  --include --trace-ascii log/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:36137 --proxy-user=silly:person --proxy-digest --proxytunnel > log/stdout206 2> log/stderr206"}

data: {"time":"2026-09-19T16:16:21.615Z","priority":"6","pid":"2830187","message":"test 0204 [\"upload\" with file://]"}

data: {"time":"2026-09-19T16:16:21.617Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind204 ../src/curl -q --output log/curl204.out  --trace-ascii log/trace204 --trace-time file://localhost/build/curl/src/build-curl/tests/log/result204.txt -T log/upload204.txt > log/stdout204 2> log/stderr204"}

data: {"time":"2026-09-19T16:16:21.617Z","priority":"6","pid":"2830187","message":" 204: output (log/result204.txt) FAILED:"}

data: {"time":"2026-09-19T16:16:21.617Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:21.140567211 +0000"}

data: {"time":"2026-09-19T16:16:21.618Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:21.140303495 +0000"}

data: {"time":"2026-09-19T16:16:21.618Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:16:21.619Z","priority":"6","pid":"2830187","message":"-data[LF]"}

data: {"time":"2026-09-19T16:16:21.619Z","priority":"6","pid":"2830187","message":"-in[LF]"}

data: {"time":"2026-09-19T16:16:21.619Z","priority":"6","pid":"2830187","message":"-file[LF]"}

data: {"time":"2026-09-19T16:16:21.619Z","priority":"6","pid":"2830187","message":"-to[LF]"}

data: {"time":"2026-09-19T16:16:21.619Z","priority":"6","pid":"2830187","message":"-write[LF]"}

data: {"time":"2026-09-19T16:16:21.619Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 204"}

data: {"time":"2026-09-19T16:16:21.620Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:21.620Z","priority":"6","pid":"2830187","message":" data[LF]"}

data: {"time":"2026-09-19T16:16:21.620Z","priority":"6","pid":"2830187","message":" in[LF]"}

data: {"time":"2026-09-19T16:16:21.620Z","priority":"6","pid":"2830187","message":" file[LF]"}

data: {"time":"2026-09-19T16:16:21.621Z","priority":"6","pid":"2830187","message":" to[LF]"}

data: {"time":"2026-09-19T16:16:21.621Z","priority":"6","pid":"2830187","message":" write[LF]"}

data: {"time":"2026-09-19T16:16:21.621Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:21.621Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:21.623Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind204 ../src/curl -q --output log/curl204.out  --trace-ascii log/trace204 --trace-time file://localhost/build/curl/src/build-curl/tests/log/result204.txt -T log/upload204.txt > log/stdout204 2> log/stderr204"}

data: {"time":"2026-09-19T16:16:21.623Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:21.623Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:21.624Z","priority":"6","pid":"2830187","message":" Testnum 204"}

data: {"time":"2026-09-19T16:16:21.624Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:21.624Z","priority":"6","pid":"2830187","message":"=== Start of file upload204.txt"}

data: {"time":"2026-09-19T16:16:21.624Z","priority":"6","pid":"2830187","message":" data"}

data: {"time":"2026-09-19T16:16:21.625Z","priority":"6","pid":"2830187","message":" in"}

data: {"time":"2026-09-19T16:16:21.625Z","priority":"6","pid":"2830187","message":" file"}

data: {"time":"2026-09-19T16:16:21.625Z","priority":"6","pid":"2830187","message":" to"}

data: {"time":"2026-09-19T16:16:21.625Z","priority":"6","pid":"2830187","message":" write"}

data: {"time":"2026-09-19T16:16:21.625Z","priority":"6","pid":"2830187","message":"=== End of file upload204.txt"}

data: {"time":"2026-09-19T16:16:21.625Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind204"}

data: {"time":"2026-09-19T16:16:21.626Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:21.626Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:21.627Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:21.627Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.627Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:21.628Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:21.629Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:21.629Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:21.629Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:21.629Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.629Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:21.630Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:21.630Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:21.631Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:21.631Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:21.632Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:21.633Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:21.633Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.633Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:21.633Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:21.633Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.634Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:21.634Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:21.634Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:21.635Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.635Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:21.635Z","priority":"6","pid":"2830187","message":"=== End of file valgrind204"}

data: {"time":"2026-09-19T16:16:21.636Z","priority":"6","pid":"2830187","message":"test 0205 [\"upload\" nonexisting with file://]"}

data: {"time":"2026-09-19T16:16:21.637Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind205 ../src/curl -q --output log/curl205.out  --trace-ascii log/trace205 --trace-time file://localhost//build/curl/src/build-curl/tests/log/nonexisting/result205.txt -T log/upload205.txt > log/stdout205 2> log/stderr205"}

data: {"time":"2026-09-19T16:16:21.639Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 23"}

data: {"time":"2026-09-19T16:16:21.639Z","priority":"6","pid":"2830187","message":" 205: exit FAILED"}

data: {"time":"2026-09-19T16:16:21.639Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 205"}

data: {"time":"2026-09-19T16:16:21.639Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:21.641Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind205 ../src/curl -q --output log/curl205.out  --trace-ascii log/trace205 --trace-time file://localhost//build/curl/src/build-curl/tests/log/nonexisting/result205.txt -T log/upload205.txt > log/stdout205 2> log/stderr205"}

data: {"time":"2026-09-19T16:16:21.641Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:21.641Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:21.642Z","priority":"6","pid":"2830187","message":" Testnum 205"}

data: {"time":"2026-09-19T16:16:21.642Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:21.642Z","priority":"6","pid":"2830187","message":"=== Start of file upload205.txt"}

data: {"time":"2026-09-19T16:16:21.642Z","priority":"6","pid":"2830187","message":" data"}

data: {"time":"2026-09-19T16:16:21.642Z","priority":"6","pid":"2830187","message":" in"}

data: {"time":"2026-09-19T16:16:21.643Z","priority":"6","pid":"2830187","message":" file"}

data: {"time":"2026-09-19T16:16:21.643Z","priority":"6","pid":"2830187","message":" to"}

data: {"time":"2026-09-19T16:16:21.643Z","priority":"6","pid":"2830187","message":" write"}

data: {"time":"2026-09-19T16:16:21.644Z","priority":"6","pid":"2830187","message":"=== End of file upload205.txt"}

data: {"time":"2026-09-19T16:16:21.644Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind205"}

data: {"time":"2026-09-19T16:16:21.644Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:21.644Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:21.645Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:21.645Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.645Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:21.646Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:21.646Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:21.647Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:21.647Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:21.647Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.647Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:21.648Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:21.648Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:21.649Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:21.649Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:21.650Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:21.650Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:21.650Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.651Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:21.652Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:21.652Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.653Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:21.653Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:21.654Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:21.654Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:21.654Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:21.654Z","priority":"6","pid":"2830187","message":"=== End of file valgrind205"}

data: {"time":"2026-09-19T16:16:21.655Z","priority":"6","pid":"2830187","message":"test 0206 [HTTP proxy CONNECT auth Digest]"}

data: {"time":"2026-09-19T16:16:21.657Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind206 ../src/curl -q --output log/curl206.out  --include --trace-ascii log/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:36137 --proxy-user=silly:person --proxy-digest --proxytunnel > log/stdout206 2> log/stderr206"}

data: {"time":"2026-09-19T16:16:21.658Z","priority":"6","pid":"2830187","message":" 206: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:21.658Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:21.659Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:21.659Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 206"}

data: {"time":"2026-09-19T16:16:21.660Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:21.661Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind206 ../src/curl -q --output log/curl206.out  --include --trace-ascii log/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:36137 --proxy-user=silly:person --proxy-digest --proxytunnel > log/stdout206 2> log/stderr206"}

data: {"time":"2026-09-19T16:16:21.662Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:21.663Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:21.663Z","priority":"6","pid":"2830187","message":" 16:16:21.481998 ====> Client connect"}

data: {"time":"2026-09-19T16:16:21.663Z","priority":"6","pid":"2830187","message":" 16:16:21.482051 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:21.663Z","priority":"6","pid":"2830187","message":" 16:16:21.482241 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:21.663Z","priority":"6","pid":"2830187","message":" 16:16:21.482262 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:21.664Z","priority":"6","pid":"2830187","message":" 16:16:21.482280 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:21.665Z","priority":"6","pid":"2830187","message":" 16:16:21.482292 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:21.665Z","priority":"6","pid":"2830187","message":" 16:16:21.482351 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:21.665Z","priority":"6","pid":"2830187","message":" 16:16:21.482385 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:21.666Z","priority":"6","pid":"2830187","message":" 16:16:21.482467 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:21.666Z","priority":"6","pid":"2830187","message":" 16:16:21.482480 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:21.667Z","priority":"6","pid":"2830187","message":" 16:16:21.482491 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:21.667Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:21.667Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:21.667Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:21.668Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35812"}

data: {"time":"2026-09-19T16:16:21.668Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:21.669Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:21.669Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:21.669Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:21.670Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:21.670Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:21.670Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:21.670Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:21.670Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:21.671Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:21.671Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:21.671Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:21.671Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:21.672Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:21.672Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:21.673Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:21.673Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:21.673Z","priority":"6","pid":"2830187","message":" connection-monitor"}

data: {"time":"2026-09-19T16:16:21.673Z","priority":"6","pid":"2830187","message":" auth_required"}

data: {"time":"2026-09-19T16:16:21.673Z","priority":"6","pid":"2830187","message":" Testnum 206"}

data: {"time":"2026-09-19T16:16:21.674Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:21.674Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:21.674Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:21.674Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:21.674Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:21.675Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:21.675Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind206"}

data: {"time":"2026-09-19T16:16:21.676Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:21.676Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:21.914Z","priority":"6","pid":"2830187","message":" valgrinCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind207 ../src/curl -q --output log/curl207.out  --include --trace-ascii log/trace207 --trace-time http://127.0.0.1:36137/207 > log/stdout207 2> log/stderr207"}

data: {"time":"2026-09-19T16:16:22.177Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind208 ../src/curl -q --output log/curl208.out  --include --trace-ascii log/trace208 --trace-time -x http://127.0.0.1:36137 ftp://daniel:mysecret@host.com/we/want/208 -T log/test208.txt > log/stdout208 2> log/stderr208"}

data: {"time":"2026-09-19T16:16:22.182Z","priority":"6","pid":"2830187","message":"d:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:22.183Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.183Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:22.183Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:22.183Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.184Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:22.184Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.185Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.185Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:22.185Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:22.185Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:22.186Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:22.186Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:22.186Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:22.187Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:22.187Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.188Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:22.188Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:22.188Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.189Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:22.189Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:22.189Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:22.189Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.190Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:22.190Z","priority":"6","pid":"2830187","message":"=== End of file valgrind206"}

data: {"time":"2026-09-19T16:16:22.190Z","priority":"6","pid":"2830187","message":"test 0207 [HTTP GET with chunked Transfer-Encoding closed prematurely]"}

data: {"time":"2026-09-19T16:16:22.192Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind207 ../src/curl -q --output log/curl207.out  --include --trace-ascii log/trace207 --trace-time http://127.0.0.1:36137/207 > log/stdout207 2> log/stderr207"}

data: {"time":"2026-09-19T16:16:22.193Z","priority":"6","pid":"2830187","message":" 207: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:22.193Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:22.193Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:22.193Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 207"}

data: {"time":"2026-09-19T16:16:22.194Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:22.195Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind207 ../src/curl -q --output log/curl207.out  --include --trace-ascii log/trace207 --trace-time http://127.0.0.1:36137/207 > log/stdout207 2> log/stderr207"}

data: {"time":"2026-09-19T16:16:22.195Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:22.196Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:22.196Z","priority":"6","pid":"2830187","message":" 16:16:21.797765 ====> Client connect"}

data: {"time":"2026-09-19T16:16:22.196Z","priority":"6","pid":"2830187","message":" 16:16:21.797825 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:22.197Z","priority":"6","pid":"2830187","message":" 16:16:21.798087 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:22.197Z","priority":"6","pid":"2830187","message":" 16:16:21.798114 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:22.197Z","priority":"6","pid":"2830187","message":" 16:16:21.798132 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:22.198Z","priority":"6","pid":"2830187","message":" 16:16:21.798144 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:22.198Z","priority":"6","pid":"2830187","message":" 16:16:21.798189 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:22.198Z","priority":"6","pid":"2830187","message":" 16:16:21.798215 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:22.199Z","priority":"6","pid":"2830187","message":" 16:16:21.798358 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:22.199Z","priority":"6","pid":"2830187","message":" 16:16:21.798372 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:22.200Z","priority":"6","pid":"2830187","message":" 16:16:21.798383 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:22.200Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:22.200Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:22.201Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:22.201Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35828"}

data: {"time":"2026-09-19T16:16:22.201Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:22.202Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:22.202Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:22.202Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:22.203Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:22.203Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:22.203Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:22.203Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:22.204Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:22.204Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:22.204Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:22.204Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:22.204Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:22.205Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:22.205Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:22.205Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:22.205Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:22.206Z","priority":"6","pid":"2830187","message":" Testnum 207"}

data: {"time":"2026-09-19T16:16:22.207Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:22.207Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:22.207Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:22.207Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:22.207Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:22.207Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:22.207Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind207"}

data: {"time":"2026-09-19T16:16:22.208Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:22.208Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:22.209Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:22.209Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.209Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:22.209Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:22.210Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.211Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:22.211Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.211Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.211Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:22.211Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:22.212Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:22.212Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:22.213Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:22.213Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:22.214Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:22.214Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.215Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:22.215Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:22.215Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.215Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:22.216Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:22.216Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:22.216Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.217Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:22.217Z","priority":"6","pid":"2830187","message":"=== End of file valgrind207"}

data: {"time":"2026-09-19T16:16:22.218Z","priority":"6","pid":"2830187","message":"test 0208 [HTTP PUT to an FTP URL with username+password - over HTTP proxy]"}

data: {"time":"2026-09-19T16:16:22.219Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind208 ../src/curl -q --output log/curl208.out  --include --trace-ascii log/trace208 --trace-time -x http://127.0.0.1:36137 ftp://daniel:mysecret@host.com/we/want/208 -T log/test208.txt > log/stdout208 2> log/stderr208"}

data: {"time":"2026-09-19T16:16:22.220Z","priority":"6","pid":"2830187","message":" 208: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:22.220Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:22.221Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:22.221Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 208"}

data: {"time":"2026-09-19T16:16:22.221Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:22.223Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind208 ../src/curl -q --output log/curl208.out  --include --trace-ascii log/trace208 --trace-time -x http://127.0.0.1:36137 ftp://daniel:mysecret@host.com/we/want/208 -T log/test208.txt > log/stdout208 2> log/stderr208"}

data: {"time":"2026-09-19T16:16:22.224Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:22.224Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:22.224Z","priority":"6","pid":"2830187","message":" 16:16:22.047830 ====> Client connect"}

data: {"time":"2026-09-19T16:16:22.225Z","priority":"6","pid":"2830187","message":" 16:16:22.047882 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:22.225Z","priority":"6","pid":"2830187","message":" 16:16:22.047914 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:22.226Z","priority":"6","pid":"2830187","message":" 16:16:22.047926 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:22.227Z","priority":"6","pid":"2830187","message":" 16:16:22.047942 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:22.227Z","priority":"6","pid":"2830187","message":" 16:16:22.047953 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:22.227Z","priority":"6","pid":"2830187","message":" 16:16:22.047986 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:22.227Z","priority":"6","pid":"2830187","message":" 16:16:22.048020 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:22.228Z","priority":"6","pid":"2830187","message":" 16:16:22.048131 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:22.229Z","priority":"6","pid":"2830187","message":" 16:16:22.048148 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:22.229Z","priority":"6","pid":"2830187","message":" 16:16:22.048161 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:22.229Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:22.229Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:22.229Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:22.230Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35838"}

data: {"time":"2026-09-19T16:16:22.230Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:22.231Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:22.231Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:22.231Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:22.231Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:22.231Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:22.231Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:22.231Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:22.232Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:22.232Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:22.232Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:22.233Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:22.233Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:22.233Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:22.233Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:22.234Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:22.234Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:22.234Z","priority":"6","pid":"2830187","message":" Testnum 208"}

data: {"time":"2026-09-19T16:16:22.235Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:22.236Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:22.236Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:22.236Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:22.236Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:22.236Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:22.236Z","priority":"6","pid":"2830187","message":"=== Start of file test208.txt"}

data: {"time":"2026-09-19T16:16:22.236Z","priority":"6","pid":"2830187","message":" Weird"}

data: {"time":"2026-09-19T16:16:22.237Z","priority":"6","pid":"2830187","message":"      file"}

data: {"time":"2026-09-19T16:16:22.237Z","priority":"6","pid":"2830187","message":"          to"}

data: {"time":"2026-09-19T16:16:22.237Z","priority":"6","pid":"2830187","message":"    upload"}

data: {"time":"2026-09-19T16:16:22.237Z","priority":"6","pid":"2830187","message":" for"}

data: {"time":"2026-09-19T16:16:22.237Z","priority":"6","pid":"2830187","message":"    testing"}

data: {"time":"2026-09-19T16:16:22.237Z","priority":"6","pid":"2830187","message":" the"}

data: {"time":"2026-09-19T16:16:22.237Z","priority":"6","pid":"2830187","message":"    PUT"}

data: {"time":"2026-09-19T16:16:22.237Z","priority":"6","pid":"2830187","message":"       feature"}

data: {"time":"2026-09-19T16:16:22.238Z","priority":"6","pid":"2830187","message":"=== End of file test208.txt"}

data: {"time":"2026-09-19T16:16:22.238Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind208"}

data: {"time":"2026-09-19T16:16:22.238Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:22.239Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:22.239Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:22.239Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.240Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:22.240Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:22.240Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.241Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:22.241Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.514Z","priority":"6","pid":"2830187","message":" valgrind:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind210 ../src/curl -q --output log/curl210.out  --trace-ascii log/trace210 --trace-time ftp://127.0.0.1:40021/a/path/210 ftp://127.0.0.1:40021/a/path/210 > log/stdout210 2> log/stderr210"}

data: {"time":"2026-09-19T16:16:22.526Z","priority":"6","pid":"2830187","message":"  "}

data: {"time":"2026-09-19T16:16:22.526Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:22.526Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:22.527Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:22.527Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:22.527Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:22.528Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:22.528Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:22.529Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.529Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:22.529Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:22.530Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.530Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:22.531Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:22.531Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:22.531Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.531Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:22.532Z","priority":"6","pid":"2830187","message":"=== End of file valgrind208"}

data: {"time":"2026-09-19T16:16:22.532Z","priority":"6","pid":"2830187","message":"test 0210 [Get two FTP files from the same remote dir: no second CWD]"}

data: {"time":"2026-09-19T16:16:22.534Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind210 ../src/curl -q --output log/curl210.out  --trace-ascii log/trace210 --trace-time ftp://127.0.0.1:40021/a/path/210 ftp://127.0.0.1:40021/a/path/210 > log/stdout210 2> log/stderr210"}

data: {"time":"2026-09-19T16:16:22.534Z","priority":"6","pid":"2830187","message":" 210: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:22.534Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:22.535Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:22.535Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 210"}

data: {"time":"2026-09-19T16:16:22.537Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:22.537Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind210 ../src/curl -q --output log/curl210.out  --trace-ascii log/trace210 --trace-time ftp://127.0.0.1:40021/a/path/210 ftp://127.0.0.1:40021/a/path/210 > log/stdout210 2> log/stderr210"}

data: {"time":"2026-09-19T16:16:22.538Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:22.538Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:22.538Z","priority":"6","pid":"2830187","message":" 16:16:22.285300 ====> Client connect"}

data: {"time":"2026-09-19T16:16:22.540Z","priority":"6","pid":"2830187","message":" 16:16:22.285696 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.540Z","priority":"6","pid":"2830187","message":" 16:16:22.286468 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:22.540Z","priority":"6","pid":"2830187","message":" 16:16:22.286780 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.541Z","priority":"6","pid":"2830187","message":" 16:16:22.286945 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:22.541Z","priority":"6","pid":"2830187","message":" 16:16:22.287001 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.542Z","priority":"6","pid":"2830187","message":" 16:16:22.287374 < \"PWD\""}

data: {"time":"2026-09-19T16:16:22.542Z","priority":"6","pid":"2830187","message":" 16:16:22.287434 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.542Z","priority":"6","pid":"2830187","message":" 16:16:22.287753 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:22.543Z","priority":"6","pid":"2830187","message":" 16:16:22.287823 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:22.543Z","priority":"6","pid":"2830187","message":" 16:16:22.287850 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:22.544Z","priority":"6","pid":"2830187","message":" 16:16:22.292133 DATA sockfilt for passive data channel started (pid 91196)"}

data: {"time":"2026-09-19T16:16:22.544Z","priority":"6","pid":"2830187","message":" 16:16:22.292422 DATA sockfilt for passive data channel listens on port 37409"}

data: {"time":"2026-09-19T16:16:22.545Z","priority":"6","pid":"2830187","message":" 16:16:22.292498 > \"229 Entering Passive Mode (|||37409|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.545Z","priority":"6","pid":"2830187","message":" 16:16:22.292524 Client has been notified that upcoming DATA connection is awaited on port 37409"}

data: {"time":"2026-09-19T16:16:22.546Z","priority":"6","pid":"2830187","message":" 16:16:22.293153 Client connects to port 37409"}

data: {"time":"2026-09-19T16:16:22.546Z","priority":"6","pid":"2830187","message":" 16:16:22.293231 ====> Client established passive DATA connection on port 37409"}

data: {"time":"2026-09-19T16:16:22.547Z","priority":"6","pid":"2830187","message":" 16:16:22.293520 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:22.547Z","priority":"6","pid":"2830187","message":" 16:16:22.293657 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.547Z","priority":"6","pid":"2830187","message":" 16:16:22.294018 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:22.548Z","priority":"6","pid":"2830187","message":" 16:16:22.294108 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.548Z","priority":"6","pid":"2830187","message":" 16:16:22.301989 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:22.548Z","priority":"6","pid":"2830187","message":" 16:16:22.302115 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.549Z","priority":"6","pid":"2830187","message":" 16:16:22.302284 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:22.549Z","priority":"6","pid":"2830187","message":" 16:16:22.302320 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:22.550Z","priority":"6","pid":"2830187","message":" 16:16:22.302997 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:22.550Z","priority":"6","pid":"2830187","message":" 16:16:22.303068 DATA sockfilt for passive data channel quits (pid 91196)"}

data: {"time":"2026-09-19T16:16:22.551Z","priority":"6","pid":"2830187","message":" 16:16:22.303579 DATA sockfilt for passive data channel quit (pid 91196)"}

data: {"time":"2026-09-19T16:16:22.551Z","priority":"6","pid":"2830187","message":" 16:16:22.303636 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:22.552Z","priority":"6","pid":"2830187","message":" 16:16:22.303845 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.553Z","priority":"6","pid":"2830187","message":" 16:16:22.344038 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:22.553Z","priority":"6","pid":"2830187","message":" 16:16:22.344117 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.553Z","priority":"6","pid":"2830187","message":" 16:16:22.345158 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:22.553Z","priority":"6","pid":"2830187","message":" 16:16:22.345369 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:22.553Z","priority":"6","pid":"2830187","message":" 16:16:22.345525 Awaiting input"}

data: {"time":"2026-09-19T16:16:22.553Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:22.554Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:22.554Z","priority":"6","pid":"2830187","message":" 16:16:22.355354 ====> Client connect"}

data: {"time":"2026-09-19T16:16:22.554Z","priority":"6","pid":"2830187","message":" 16:16:22.356137 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.554Z","priority":"6","pid":"2830187","message":" 16:16:22.356178 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.555Z","priority":"6","pid":"2830187","message":" 16:16:22.356199 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:22.555Z","priority":"6","pid":"2830187","message":" 16:16:22.356216 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.556Z","priority":"6","pid":"2830187","message":" 16:16:22.356231 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.556Z","priority":"6","pid":"2830187","message":" 16:16:22.356420 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.556Z","priority":"6","pid":"2830187","message":" 16:16:22.356472 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.557Z","priority":"6","pid":"2830187","message":" 16:16:22.356825 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.557Z","priority":"6","pid":"2830187","message":" 16:16:22.356850 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.557Z","priority":"6","pid":"2830187","message":" 16:16:22.356881 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.558Z","priority":"6","pid":"2830187","message":" 16:16:22.356999 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.558Z","priority":"6","pid":"2830187","message":" 16:16:22.357019 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.558Z","priority":"6","pid":"2830187","message":" 16:16:22.357326 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.558Z","priority":"6","pid":"2830187","message":" 16:16:22.357351 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.559Z","priority":"6","pid":"2830187","message":" 16:16:22.357368 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.559Z","priority":"6","pid":"2830187","message":" 16:16:22.357524 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.559Z","priority":"6","pid":"2830187","message":" 16:16:22.357544 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.560Z","priority":"6","pid":"2830187","message":" 16:16:22.357752 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.560Z","priority":"6","pid":"2830187","message":" 16:16:22.357772 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.560Z","priority":"6","pid":"2830187","message":" 16:16:22.357790 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.560Z","priority":"6","pid":"2830187","message":" 16:16:22.357907 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.561Z","priority":"6","pid":"2830187","message":" 16:16:22.357925 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.561Z","priority":"6","pid":"2830187","message":" 16:16:22.362867 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.562Z","priority":"6","pid":"2830187","message":" 16:16:22.362899 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.562Z","priority":"6","pid":"2830187","message":" 16:16:22.362925 '229 Entering Passive Mode (|||37409|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.562Z","priority":"6","pid":"2830187","message":" 16:16:22.363296 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.563Z","priority":"6","pid":"2830187","message":" 16:16:22.363334 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.563Z","priority":"6","pid":"2830187","message":" 16:16:22.363879 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.563Z","priority":"6","pid":"2830187","message":" 16:16:22.363904 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.564Z","priority":"6","pid":"2830187","message":" 16:16:22.363978 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.564Z","priority":"6","pid":"2830187","message":" 16:16:22.364098 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.565Z","priority":"6","pid":"2830187","message":" 16:16:22.364120 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.565Z","priority":"6","pid":"2830187","message":" 16:16:22.364435 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.565Z","priority":"6","pid":"2830187","message":" 16:16:22.364462 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.566Z","priority":"6","pid":"2830187","message":" 16:16:22.364476 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.566Z","priority":"6","pid":"2830187","message":" 16:16:22.364572 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.567Z","priority":"6","pid":"2830187","message":" 16:16:22.372708 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.567Z","priority":"6","pid":"2830187","message":" 16:16:22.372750 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.567Z","priority":"6","pid":"2830187","message":" 16:16:22.372769 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.567Z","priority":"6","pid":"2830187","message":" 16:16:22.372790 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.569Z","priority":"6","pid":"2830187","message":" 16:16:22.373977 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.569Z","priority":"6","pid":"2830187","message":" 16:16:22.374004 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.569Z","priority":"6","pid":"2830187","message":" 16:16:22.374065 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.569Z","priority":"6","pid":"2830187","message":" 16:16:22.413976 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.569Z","priority":"6","pid":"2830187","message":" 16:16:22.414095 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.570Z","priority":"6","pid":"2830187","message":" 16:16:22.414453 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.570Z","priority":"6","pid":"2830187","message":" 16:16:22.414472 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.570Z","priority":"6","pid":"2830187","message":" 16:16:22.414485 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.571Z","priority":"6","pid":"2830187","message":" 16:16:22.415341 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:22.571Z","priority":"6","pid":"2830187","message":" 16:16:22.415513 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:22.571Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:22.572Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:22.572Z","priority":"6","pid":"2830187","message":" 16:16:22.361995 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:22.572Z","priority":"6","pid":"2830187","message":" 16:16:22.362228 Listening on port 37409"}

data: {"time":"2026-09-19T16:16:22.573Z","priority":"6","pid":"2830187","message":" 16:16:22.362294 Wrote pid 91196 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:22.574Z","priority":"6","pid":"2830187","message":" 16:16:22.362348 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:22.574Z","priority":"6","pid":"2830187","message":" 16:16:22.362533 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:22.574Z","priority":"6","pid":"2830187","message":" 16:16:22.363372 ====> Client connect"}

data: {"time":"2026-09-19T16:16:22.575Z","priority":"6","pid":"2830187","message":" 16:16:22.372885 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.575Z","priority":"6","pid":"2830187","message":" 16:16:22.372924 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.576Z","priority":"6","pid":"2830187","message":" 16:16:22.372943 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.576Z","priority":"6","pid":"2830187","message":" 16:16:22.372994 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:22.576Z","priority":"6","pid":"2830187","message":" 16:16:22.373013 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:22.577Z","priority":"6","pid":"2830187","message":" 16:16:22.373385 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:22.577Z","priority":"6","pid":"2830187","message":" 16:16:22.373406 quits"}

data: {"time":"2026-09-19T16:16:22.577Z","priority":"6","pid":"2830187","message":" 16:16:22.373530 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:22.577Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:22.578Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:22.578Z","priority":"6","pid":"2830187","message":" Testnum 210"}

data: {"time":"2026-09-19T16:16:22.578Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:22.579Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind210"}

data: {"time":"2026-09-19T16:16:22.579Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:22.579Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:22.580Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:22.580Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.580Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:22.580Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:22.581Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.581Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:22.581Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.582Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.582Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:22.582Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:22.583Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:22.583Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:22.584Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:22.584Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:22.855Z","priority":"6","pid":"2830187","message":" vaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind211 ../src/curl -q --output log/curl211.out  --include --trace-ascii log/trace211 --trace-time ftp://127.0.0.1:40021/a/path/211 ftp://127.0.0.1:40021/a/path/211 > log/stdout211 2> log/stderr211"}

data: {"time":"2026-09-19T16:16:22.875Z","priority":"6","pid":"2830187","message":"lgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:22.876Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.877Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:22.878Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:22.878Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.879Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:22.880Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:22.880Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:22.880Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.881Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:22.881Z","priority":"6","pid":"2830187","message":"=== End of file valgrind210"}

data: {"time":"2026-09-19T16:16:22.882Z","priority":"6","pid":"2830187","message":"test 0211 [Get two FTP files with no remote EPSV support]"}

data: {"time":"2026-09-19T16:16:22.883Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind211 ../src/curl -q --output log/curl211.out  --include --trace-ascii log/trace211 --trace-time ftp://127.0.0.1:40021/a/path/211 ftp://127.0.0.1:40021/a/path/211 > log/stdout211 2> log/stderr211"}

data: {"time":"2026-09-19T16:16:22.884Z","priority":"6","pid":"2830187","message":" 211: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:22.884Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:22.884Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:22.885Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 211"}

data: {"time":"2026-09-19T16:16:22.885Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:22.886Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind211 ../src/curl -q --output log/curl211.out  --include --trace-ascii log/trace211 --trace-time ftp://127.0.0.1:40021/a/path/211 ftp://127.0.0.1:40021/a/path/211 > log/stdout211 2> log/stderr211"}

data: {"time":"2026-09-19T16:16:22.887Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:22.887Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:22.888Z","priority":"6","pid":"2830187","message":" 16:16:22.625703 ====> Client connect"}

data: {"time":"2026-09-19T16:16:22.889Z","priority":"6","pid":"2830187","message":" 16:16:22.626057 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.889Z","priority":"6","pid":"2830187","message":" 16:16:22.626670 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:22.889Z","priority":"6","pid":"2830187","message":" 16:16:22.626963 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.890Z","priority":"6","pid":"2830187","message":" 16:16:22.627099 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:22.890Z","priority":"6","pid":"2830187","message":" 16:16:22.627199 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.891Z","priority":"6","pid":"2830187","message":" 16:16:22.627500 < \"PWD\""}

data: {"time":"2026-09-19T16:16:22.891Z","priority":"6","pid":"2830187","message":" 16:16:22.627619 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.891Z","priority":"6","pid":"2830187","message":" 16:16:22.627858 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:22.892Z","priority":"6","pid":"2830187","message":" 16:16:22.627900 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:22.892Z","priority":"6","pid":"2830187","message":" 16:16:22.627923 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:22.893Z","priority":"6","pid":"2830187","message":" 16:16:22.630877 DATA sockfilt for passive data channel started (pid 91262)"}

data: {"time":"2026-09-19T16:16:22.893Z","priority":"6","pid":"2830187","message":" 16:16:22.631039 DATA sockfilt for passive data channel listens on port 37387"}

data: {"time":"2026-09-19T16:16:22.894Z","priority":"6","pid":"2830187","message":" 16:16:22.631108 > \"229 Entering Passive Mode (|||37387|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.894Z","priority":"6","pid":"2830187","message":" 16:16:22.631130 Client has been notified that upcoming DATA connection is awaited on port 37387"}

data: {"time":"2026-09-19T16:16:22.895Z","priority":"6","pid":"2830187","message":" 16:16:22.631535 Client connects to port 37387"}

data: {"time":"2026-09-19T16:16:22.895Z","priority":"6","pid":"2830187","message":" 16:16:22.631586 ====> Client established passive DATA connection on port 37387"}

data: {"time":"2026-09-19T16:16:22.895Z","priority":"6","pid":"2830187","message":" 16:16:22.631950 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:22.896Z","priority":"6","pid":"2830187","message":" 16:16:22.632033 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.896Z","priority":"6","pid":"2830187","message":" 16:16:22.632352 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:22.896Z","priority":"6","pid":"2830187","message":" 16:16:22.632428 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.897Z","priority":"6","pid":"2830187","message":" 16:16:22.632672 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:22.897Z","priority":"6","pid":"2830187","message":" 16:16:22.632733 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.898Z","priority":"6","pid":"2830187","message":" 16:16:22.632833 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:22.898Z","priority":"6","pid":"2830187","message":" 16:16:22.632851 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:22.898Z","priority":"6","pid":"2830187","message":" 16:16:22.633253 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:22.899Z","priority":"6","pid":"2830187","message":" 16:16:22.633294 DATA sockfilt for passive data channel quits (pid 91262)"}

data: {"time":"2026-09-19T16:16:22.899Z","priority":"6","pid":"2830187","message":" 16:16:22.633733 DATA sockfilt for passive data channel quit (pid 91262)"}

data: {"time":"2026-09-19T16:16:22.900Z","priority":"6","pid":"2830187","message":" 16:16:22.633773 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:22.900Z","priority":"6","pid":"2830187","message":" 16:16:22.633834 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.901Z","priority":"6","pid":"2830187","message":" 16:16:22.674190 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:22.901Z","priority":"6","pid":"2830187","message":" 16:16:22.674281 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:22.902Z","priority":"6","pid":"2830187","message":" 16:16:22.675246 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:22.902Z","priority":"6","pid":"2830187","message":" 16:16:22.675433 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:22.902Z","priority":"6","pid":"2830187","message":" 16:16:22.675563 Awaiting input"}

data: {"time":"2026-09-19T16:16:22.903Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:22.903Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:22.904Z","priority":"6","pid":"2830187","message":" 16:16:22.695771 ====> Client connect"}

data: {"time":"2026-09-19T16:16:22.904Z","priority":"6","pid":"2830187","message":" 16:16:22.696466 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.904Z","priority":"6","pid":"2830187","message":" 16:16:22.696500 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.904Z","priority":"6","pid":"2830187","message":" 16:16:22.696516 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:22.905Z","priority":"6","pid":"2830187","message":" 16:16:22.696529 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.905Z","priority":"6","pid":"2830187","message":" 16:16:22.696540 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.906Z","priority":"6","pid":"2830187","message":" 16:16:22.696715 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.906Z","priority":"6","pid":"2830187","message":" 16:16:22.696733 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.907Z","priority":"6","pid":"2830187","message":" 16:16:22.696993 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.907Z","priority":"6","pid":"2830187","message":" 16:16:22.697013 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.908Z","priority":"6","pid":"2830187","message":" 16:16:22.697040 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.908Z","priority":"6","pid":"2830187","message":" 16:16:22.697152 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.908Z","priority":"6","pid":"2830187","message":" 16:16:22.697178 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.909Z","priority":"6","pid":"2830187","message":" 16:16:22.697411 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.909Z","priority":"6","pid":"2830187","message":" 16:16:22.697431 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.909Z","priority":"6","pid":"2830187","message":" 16:16:22.697522 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.910Z","priority":"6","pid":"2830187","message":" 16:16:22.697653 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.910Z","priority":"6","pid":"2830187","message":" 16:16:22.697669 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.911Z","priority":"6","pid":"2830187","message":" 16:16:22.697809 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.911Z","priority":"6","pid":"2830187","message":" 16:16:22.697824 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.911Z","priority":"6","pid":"2830187","message":" 16:16:22.697845 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.912Z","priority":"6","pid":"2830187","message":" 16:16:22.697974 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.912Z","priority":"6","pid":"2830187","message":" 16:16:22.697995 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.913Z","priority":"6","pid":"2830187","message":" 16:16:22.701450 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.913Z","priority":"6","pid":"2830187","message":" 16:16:22.701477 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.913Z","priority":"6","pid":"2830187","message":" 16:16:22.701495 '229 Entering Passive Mode (|||37387|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.914Z","priority":"6","pid":"2830187","message":" 16:16:22.701967 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.914Z","priority":"6","pid":"2830187","message":" 16:16:22.701984 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.914Z","priority":"6","pid":"2830187","message":" 16:16:22.702344 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.915Z","priority":"6","pid":"2830187","message":" 16:16:22.702368 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.915Z","priority":"6","pid":"2830187","message":" 16:16:22.702384 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.916Z","priority":"6","pid":"2830187","message":" 16:16:22.702481 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.916Z","priority":"6","pid":"2830187","message":" 16:16:22.702497 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.916Z","priority":"6","pid":"2830187","message":" 16:16:22.702730 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.917Z","priority":"6","pid":"2830187","message":" 16:16:22.702746 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.917Z","priority":"6","pid":"2830187","message":" 16:16:22.702758 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.918Z","priority":"6","pid":"2830187","message":" 16:16:22.702836 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.918Z","priority":"6","pid":"2830187","message":" 16:16:22.702850 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.918Z","priority":"6","pid":"2830187","message":" 16:16:22.703139 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.918Z","priority":"6","pid":"2830187","message":" 16:16:22.703153 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.919Z","priority":"6","pid":"2830187","message":" 16:16:22.703163 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.920Z","priority":"6","pid":"2830187","message":" 16:16:22.704134 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.920Z","priority":"6","pid":"2830187","message":" 16:16:22.704151 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.920Z","priority":"6","pid":"2830187","message":" 16:16:22.704164 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.920Z","priority":"6","pid":"2830187","message":" 16:16:22.744238 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:22.920Z","priority":"6","pid":"2830187","message":" 16:16:22.744322 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.921Z","priority":"6","pid":"2830187","message":" 16:16:22.744607 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.921Z","priority":"6","pid":"2830187","message":" 16:16:22.744625 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.922Z","priority":"6","pid":"2830187","message":" 16:16:22.744638 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.922Z","priority":"6","pid":"2830187","message":" 16:16:22.745428 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:22.922Z","priority":"6","pid":"2830187","message":" 16:16:22.745571 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:22.922Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:22.923Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:22.923Z","priority":"6","pid":"2830187","message":" 16:16:22.700886 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:22.923Z","priority":"6","pid":"2830187","message":" 16:16:22.701020 Listening on port 37387"}

data: {"time":"2026-09-19T16:16:22.924Z","priority":"6","pid":"2830187","message":" 16:16:22.701068 Wrote pid 91262 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:22.924Z","priority":"6","pid":"2830187","message":" 16:16:22.701095 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:22.924Z","priority":"6","pid":"2830187","message":" 16:16:22.701204 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:22.925Z","priority":"6","pid":"2830187","message":" 16:16:22.701750 ====> Client connect"}

data: {"time":"2026-09-19T16:16:22.925Z","priority":"6","pid":"2830187","message":" 16:16:22.703206 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:22.925Z","priority":"6","pid":"2830187","message":" 16:16:22.703245 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:22.926Z","priority":"6","pid":"2830187","message":" 16:16:22.703272 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:22.926Z","priority":"6","pid":"2830187","message":" 16:16:22.703322 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:22.926Z","priority":"6","pid":"2830187","message":" 16:16:22.703342 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:22.927Z","priority":"6","pid":"2830187","message":" 16:16:22.703587 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:22.927Z","priority":"6","pid":"2830187","message":" 16:16:22.703627 quits"}

data: {"time":"2026-09-19T16:16:22.927Z","priority":"6","pid":"2830187","message":" 16:16:22.703723 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:22.928Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:22.928Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:22.929Z","priority":"6","pid":"2830187","message":" REPLY EPSV 500 no such command"}

data: {"time":"2026-09-19T16:16:22.929Z","priority":"6","pid":"2830187","message":" Testnum 211"}

data: {"time":"2026-09-19T16:16:22.929Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:22.929Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind211"}

data: {"time":"2026-09-19T16:16:22.929Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:22.930Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:22.930Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:22.930Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.930Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:22.931Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:22.931Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.932Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:22.932Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:22.932Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.933Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:22.933Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:22.933Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:22.934Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:22.934Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:22.935Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:22.935Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:22.936Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.936Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:22.936Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:22.937Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:22.937Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:22.938Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:22.940Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:22.940Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.216Z","priority":"6","pid":"2830187","message":" valgrind:  CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind212 ../src/curl -q --output log/curl212.out  --include --trace-ascii log/trace212 --trace-time ftp://127.0.0.1:40021/a/path/212 ftp://127.0.0.1:40021/a/path/212 -P - > log/stdout212 2> log/stderr212"}

data: {"time":"2026-09-19T16:16:23.430Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind214 ../src/curl -q --output log/curl214.out  --include --trace-ascii log/trace214 --trace-time \"http://127.0.0.1:36137/\\{\\}\\/214\" > log/stdout214 2> log/stderr214"}

data: {"time":"2026-09-19T16:16:23.433Z","priority":"6","pid":"2830187","message":"Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:23.433Z","priority":"6","pid":"2830187","message":"=== End of file valgrind211"}

data: {"time":"2026-09-19T16:16:23.433Z","priority":"6","pid":"2830187","message":"test 0212 [Get two FTP files with no remote EPRT support]"}

data: {"time":"2026-09-19T16:16:23.435Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind212 ../src/curl -q --output log/curl212.out  --include --trace-ascii log/trace212 --trace-time ftp://127.0.0.1:40021/a/path/212 ftp://127.0.0.1:40021/a/path/212 -P - > log/stdout212 2> log/stderr212"}

data: {"time":"2026-09-19T16:16:23.435Z","priority":"6","pid":"2830187","message":" 212: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:23.436Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:23.436Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:23.436Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 212"}

data: {"time":"2026-09-19T16:16:23.437Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:23.438Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind212 ../src/curl -q --output log/curl212.out  --include --trace-ascii log/trace212 --trace-time ftp://127.0.0.1:40021/a/path/212 ftp://127.0.0.1:40021/a/path/212 -P - > log/stdout212 2> log/stderr212"}

data: {"time":"2026-09-19T16:16:23.438Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:23.438Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:23.439Z","priority":"6","pid":"2830187","message":" 16:16:22.981008 ====> Client connect"}

data: {"time":"2026-09-19T16:16:23.440Z","priority":"6","pid":"2830187","message":" 16:16:22.981639 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.440Z","priority":"6","pid":"2830187","message":" 16:16:22.981818 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:23.440Z","priority":"6","pid":"2830187","message":" 16:16:22.981859 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.441Z","priority":"6","pid":"2830187","message":" 16:16:22.982111 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:23.441Z","priority":"6","pid":"2830187","message":" 16:16:22.982265 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.441Z","priority":"6","pid":"2830187","message":" 16:16:22.982388 < \"PWD\""}

data: {"time":"2026-09-19T16:16:23.442Z","priority":"6","pid":"2830187","message":" 16:16:22.982537 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.442Z","priority":"6","pid":"2830187","message":" 16:16:22.982699 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:23.442Z","priority":"6","pid":"2830187","message":" 16:16:22.982737 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:23.443Z","priority":"6","pid":"2830187","message":" 16:16:22.982756 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:23.443Z","priority":"6","pid":"2830187","message":" 16:16:22.985842 DATA sockfilt for passive data channel started (pid 91328)"}

data: {"time":"2026-09-19T16:16:23.444Z","priority":"6","pid":"2830187","message":" 16:16:22.986021 DATA sockfilt for passive data channel listens on port 35513"}

data: {"time":"2026-09-19T16:16:23.444Z","priority":"6","pid":"2830187","message":" 16:16:22.986092 > \"229 Entering Passive Mode (|||35513|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.444Z","priority":"6","pid":"2830187","message":" 16:16:22.986116 Client has been notified that upcoming DATA connection is awaited on port 35513"}

data: {"time":"2026-09-19T16:16:23.445Z","priority":"6","pid":"2830187","message":" 16:16:22.986507 Client connects to port 35513"}

data: {"time":"2026-09-19T16:16:23.445Z","priority":"6","pid":"2830187","message":" 16:16:22.986556 ====> Client established passive DATA connection on port 35513"}

data: {"time":"2026-09-19T16:16:23.445Z","priority":"6","pid":"2830187","message":" 16:16:22.986822 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:23.446Z","priority":"6","pid":"2830187","message":" 16:16:22.986905 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.446Z","priority":"6","pid":"2830187","message":" 16:16:22.987126 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:23.446Z","priority":"6","pid":"2830187","message":" 16:16:22.987181 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.447Z","priority":"6","pid":"2830187","message":" 16:16:22.987512 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:23.447Z","priority":"6","pid":"2830187","message":" 16:16:22.987576 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.448Z","priority":"6","pid":"2830187","message":" 16:16:22.987699 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:23.448Z","priority":"6","pid":"2830187","message":" 16:16:22.987725 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:23.448Z","priority":"6","pid":"2830187","message":" 16:16:22.988291 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:23.449Z","priority":"6","pid":"2830187","message":" 16:16:22.988366 DATA sockfilt for passive data channel quits (pid 91328)"}

data: {"time":"2026-09-19T16:16:23.449Z","priority":"6","pid":"2830187","message":" 16:16:22.988818 DATA sockfilt for passive data channel quit (pid 91328)"}

data: {"time":"2026-09-19T16:16:23.450Z","priority":"6","pid":"2830187","message":" 16:16:22.988861 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:23.450Z","priority":"6","pid":"2830187","message":" 16:16:22.988906 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.450Z","priority":"6","pid":"2830187","message":" 16:16:23.029073 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:23.451Z","priority":"6","pid":"2830187","message":" 16:16:23.029182 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.451Z","priority":"6","pid":"2830187","message":" 16:16:23.030147 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:23.451Z","priority":"6","pid":"2830187","message":" 16:16:23.030307 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:23.451Z","priority":"6","pid":"2830187","message":" 16:16:23.030473 Awaiting input"}

data: {"time":"2026-09-19T16:16:23.452Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:23.452Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:23.452Z","priority":"6","pid":"2830187","message":" 16:16:23.051095 ====> Client connect"}

data: {"time":"2026-09-19T16:16:23.453Z","priority":"6","pid":"2830187","message":" 16:16:23.051521 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.453Z","priority":"6","pid":"2830187","message":" 16:16:23.051552 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.453Z","priority":"6","pid":"2830187","message":" 16:16:23.051708 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:23.453Z","priority":"6","pid":"2830187","message":" 16:16:23.051725 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.454Z","priority":"6","pid":"2830187","message":" 16:16:23.051733 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.454Z","priority":"6","pid":"2830187","message":" 16:16:23.051830 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.454Z","priority":"6","pid":"2830187","message":" 16:16:23.051849 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.455Z","priority":"6","pid":"2830187","message":" 16:16:23.052159 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.455Z","priority":"6","pid":"2830187","message":" 16:16:23.052177 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.455Z","priority":"6","pid":"2830187","message":" 16:16:23.052186 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.455Z","priority":"6","pid":"2830187","message":" 16:16:23.052249 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.456Z","priority":"6","pid":"2830187","message":" 16:16:23.052261 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.457Z","priority":"6","pid":"2830187","message":" 16:16:23.052392 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.457Z","priority":"6","pid":"2830187","message":" 16:16:23.052405 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.457Z","priority":"6","pid":"2830187","message":" 16:16:23.052421 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.457Z","priority":"6","pid":"2830187","message":" 16:16:23.052480 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.458Z","priority":"6","pid":"2830187","message":" 16:16:23.052491 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.458Z","priority":"6","pid":"2830187","message":" 16:16:23.052673 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.459Z","priority":"6","pid":"2830187","message":" 16:16:23.052688 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.459Z","priority":"6","pid":"2830187","message":" 16:16:23.052703 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.459Z","priority":"6","pid":"2830187","message":" 16:16:23.052832 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.460Z","priority":"6","pid":"2830187","message":" 16:16:23.052855 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.460Z","priority":"6","pid":"2830187","message":" 16:16:23.056406 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.461Z","priority":"6","pid":"2830187","message":" 16:16:23.056427 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.461Z","priority":"6","pid":"2830187","message":" 16:16:23.056442 '229 Entering Passive Mode (|||35513|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.462Z","priority":"6","pid":"2830187","message":" 16:16:23.056928 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.463Z","priority":"6","pid":"2830187","message":" 16:16:23.056947 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.463Z","priority":"6","pid":"2830187","message":" 16:16:23.057113 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.463Z","priority":"6","pid":"2830187","message":" 16:16:23.057127 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.463Z","priority":"6","pid":"2830187","message":" 16:16:23.057182 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.463Z","priority":"6","pid":"2830187","message":" 16:16:23.057269 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.465Z","priority":"6","pid":"2830187","message":" 16:16:23.057285 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.465Z","priority":"6","pid":"2830187","message":" 16:16:23.057456 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.465Z","priority":"6","pid":"2830187","message":" 16:16:23.057469 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.465Z","priority":"6","pid":"2830187","message":" 16:16:23.057512 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.465Z","priority":"6","pid":"2830187","message":" 16:16:23.057636 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.465Z","priority":"6","pid":"2830187","message":" 16:16:23.057654 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.465Z","priority":"6","pid":"2830187","message":" 16:16:23.058029 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.466Z","priority":"6","pid":"2830187","message":" 16:16:23.058051 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.466Z","priority":"6","pid":"2830187","message":" 16:16:23.058067 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.466Z","priority":"6","pid":"2830187","message":" 16:16:23.059189 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.467Z","priority":"6","pid":"2830187","message":" 16:16:23.059207 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.468Z","priority":"6","pid":"2830187","message":" 16:16:23.059220 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.469Z","priority":"6","pid":"2830187","message":" 16:16:23.099069 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.469Z","priority":"6","pid":"2830187","message":" 16:16:23.099163 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.470Z","priority":"6","pid":"2830187","message":" 16:16:23.099476 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.471Z","priority":"6","pid":"2830187","message":" 16:16:23.099500 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.471Z","priority":"6","pid":"2830187","message":" 16:16:23.099516 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.471Z","priority":"6","pid":"2830187","message":" 16:16:23.100316 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:23.473Z","priority":"6","pid":"2830187","message":" 16:16:23.100453 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:23.473Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:23.474Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:23.476Z","priority":"6","pid":"2830187","message":" 16:16:22.055799 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:23.476Z","priority":"6","pid":"2830187","message":" 16:16:22.055944 Listening on port 35513"}

data: {"time":"2026-09-19T16:16:23.476Z","priority":"6","pid":"2830187","message":" 16:16:22.056001 Wrote pid 91328 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:23.476Z","priority":"6","pid":"2830187","message":" 16:16:22.056036 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:23.477Z","priority":"6","pid":"2830187","message":" 16:16:22.056158 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:23.477Z","priority":"6","pid":"2830187","message":" 16:16:22.056702 ====> Client connect"}

data: {"time":"2026-09-19T16:16:23.478Z","priority":"6","pid":"2830187","message":" 16:16:22.058115 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.478Z","priority":"6","pid":"2830187","message":" 16:16:22.058140 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.479Z","priority":"6","pid":"2830187","message":" 16:16:22.058151 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.480Z","priority":"6","pid":"2830187","message":" 16:16:22.058188 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:23.480Z","priority":"6","pid":"2830187","message":" 16:16:22.058202 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:23.481Z","priority":"6","pid":"2830187","message":" 16:16:22.058646 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:23.482Z","priority":"6","pid":"2830187","message":" 16:16:22.058663 quits"}

data: {"time":"2026-09-19T16:16:23.483Z","priority":"6","pid":"2830187","message":" 16:16:22.058756 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:23.483Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:23.484Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:23.485Z","priority":"6","pid":"2830187","message":" REPLY EPRT 500 no such command"}

data: {"time":"2026-09-19T16:16:23.485Z","priority":"6","pid":"2830187","message":" Testnum 212"}

data: {"time":"2026-09-19T16:16:23.486Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:23.488Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind212"}

data: {"time":"2026-09-19T16:16:23.488Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:23.488Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:23.489Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:23.489Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.490Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:23.491Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:23.491Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:23.491Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:23.493Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:23.493Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.493Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:23.493Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:23.494Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:23.495Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:23.495Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:23.496Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:23.496Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:23.496Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.496Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:23.497Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:23.497Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.497Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:23.498Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:23.498Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:23.498Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.499Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:23.499Z","priority":"6","pid":"2830187","message":"=== End of file valgrind212"}

data: {"time":"2026-09-19T16:16:23.499Z","priority":"6","pid":"2830187","message":"setenv MSYS2_ARG_CONV_EXCL = http://"}

data: {"time":"2026-09-19T16:16:23.500Z","priority":"6","pid":"2830187","message":"test 0214 [HTTP URL with escaped { and }]"}

data: {"time":"2026-09-19T16:16:23.750Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind214 ../src/curl -q --output log/curl214.out  --include --tracCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind215 ../src/curl -q --output log/curl215.out  --include --trace-ascii log/trace215 --trace-time ftp://127.0.0.1:40021/a/path/215/ ftp://127.0.0.1:40021/a/path/215/ > log/stdout215 2> log/stderr215"}

data: {"time":"2026-09-19T16:16:23.757Z","priority":"6","pid":"2830187","message":"e-ascii log/trace214 --trace-time \"http://127.0.0.1:36137/\\{\\}\\/214\" > log/stdout214 2> log/stderr214"}

data: {"time":"2026-09-19T16:16:23.758Z","priority":"6","pid":"2830187","message":" 214: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:23.758Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:23.759Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:23.759Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 214"}

data: {"time":"2026-09-19T16:16:23.760Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:23.761Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind214 ../src/curl -q --output log/curl214.out  --include --trace-ascii log/trace214 --trace-time \"http://127.0.0.1:36137/\\{\\}\\/214\" > log/stdout214 2> log/stderr214"}

data: {"time":"2026-09-19T16:16:23.761Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:23.762Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:23.762Z","priority":"6","pid":"2830187","message":" 16:16:23.327685 ====> Client connect"}

data: {"time":"2026-09-19T16:16:23.762Z","priority":"6","pid":"2830187","message":" 16:16:23.327759 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:23.763Z","priority":"6","pid":"2830187","message":" 16:16:23.327952 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:23.763Z","priority":"6","pid":"2830187","message":" 16:16:23.327979 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:23.763Z","priority":"6","pid":"2830187","message":" 16:16:23.327997 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:23.764Z","priority":"6","pid":"2830187","message":" 16:16:23.328008 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:23.764Z","priority":"6","pid":"2830187","message":" 16:16:23.328061 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:23.765Z","priority":"6","pid":"2830187","message":" 16:16:23.328093 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:23.765Z","priority":"6","pid":"2830187","message":" 16:16:23.328164 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:23.765Z","priority":"6","pid":"2830187","message":" 16:16:23.328175 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:23.766Z","priority":"6","pid":"2830187","message":" 16:16:23.328184 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:23.766Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:23.766Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:23.767Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:23.767Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35848"}

data: {"time":"2026-09-19T16:16:23.768Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:23.768Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:23.768Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:23.768Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:23.768Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:23.769Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:23.769Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:23.769Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:23.770Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:23.770Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:23.770Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:23.770Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:23.771Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:23.771Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:23.771Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:23.771Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:23.771Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:23.772Z","priority":"6","pid":"2830187","message":" Testnum 214"}

data: {"time":"2026-09-19T16:16:23.772Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:23.772Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:23.772Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:23.773Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:23.773Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:23.773Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:23.774Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind214"}

data: {"time":"2026-09-19T16:16:23.774Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:23.774Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:23.775Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:23.776Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.776Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:23.776Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:23.776Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:23.776Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:23.777Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:23.777Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.778Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:23.778Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:23.778Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:23.779Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:23.779Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:23.780Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:23.780Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:23.780Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.781Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:23.781Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:23.782Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.782Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:23.782Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:23.782Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:23.783Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:23.783Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:23.784Z","priority":"6","pid":"2830187","message":"=== End of file valgrind214"}

data: {"time":"2026-09-19T16:16:23.784Z","priority":"6","pid":"2830187","message":"test 0215 [Get two FTP dir listings from the same remote dir: no second CWD]"}

data: {"time":"2026-09-19T16:16:23.786Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind215 ../src/curl -q --output log/curl215.out  --include --trace-ascii log/trace215 --trace-time ftp://127.0.0.1:40021/a/path/215/ ftp://127.0.0.1:40021/a/path/215/ > log/stdout215 2> log/stderr215"}

data: {"time":"2026-09-19T16:16:23.786Z","priority":"6","pid":"2830187","message":" 215: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:23.787Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:23.787Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:23.787Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 215"}

data: {"time":"2026-09-19T16:16:23.787Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:23.789Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind215 ../src/curl -q --output log/curl215.out  --include --trace-ascii log/trace215 --trace-time ftp://127.0.0.1:40021/a/path/215/ ftp://127.0.0.1:40021/a/path/215/ > log/stdout215 2> log/stderr215"}

data: {"time":"2026-09-19T16:16:23.789Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:23.790Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:23.790Z","priority":"6","pid":"2830187","message":" 16:16:23.535832 ====> Client connect"}

data: {"time":"2026-09-19T16:16:23.791Z","priority":"6","pid":"2830187","message":" 16:16:23.536562 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.791Z","priority":"6","pid":"2830187","message":" 16:16:23.536757 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:23.792Z","priority":"6","pid":"2830187","message":" 16:16:23.536843 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.792Z","priority":"6","pid":"2830187","message":" 16:16:23.537078 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:23.792Z","priority":"6","pid":"2830187","message":" 16:16:23.537117 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.793Z","priority":"6","pid":"2830187","message":" 16:16:23.537421 < \"PWD\""}

data: {"time":"2026-09-19T16:16:23.793Z","priority":"6","pid":"2830187","message":" 16:16:23.537484 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.793Z","priority":"6","pid":"2830187","message":" 16:16:23.537766 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:23.794Z","priority":"6","pid":"2830187","message":" 16:16:23.537804 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:23.794Z","priority":"6","pid":"2830187","message":" 16:16:23.537823 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:23.795Z","priority":"6","pid":"2830187","message":" 16:16:23.540827 DATA sockfilt for passive data channel started (pid 91458)"}

data: {"time":"2026-09-19T16:16:23.795Z","priority":"6","pid":"2830187","message":" 16:16:23.540991 DATA sockfilt for passive data channel listens on port 36039"}

data: {"time":"2026-09-19T16:16:23.796Z","priority":"6","pid":"2830187","message":" 16:16:23.541048 > \"229 Entering Passive Mode (|||36039|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.797Z","priority":"6","pid":"2830187","message":" 16:16:23.541148 Client has been notified that upcoming DATA connection is awaited on port 36039"}

data: {"time":"2026-09-19T16:16:23.797Z","priority":"6","pid":"2830187","message":" 16:16:23.541544 Client connects to port 36039"}

data: {"time":"2026-09-19T16:16:23.798Z","priority":"6","pid":"2830187","message":" 16:16:23.541594 ====> Client established passive DATA connection on port 36039"}

data: {"time":"2026-09-19T16:16:23.798Z","priority":"6","pid":"2830187","message":" 16:16:23.541887 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:23.798Z","priority":"6","pid":"2830187","message":" 16:16:23.541936 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.799Z","priority":"6","pid":"2830187","message":" 16:16:23.542264 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:23.799Z","priority":"6","pid":"2830187","message":" 16:16:23.542321 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.799Z","priority":"6","pid":"2830187","message":" 16:16:23.542584 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:23.800Z","priority":"6","pid":"2830187","message":" 16:16:23.542639 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.800Z","priority":"6","pid":"2830187","message":" 16:16:23.542861 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:23.801Z","priority":"6","pid":"2830187","message":" 16:16:23.542887 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:23.801Z","priority":"6","pid":"2830187","message":" 16:16:23.543162 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:23.802Z","priority":"6","pid":"2830187","message":" 16:16:23.543200 DATA sockfilt for passive data channel quits (pid 91458)"}

data: {"time":"2026-09-19T16:16:23.802Z","priority":"6","pid":"2830187","message":" 16:16:23.543577 DATA sockfilt for passive data channel quit (pid 91458)"}

data: {"time":"2026-09-19T16:16:23.803Z","priority":"6","pid":"2830187","message":" 16:16:23.543612 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:23.803Z","priority":"6","pid":"2830187","message":" 16:16:23.543654 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.803Z","priority":"6","pid":"2830187","message":" 16:16:23.584228 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:23.804Z","priority":"6","pid":"2830187","message":" 16:16:23.584364 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:23.804Z","priority":"6","pid":"2830187","message":" 16:16:23.585394 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:23.804Z","priority":"6","pid":"2830187","message":" 16:16:23.585562 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:23.804Z","priority":"6","pid":"2830187","message":" 16:16:23.585703 Awaiting input"}

data: {"time":"2026-09-19T16:16:23.805Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:23.805Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:23.806Z","priority":"6","pid":"2830187","message":" 16:16:23.605871 ====> Client connect"}

data: {"time":"2026-09-19T16:16:23.806Z","priority":"6","pid":"2830187","message":" 16:16:23.606335 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.806Z","priority":"6","pid":"2830187","message":" 16:16:23.606370 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.806Z","priority":"6","pid":"2830187","message":" 16:16:23.606467 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:23.807Z","priority":"6","pid":"2830187","message":" 16:16:23.606488 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.807Z","priority":"6","pid":"2830187","message":" 16:16:23.606500 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.808Z","priority":"6","pid":"2830187","message":" 16:16:23.606713 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.808Z","priority":"6","pid":"2830187","message":" 16:16:23.606738 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.808Z","priority":"6","pid":"2830187","message":" 16:16:23.607023 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.809Z","priority":"6","pid":"2830187","message":" 16:16:23.607038 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.809Z","priority":"6","pid":"2830187","message":" 16:16:23.607095 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.810Z","priority":"6","pid":"2830187","message":" 16:16:23.607184 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.810Z","priority":"6","pid":"2830187","message":" 16:16:23.607199 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.810Z","priority":"6","pid":"2830187","message":" 16:16:23.607365 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.811Z","priority":"6","pid":"2830187","message":" 16:16:23.607378 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.811Z","priority":"6","pid":"2830187","message":" 16:16:23.607395 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.812Z","priority":"6","pid":"2830187","message":" 16:16:23.607471 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.812Z","priority":"6","pid":"2830187","message":" 16:16:23.607484 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.812Z","priority":"6","pid":"2830187","message":" 16:16:23.607739 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.813Z","priority":"6","pid":"2830187","message":" 16:16:23.607765 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.813Z","priority":"6","pid":"2830187","message":" 16:16:23.607783 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.813Z","priority":"6","pid":"2830187","message":" 16:16:23.607882 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.813Z","priority":"6","pid":"2830187","message":" 16:16:23.607897 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.814Z","priority":"6","pid":"2830187","message":" 16:16:23.611425 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.814Z","priority":"6","pid":"2830187","message":" 16:16:23.611457 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.814Z","priority":"6","pid":"2830187","message":" 16:16:23.611472 '229 Entering Passive Mode (|||36039|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.815Z","priority":"6","pid":"2830187","message":" 16:16:23.611935 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:23.815Z","priority":"6","pid":"2830187","message":" 16:16:23.611959 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:23.815Z","priority":"6","pid":"2830187","message":" 16:16:23.612203 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:23.816Z","priority":"6","pid":"2830187","message":" 16:16:23.612224 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:23.816Z","priority":"6","pid":"2830187","message":" 16:16:23.612240 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.115Z","priority":"6","pid":"2830187","message":" 16:16:23.612CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind216 ../src/curl -q --output log/curl216.out  --include --trace-ascii log/trace216 --trace-time -T log/upload.216 ftp://127.0.0.1:40021/a/path/216/ -T log/upload.216 ftp://127.0.0.1:40021/a/path/216/%2e%2eanotherup.216 > log/stdout216 2> log/stderr216"}

data: {"time":"2026-09-19T16:16:24.128Z","priority":"6","pid":"2830187","message":"399 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.130Z","priority":"6","pid":"2830187","message":" 16:16:23.612421 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.130Z","priority":"6","pid":"2830187","message":" 16:16:23.612601 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.130Z","priority":"6","pid":"2830187","message":" 16:16:23.612617 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.131Z","priority":"6","pid":"2830187","message":" 16:16:23.612628 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.131Z","priority":"6","pid":"2830187","message":" 16:16:23.612705 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.132Z","priority":"6","pid":"2830187","message":" 16:16:23.612719 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.132Z","priority":"6","pid":"2830187","message":" 16:16:23.612942 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.132Z","priority":"6","pid":"2830187","message":" 16:16:23.612957 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.133Z","priority":"6","pid":"2830187","message":" 16:16:23.612969 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.133Z","priority":"6","pid":"2830187","message":" 16:16:23.613924 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.133Z","priority":"6","pid":"2830187","message":" 16:16:23.613941 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.134Z","priority":"6","pid":"2830187","message":" 16:16:23.613954 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.134Z","priority":"6","pid":"2830187","message":" 16:16:23.654240 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.135Z","priority":"6","pid":"2830187","message":" 16:16:23.654311 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.135Z","priority":"6","pid":"2830187","message":" 16:16:23.654633 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.136Z","priority":"6","pid":"2830187","message":" 16:16:23.654663 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.136Z","priority":"6","pid":"2830187","message":" 16:16:23.654679 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.136Z","priority":"6","pid":"2830187","message":" 16:16:23.655481 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:24.136Z","priority":"6","pid":"2830187","message":" 16:16:23.655689 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:24.137Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:24.137Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:24.137Z","priority":"6","pid":"2830187","message":" 16:16:23.610515 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:24.137Z","priority":"6","pid":"2830187","message":" 16:16:23.610905 Listening on port 36039"}

data: {"time":"2026-09-19T16:16:24.138Z","priority":"6","pid":"2830187","message":" 16:16:23.610954 Wrote pid 91458 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:24.138Z","priority":"6","pid":"2830187","message":" 16:16:23.610989 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:24.139Z","priority":"6","pid":"2830187","message":" 16:16:23.611114 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:24.139Z","priority":"6","pid":"2830187","message":" 16:16:23.611708 ====> Client connect"}

data: {"time":"2026-09-19T16:16:24.139Z","priority":"6","pid":"2830187","message":" 16:16:23.612901 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.140Z","priority":"6","pid":"2830187","message":" 16:16:23.612924 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.140Z","priority":"6","pid":"2830187","message":" 16:16:23.613193 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.140Z","priority":"6","pid":"2830187","message":" 16:16:23.613242 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:24.140Z","priority":"6","pid":"2830187","message":" 16:16:23.613256 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:24.141Z","priority":"6","pid":"2830187","message":" 16:16:23.613448 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:24.141Z","priority":"6","pid":"2830187","message":" 16:16:23.613462 quits"}

data: {"time":"2026-09-19T16:16:24.141Z","priority":"6","pid":"2830187","message":" 16:16:23.613544 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:24.142Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:24.142Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:24.142Z","priority":"6","pid":"2830187","message":" Testnum 215"}

data: {"time":"2026-09-19T16:16:24.142Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:24.142Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind215"}

data: {"time":"2026-09-19T16:16:24.143Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:24.143Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:24.144Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:24.144Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.144Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:24.145Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:24.145Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:24.145Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:24.146Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:24.146Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.146Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:24.147Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":"=== End of file valgrind215"}

data: {"time":"2026-09-19T16:16:24.164Z","priority":"6","pid":"2830187","message":"test 0216 [FTP upload two files to the same dir]"}

data: {"time":"2026-09-19T16:16:24.173Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind216 ../src/curl -q --output log/curl216.out  --include --trace-ascii log/trace216 --trace-time -T log/upload.216 ftp://127.0.0.1:40021/a/path/216/ -T log/upload.216 ftp://127.0.0.1:40021/a/path/216/%2e%2eanotherup.216 > log/stdout216 2> log/stderr216"}

data: {"time":"2026-09-19T16:16:24.173Z","priority":"6","pid":"2830187","message":" 216: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:24.173Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:24.173Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:24.173Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 216"}

data: {"time":"2026-09-19T16:16:24.173Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:24.173Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind216 ../src/curl -q --output log/curl216.out  --include --trace-ascii log/trace216 --trace-time -T log/upload.216 ftp://127.0.0.1:40021/a/path/216/ -T log/upload.216 ftp://127.0.0.1:40021/a/path/216/%2e%2eanotherup.216 > log/stdout216 2> log/stderr216"}

data: {"time":"2026-09-19T16:16:24.174Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:24.174Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:24.174Z","priority":"6","pid":"2830187","message":" 16:16:23.878535 ====> Client connect"}

data: {"time":"2026-09-19T16:16:24.175Z","priority":"6","pid":"2830187","message":" 16:16:23.879254 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.176Z","priority":"6","pid":"2830187","message":" 16:16:23.879486 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:24.176Z","priority":"6","pid":"2830187","message":" 16:16:23.879535 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.177Z","priority":"6","pid":"2830187","message":" 16:16:23.879884 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:24.177Z","priority":"6","pid":"2830187","message":" 16:16:23.880055 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.177Z","priority":"6","pid":"2830187","message":" 16:16:23.880199 < \"PWD\""}

data: {"time":"2026-09-19T16:16:24.178Z","priority":"6","pid":"2830187","message":" 16:16:23.880245 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.178Z","priority":"6","pid":"2830187","message":" 16:16:23.880516 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:24.178Z","priority":"6","pid":"2830187","message":" 16:16:23.880554 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:24.179Z","priority":"6","pid":"2830187","message":" 16:16:23.880573 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:24.179Z","priority":"6","pid":"2830187","message":" 16:16:23.883396 DATA sockfilt for passive data channel started (pid 91524)"}

data: {"time":"2026-09-19T16:16:24.180Z","priority":"6","pid":"2830187","message":" 16:16:23.883561 DATA sockfilt for passive data channel listens on port 36901"}

data: {"time":"2026-09-19T16:16:24.180Z","priority":"6","pid":"2830187","message":" 16:16:23.884006 > \"229 Entering Passive Mode (|||36901|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.181Z","priority":"6","pid":"2830187","message":" 16:16:23.884053 Client has been notified that upcoming DATA connection is awaited on port 36901"}

data: {"time":"2026-09-19T16:16:24.181Z","priority":"6","pid":"2830187","message":" 16:16:23.884201 Client connects to port 36901"}

data: {"time":"2026-09-19T16:16:24.182Z","priority":"6","pid":"2830187","message":" 16:16:23.884238 ====> Client established passive DATA connection on port 36901"}

data: {"time":"2026-09-19T16:16:24.182Z","priority":"6","pid":"2830187","message":" 16:16:23.884387 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:24.183Z","priority":"6","pid":"2830187","message":" 16:16:23.884585 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.183Z","priority":"6","pid":"2830187","message":" 16:16:23.884699 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:24.184Z","priority":"6","pid":"2830187","message":" 16:16:23.884768 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.184Z","priority":"6","pid":"2830187","message":" 16:16:23.885110 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:24.184Z","priority":"6","pid":"2830187","message":" 16:16:23.885247 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.185Z","priority":"6","pid":"2830187","message":" 16:16:23.885761 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:24.185Z","priority":"6","pid":"2830187","message":" 16:16:23.885790 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:24.186Z","priority":"6","pid":"2830187","message":" 16:16:23.885916 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:24.186Z","priority":"6","pid":"2830187","message":" 16:16:23.885946 DATA sockfilt for passive data channel quits (pid 91524)"}

data: {"time":"2026-09-19T16:16:24.187Z","priority":"6","pid":"2830187","message":" 16:16:23.886369 DATA sockfilt for passive data channel quit (pid 91524)"}

data: {"time":"2026-09-19T16:16:24.187Z","priority":"6","pid":"2830187","message":" 16:16:23.886414 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:24.188Z","priority":"6","pid":"2830187","message":" 16:16:23.886469 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.188Z","priority":"6","pid":"2830187","message":" 16:16:23.927058 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:24.189Z","priority":"6","pid":"2830187","message":" 16:16:23.927136 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:24.189Z","priority":"6","pid":"2830187","message":" 16:16:23.927421 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:24.190Z","priority":"6","pid":"2830187","message":" 16:16:23.927467 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:24.190Z","priority":"6","pid":"2830187","message":" 16:16:23.927605 Awaiting input"}

data: {"time":"2026-09-19T16:16:24.190Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:24.191Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:24.191Z","priority":"6","pid":"2830187","message":" 16:16:23.948576 ====> Client connect"}

data: {"time":"2026-09-19T16:16:24.192Z","priority":"6","pid":"2830187","message":" 16:16:23.948990 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.192Z","priority":"6","pid":"2830187","message":" 16:16:23.949014 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.193Z","priority":"6","pid":"2830187","message":" 16:16:23.949192 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:24.194Z","priority":"6","pid":"2830187","message":" 16:16:23.949223 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.194Z","priority":"6","pid":"2830187","message":" 16:16:23.949235 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.194Z","priority":"6","pid":"2830187","message":" 16:16:23.949386 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.194Z","priority":"6","pid":"2830187","message":" 16:16:23.949410 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.195Z","priority":"6","pid":"2830187","message":" 16:16:23.949799 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.195Z","priority":"6","pid":"2830187","message":" 16:16:23.949823 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.196Z","priority":"6","pid":"2830187","message":" 16:16:23.949847 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.196Z","priority":"6","pid":"2830187","message":" 16:16:23.949928 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.197Z","priority":"6","pid":"2830187","message":" 16:16:23.949944 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.197Z","priority":"6","pid":"2830187","message":" 16:16:23.950145 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.197Z","priority":"6","pid":"2830187","message":" 16:16:23.950162 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.198Z","priority":"6","pid":"2830187","message":" 16:16:23.950184 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.198Z","priority":"6","pid":"2830187","message":" 16:16:23.950313 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.199Z","priority":"6","pid":"2830187","message":" 16:16:23.950327 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.199Z","priority":"6","pid":"2830187","message":" 16:16:23.950475 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.200Z","priority":"6","pid":"2830187","message":" 16:16:23.950488 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.200Z","priority":"6","pid":"2830187","message":" 16:16:23.950501 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.201Z","priority":"6","pid":"2830187","message":" 16:16:23.950622 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.201Z","priority":"6","pid":"2830187","message":" 16:16:23.950637 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.201Z","priority":"6","pid":"2830187","message":" 16:16:23.953849 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.202Z","priority":"6","pid":"2830187","message":" 16:16:23.953870 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.202Z","priority":"6","pid":"2830187","message":" 16:16:23.953893 '229 Entering Passive Mode (|||36901|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.203Z","priority":"6","pid":"2830187","message":" 16:16:23.954321 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.203Z","priority":"6","pid":"2830187","message":" 16:16:23.954338 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.204Z","priority":"6","pid":"2830187","message":" 16:16:23.954634 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.204Z","priority":"6","pid":"2830187","message":" 16:16:23.954651 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.205Z","priority":"6","pid":"2830187","message":" 16:16:23.954673 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.205Z","priority":"6","pid":"2830187","message":" 16:16:23.954749 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.205Z","priority":"6","pid":"2830187","message":" 16:16:23.954763 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.206Z","priority":"6","pid":"2830187","message":" 16:16:23.955035 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.206Z","priority":"6","pid":"2830187","message":" 16:16:23.955061 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.207Z","priority":"6","pid":"2830187","message":" 16:16:23.955076 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.207Z","priority":"6","pid":"2830187","message":" 16:16:23.955183 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.207Z","priority":"6","pid":"2830187","message":" 16:16:23.955203 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.433Z","priority":"6","pid":"2830187","message":" 16:16:23.955389 Received DATCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind217 ../src/curl -q --include --trace-ascii log/trace217 --trace-time http://test.remote.example.com.217:36137/path/2170002 --proxy http://127.0.0.1:36137 --proxytunnel -w \"%{http_code} %{http_connect}\\n\" > log/stdout217 2> log/stderr217"}

data: {"time":"2026-09-19T16:16:24.437Z","priority":"6","pid":"2830187","message":"A (on stdin)"}

data: {"time":"2026-09-19T16:16:24.438Z","priority":"6","pid":"2830187","message":" 16:16:23.955412 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.438Z","priority":"6","pid":"2830187","message":" 16:16:23.955588 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.438Z","priority":"6","pid":"2830187","message":" 16:16:23.956715 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.439Z","priority":"6","pid":"2830187","message":" 16:16:23.956738 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.439Z","priority":"6","pid":"2830187","message":" 16:16:23.956755 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.439Z","priority":"6","pid":"2830187","message":" 16:16:23.997085 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:24.439Z","priority":"6","pid":"2830187","message":" 16:16:23.997148 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.440Z","priority":"6","pid":"2830187","message":" 16:16:23.997374 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.440Z","priority":"6","pid":"2830187","message":" 16:16:23.997390 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.440Z","priority":"6","pid":"2830187","message":" 16:16:23.997404 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.440Z","priority":"6","pid":"2830187","message":" 16:16:23.997577 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:24.441Z","priority":"6","pid":"2830187","message":" 16:16:23.998492 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:24.441Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:24.446Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:24.447Z","priority":"6","pid":"2830187","message":" 16:16:23.953305 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:24.447Z","priority":"6","pid":"2830187","message":" 16:16:23.953437 Listening on port 36901"}

data: {"time":"2026-09-19T16:16:24.448Z","priority":"6","pid":"2830187","message":" 16:16:23.953483 Wrote pid 91524 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:24.448Z","priority":"6","pid":"2830187","message":" 16:16:23.953510 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:24.448Z","priority":"6","pid":"2830187","message":" 16:16:23.953662 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:24.449Z","priority":"6","pid":"2830187","message":" 16:16:23.954366 ====> Client connect"}

data: {"time":"2026-09-19T16:16:24.449Z","priority":"6","pid":"2830187","message":" 16:16:23.955518 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:24.449Z","priority":"6","pid":"2830187","message":" 16:16:23.955566 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:24.450Z","priority":"6","pid":"2830187","message":" 16:16:23.955739 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:24.450Z","priority":"6","pid":"2830187","message":" 16:16:23.956036 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:24.450Z","priority":"6","pid":"2830187","message":" 16:16:23.956055 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:24.451Z","priority":"6","pid":"2830187","message":" 16:16:23.956175 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:24.451Z","priority":"6","pid":"2830187","message":" 16:16:23.956186 quits"}

data: {"time":"2026-09-19T16:16:24.452Z","priority":"6","pid":"2830187","message":" 16:16:23.956275 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:24.452Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:24.452Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:24.452Z","priority":"6","pid":"2830187","message":" Testnum 216"}

data: {"time":"2026-09-19T16:16:24.453Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:24.453Z","priority":"6","pid":"2830187","message":"=== Start of file upload.216"}

data: {"time":"2026-09-19T16:16:24.453Z","priority":"6","pid":"2830187","message":" upload this file twice"}

data: {"time":"2026-09-19T16:16:24.453Z","priority":"6","pid":"2830187","message":"=== End of file upload.216"}

data: {"time":"2026-09-19T16:16:24.454Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind216"}

data: {"time":"2026-09-19T16:16:24.454Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:24.454Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:24.455Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:24.455Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.455Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:24.456Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:24.456Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:24.456Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:24.457Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:24.457Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.458Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:24.458Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:24.459Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:24.459Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:24.460Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:24.460Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:24.461Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:24.461Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.461Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:24.461Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:24.461Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.462Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:24.463Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:24.463Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:24.463Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.463Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:24.464Z","priority":"6","pid":"2830187","message":"=== End of file valgrind216"}

data: {"time":"2026-09-19T16:16:24.685Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind218 ../src/curl -q --output log/curl218.out  --include --trace-ascii log/trace218 --trace-time -T log/file218 -H \"Transfer-Encoding: chunked\" http://127.0.0.1:36137/218 > log/stdout218 2> log/stderr218"}

data: {"time":"2026-09-19T16:16:24.845Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind219 ../src/curl -q --output log/curl219.out  --include --trace-ascii log/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/stdout219 2> log/stderr219"}

data: {"time":"2026-09-19T16:16:24.848Z","priority":"6","pid":"2830187","message":"test 0217 [HTTP proxy CONNECT to proxy returning 405]"}

data: {"time":"2026-09-19T16:16:24.850Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind217 ../src/curl -q --include --trace-ascii log/trace217 --trace-time http://test.remote.example.com.217:36137/path/2170002 --proxy http://127.0.0.1:36137 --proxytunnel -w \"%{http_code} %{http_connect}\\n\" > log/stdout217 2> log/stderr217"}

data: {"time":"2026-09-19T16:16:24.850Z","priority":"6","pid":"2830187","message":" 217: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:24.851Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:24.436920691 +0000"}

data: {"time":"2026-09-19T16:16:24.851Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:24.435459992 +0000"}

data: {"time":"2026-09-19T16:16:24.851Z","priority":"6","pid":"2830187","message":"@@ -1,3 +0,0 @@"}

data: {"time":"2026-09-19T16:16:24.852Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 405 Method Not Allowed swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:24.852Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:16:24.852Z","priority":"6","pid":"2830187","message":"-000 405[LF]"}

data: {"time":"2026-09-19T16:16:24.852Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 217"}

data: {"time":"2026-09-19T16:16:24.852Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:24.853Z","priority":"6","pid":"2830187","message":" HTTP/1.1 405 Method Not Allowed swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:24.853Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:16:24.853Z","priority":"6","pid":"2830187","message":" 000 405[LF]"}

data: {"time":"2026-09-19T16:16:24.853Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:24.854Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:24.855Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind217 ../src/curl -q --include --trace-ascii log/trace217 --trace-time http://test.remote.example.com.217:36137/path/2170002 --proxy http://127.0.0.1:36137 --proxytunnel -w \"%{http_code} %{http_connect}\\n\" > log/stdout217 2> log/stderr217"}

data: {"time":"2026-09-19T16:16:24.855Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:24.856Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:24.856Z","priority":"6","pid":"2830187","message":" 16:16:24.311776 ====> Client connect"}

data: {"time":"2026-09-19T16:16:24.857Z","priority":"6","pid":"2830187","message":" 16:16:24.311815 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:24.857Z","priority":"6","pid":"2830187","message":" 16:16:24.312087 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:24.857Z","priority":"6","pid":"2830187","message":" 16:16:24.312104 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:24.857Z","priority":"6","pid":"2830187","message":" 16:16:24.312117 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:24.857Z","priority":"6","pid":"2830187","message":" 16:16:24.312125 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:24.857Z","priority":"6","pid":"2830187","message":" 16:16:24.312181 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:24.857Z","priority":"6","pid":"2830187","message":" 16:16:24.312199 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:24.858Z","priority":"6","pid":"2830187","message":" 16:16:24.312264 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:24.858Z","priority":"6","pid":"2830187","message":" 16:16:24.312273 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:24.858Z","priority":"6","pid":"2830187","message":" 16:16:24.312280 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:24.859Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:24.859Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:24.862Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:24.862Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35860"}

data: {"time":"2026-09-19T16:16:24.862Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:24.862Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:24.862Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:24.863Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:24.863Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:24.863Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:24.863Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:24.863Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:24.863Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:24.863Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:24.863Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:24.864Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:24.864Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:24.864Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:24.864Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:24.865Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:24.865Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:24.865Z","priority":"6","pid":"2830187","message":" Testnum 217"}

data: {"time":"2026-09-19T16:16:24.865Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:24.866Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:24.866Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:24.866Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:24.866Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:24.867Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:24.867Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind217"}

data: {"time":"2026-09-19T16:16:24.867Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:24.868Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:24.868Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:24.869Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.869Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:24.870Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:24.870Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:24.870Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:24.870Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:24.871Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.871Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:24.872Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:24.872Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:24.872Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:24.873Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:24.873Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:24.873Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:24.874Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.874Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:24.875Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:24.875Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.875Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:24.875Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:24.876Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:24.876Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.876Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:24.876Z","priority":"6","pid":"2830187","message":"=== End of file valgrind217"}

data: {"time":"2026-09-19T16:16:24.877Z","priority":"6","pid":"2830187","message":"test 0218 [HTTP PUT from a file but enforce chunked transfer-encoding]"}

data: {"time":"2026-09-19T16:16:24.879Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind218 ../src/curl -q --output log/curl218.out  --include --trace-ascii log/trace218 --trace-time -T log/file218 -H \"Transfer-Encoding: chunked\" http://127.0.0.1:36137/218 > log/stdout218 2> log/stderr218"}

data: {"time":"2026-09-19T16:16:24.879Z","priority":"6","pid":"2830187","message":" 218: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:24.879Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:24.880Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:24.880Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 218"}

data: {"time":"2026-09-19T16:16:24.881Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:24.883Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind218 ../src/curl -q --output log/curl218.out  --include --trace-ascii log/trace218 --trace-time -T log/file218 -H \"Transfer-Encoding: chunked\" http://127.0.0.1:36137/218 > log/stdout218 2> log/stderr218"}

data: {"time":"2026-09-19T16:16:24.883Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:24.883Z","priority":"6","pid":"2830187","message":"=== Start of file file218"}

data: {"time":"2026-09-19T16:16:24.883Z","priority":"6","pid":"2830187","message":" some tiny teeny test contents"}

data: {"time":"2026-09-19T16:16:24.883Z","priority":"6","pid":"2830187","message":"=== End of file file218"}

data: {"time":"2026-09-19T16:16:24.884Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:24.884Z","priority":"6","pid":"2830187","message":" 16:16:24.578308 ====> Client connect"}

data: {"time":"2026-09-19T16:16:24.884Z","priority":"6","pid":"2830187","message":" 16:16:24.578367 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:24.885Z","priority":"6","pid":"2830187","message":" 16:16:24.578677 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:24.885Z","priority":"6","pid":"2830187","message":" 16:16:24.578710 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:24.885Z","priority":"6","pid":"2830187","message":" 16:16:24.578729 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:24.886Z","priority":"6","pid":"2830187","message":" 16:16:24.578739 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:24.886Z","priority":"6","pid":"2830187","message":" 16:16:24.578790 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:24.887Z","priority":"6","pid":"2830187","message":" 16:16:24.578817 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:24.887Z","priority":"6","pid":"2830187","message":" 16:16:24.578914 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:24.887Z","priority":"6","pid":"2830187","message":" 16:16:24.578930 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:24.888Z","priority":"6","pid":"2830187","message":" 16:16:24.578941 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:24.888Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:24.888Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:24.888Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:24.889Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35864"}

data: {"time":"2026-09-19T16:16:24.889Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:24.889Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:24.890Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:24.890Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:24.890Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:24.890Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:24.890Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:24.891Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:24.891Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:24.891Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:24.892Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:24.892Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:24.892Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:24.892Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:24.892Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:24.893Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:24.893Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:24.893Z","priority":"6","pid":"2830187","message":" Testnum 218"}

data: {"time":"2026-09-19T16:16:24.893Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:24.894Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:24.894Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:24.894Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:24.894Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:24.894Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:24.895Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind218"}

data: {"time":"2026-09-19T16:16:24.895Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:24.895Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:24.896Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:24.896Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.896Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:24.897Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:24.897Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:24.902Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:24.902Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:24.902Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.902Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:24.902Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:24.902Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:24.903Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:24.904Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:24.904Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:24.904Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:24.905Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.905Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:24.906Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:24.906Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.906Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:24.907Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:24.907Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:24.907Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:24.908Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:24.908Z","priority":"6","pid":"2830187","message":"=== End of file valgrind218"}

data: {"time":"2026-09-19T16:16:24.908Z","priority":"6","pid":"2830187","message":"test 0219 [try using proxy with unsupported scheme]"}

data: {"time":"2026-09-19T16:16:25.131Z","priority":"6","pid":"2830187","message":"../libtool --mode=execCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind220 ../src/curl -q --output log/curl220.out  --include --trace-ascii log/trace220 --trace-time http://127.0.0.1:36137/220 --compressed -s -w '%{stderr}%{size_delivered}\\n' > log/stdout220 2> log/stderr220"}

data: {"time":"2026-09-19T16:16:25.138Z","priority":"6","pid":"2830187","message":"ute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind219 ../src/curl -q --output log/curl219.out  --include --trace-ascii log/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/stdout219 2> log/stderr219"}

data: {"time":"2026-09-19T16:16:25.144Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 7"}

data: {"time":"2026-09-19T16:16:25.144Z","priority":"6","pid":"2830187","message":" 219: exit FAILED"}

data: {"time":"2026-09-19T16:16:25.144Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 219"}

data: {"time":"2026-09-19T16:16:25.144Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:25.144Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind219 ../src/curl -q --output log/curl219.out  --include --trace-ascii log/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/stdout219 2> log/stderr219"}

data: {"time":"2026-09-19T16:16:25.145Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:25.145Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:25.145Z","priority":"6","pid":"2830187","message":" Testnum 219"}

data: {"time":"2026-09-19T16:16:25.145Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:25.146Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind219"}

data: {"time":"2026-09-19T16:16:25.146Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:25.147Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:25.147Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:25.148Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.148Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:25.148Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:25.149Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:25.150Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:25.150Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:25.150Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.150Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:25.151Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:25.151Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:25.151Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:25.152Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:25.152Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:25.153Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:25.154Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.154Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:25.154Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:25.154Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.155Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:25.155Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:25.155Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:25.156Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.156Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:25.156Z","priority":"6","pid":"2830187","message":"=== End of file valgrind219"}

data: {"time":"2026-09-19T16:16:25.395Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind221 ../src/curl -q --output log/curl221.out  --include --trace-ascii log/trace221 --trace-time http://127.0.0.1:36137/221 --compressed > log/stdout221 2> log/stderr221"}

data: {"time":"2026-09-19T16:16:25.634Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind222 ../src/curl -q --output log/curl222.out  --include --trace-ascii log/trace222 --trace-time http://127.0.0.1:36137/222 --compressed > log/stdout222 2> log/stderr222"}

data: {"time":"2026-09-19T16:16:25.640Z","priority":"6","pid":"2830187","message":"test 0220 [HTTP GET gzip compressed content]"}

data: {"time":"2026-09-19T16:16:25.643Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind220 ../src/curl -q --output log/curl220.out  --include --trace-ascii log/trace220 --trace-time http://127.0.0.1:36137/220 --compressed -s -w '%{stderr}%{size_delivered}\\n' > log/stdout220 2> log/stderr220"}

data: {"time":"2026-09-19T16:16:25.643Z","priority":"6","pid":"2830187","message":" 220: stderr FAILED:"}

data: {"time":"2026-09-19T16:16:25.644Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:25.137206723 +0000"}

data: {"time":"2026-09-19T16:16:25.644Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:25.135522643 +0000"}

data: {"time":"2026-09-19T16:16:25.644Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:16:25.644Z","priority":"6","pid":"2830187","message":"-24[CR][LF]"}

data: {"time":"2026-09-19T16:16:25.644Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 220"}

data: {"time":"2026-09-19T16:16:25.644Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:25.644Z","priority":"6","pid":"2830187","message":" 24[CR][LF]"}

data: {"time":"2026-09-19T16:16:25.645Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:25.645Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:25.648Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind220 ../src/curl -q --output log/curl220.out  --include --trace-ascii log/trace220 --trace-time http://127.0.0.1:36137/220 --compressed -s -w '%{stderr}%{size_delivered}\\n' > log/stdout220 2> log/stderr220"}

data: {"time":"2026-09-19T16:16:25.648Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:25.649Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:25.650Z","priority":"6","pid":"2830187","message":" 16:16:25.015431 ====> Client connect"}

data: {"time":"2026-09-19T16:16:25.651Z","priority":"6","pid":"2830187","message":" 16:16:25.015706 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:25.651Z","priority":"6","pid":"2830187","message":" 16:16:25.015754 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:25.652Z","priority":"6","pid":"2830187","message":" 16:16:25.015766 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:25.652Z","priority":"6","pid":"2830187","message":" 16:16:25.015782 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:25.652Z","priority":"6","pid":"2830187","message":" 16:16:25.015793 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:25.654Z","priority":"6","pid":"2830187","message":" 16:16:25.015836 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:25.654Z","priority":"6","pid":"2830187","message":" 16:16:25.015863 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:25.655Z","priority":"6","pid":"2830187","message":" 16:16:25.015965 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:25.655Z","priority":"6","pid":"2830187","message":" 16:16:25.015978 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:25.655Z","priority":"6","pid":"2830187","message":" 16:16:25.015991 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:25.655Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:25.655Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:25.656Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:25.657Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35872"}

data: {"time":"2026-09-19T16:16:25.657Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:25.657Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:25.657Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:25.657Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:25.657Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:25.657Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:25.657Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:25.658Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:25.658Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:25.658Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:25.658Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:25.659Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:25.659Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:25.659Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:25.659Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:25.659Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:25.660Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:25.660Z","priority":"6","pid":"2830187","message":" Testnum 220"}

data: {"time":"2026-09-19T16:16:25.660Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:25.660Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:25.661Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:25.661Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:25.661Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:25.661Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:25.662Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind220"}

data: {"time":"2026-09-19T16:16:25.662Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:25.663Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:25.663Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:25.663Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.664Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:25.665Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:25.665Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:25.665Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:25.665Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:25.665Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.666Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:25.666Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:25.667Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:25.667Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:25.667Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:25.668Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.673Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:25.675Z","priority":"6","pid":"2830187","message":"=== End of file valgrind220"}

data: {"time":"2026-09-19T16:16:25.675Z","priority":"6","pid":"2830187","message":"test 0221 [HTTP GET gzip compressed content with broken gzip header]"}

data: {"time":"2026-09-19T16:16:25.676Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind221 ../src/curl -q --output log/curl221.out  --include --trace-ascii log/trace221 --trace-time http://127.0.0.1:36137/221 --compressed > log/stdout221 2> log/stderr221"}

data: {"time":"2026-09-19T16:16:25.676Z","priority":"6","pid":"2830187","message":" 221: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:25.676Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:25.677Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:25.677Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 221"}

data: {"time":"2026-09-19T16:16:25.677Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:25.679Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind221 ../src/curl -q --output log/curl221.out  --include --trace-ascii log/trace221 --trace-time http://127.0.0.1:36137/221 --compressed > log/stdout221 2> log/stderr221"}

data: {"time":"2026-09-19T16:16:25.679Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:25.679Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:25.680Z","priority":"6","pid":"2830187","message":" 16:16:25.282171 ====> Client connect"}

data: {"time":"2026-09-19T16:16:25.680Z","priority":"6","pid":"2830187","message":" 16:16:25.282242 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:25.680Z","priority":"6","pid":"2830187","message":" 16:16:25.282431 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:25.681Z","priority":"6","pid":"2830187","message":" 16:16:25.282455 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:25.681Z","priority":"6","pid":"2830187","message":" 16:16:25.282516 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:25.681Z","priority":"6","pid":"2830187","message":" 16:16:25.282529 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:25.682Z","priority":"6","pid":"2830187","message":" 16:16:25.282582 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:25.683Z","priority":"6","pid":"2830187","message":" 16:16:25.282610 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:25.683Z","priority":"6","pid":"2830187","message":" 16:16:25.282682 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:25.683Z","priority":"6","pid":"2830187","message":" 16:16:25.282695 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:25.683Z","priority":"6","pid":"2830187","message":" 16:16:25.282705 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:25.684Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:25.684Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:25.684Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:25.685Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35874"}

data: {"time":"2026-09-19T16:16:25.685Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:25.685Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:25.686Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:25.686Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:25.687Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:25.687Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:25.687Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:25.687Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:25.687Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:25.687Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:25.687Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:25.688Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:25.688Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:25.689Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:25.689Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:25.689Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:25.689Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:25.689Z","priority":"6","pid":"2830187","message":" Testnum 221"}

data: {"time":"2026-09-19T16:16:25.690Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:25.690Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:25.690Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:25.690Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:25.691Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:25.691Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:25.691Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind221"}

data: {"time":"2026-09-19T16:16:25.692Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:25.692Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:25.692Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:25.693Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.693Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:25.693Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:25.694Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:25.694Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:25.695Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:25.695Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.695Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:25.697Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:25.697Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:25.697Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:25.697Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:25.697Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:25.698Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:25.698Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.699Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:25.699Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:25.699Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.699Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:25.700Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:25.700Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:25.701Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:25.701Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:25.701Z","priority":"6","pid":"2830187","message":"=== End of file valgrind221"}

data: {"time":"2026-09-19T16:16:25.702Z","priority":"6","pid":"2830187","message":"test 0222 [HTTP GET deflate compressed content]"}

data: {"time":"2026-09-19T16:16:25.702Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind222 ../src/curl -q --output log/curl222.out  --include --trace-ascii log/trace222 --trace-time http://127.0.0.1:36137/222 --compressed > log/stdout222 2> log/stderr222"}

data: {"time":"2026-09-19T16:16:25.703Z","priority":"6","pid":"2830187","message":" 222: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:25.916Z","priority":"6","pid":"2830187","message":" CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind223 ../src/curl -q --output log/curl223.out  --include --trace-ascii log/trace223 --trace-time http://127.0.0.1:36137/223 --compressed > log/stdout223 2> log/stderr223"}

data: {"time":"2026-09-19T16:16:26.149Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind224 ../src/curl -q --output log/curl224.out  --include --trace-ascii log/trace224 --trace-time http://127.0.0.1:36137/224 --compressed > log/stdout224 2> log/stderr224"}

data: {"time":"2026-09-19T16:16:26.154Z","priority":"6","pid":"2830187","message":"There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:26.154Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:26.154Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 222"}

data: {"time":"2026-09-19T16:16:26.154Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:26.156Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind222 ../src/curl -q --output log/curl222.out  --include --trace-ascii log/trace222 --trace-time http://127.0.0.1:36137/222 --compressed > log/stdout222 2> log/stderr222"}

data: {"time":"2026-09-19T16:16:26.157Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:26.157Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:26.157Z","priority":"6","pid":"2830187","message":" 16:16:25.511135 ====> Client connect"}

data: {"time":"2026-09-19T16:16:26.157Z","priority":"6","pid":"2830187","message":" 16:16:25.511212 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:26.157Z","priority":"6","pid":"2830187","message":" 16:16:25.511254 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:26.158Z","priority":"6","pid":"2830187","message":" 16:16:25.511265 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:26.158Z","priority":"6","pid":"2830187","message":" 16:16:25.511280 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:26.158Z","priority":"6","pid":"2830187","message":" 16:16:25.511290 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:26.159Z","priority":"6","pid":"2830187","message":" 16:16:25.511322 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:26.159Z","priority":"6","pid":"2830187","message":" 16:16:25.511341 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:26.160Z","priority":"6","pid":"2830187","message":" 16:16:25.511424 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:26.160Z","priority":"6","pid":"2830187","message":" 16:16:25.511435 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:26.160Z","priority":"6","pid":"2830187","message":" 16:16:25.511444 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:26.161Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:26.161Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:26.161Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:26.162Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35882"}

data: {"time":"2026-09-19T16:16:26.162Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:26.162Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:26.163Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:26.163Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:26.163Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:26.163Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:26.163Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:26.164Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:26.164Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:26.164Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:26.165Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:26.166Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:26.166Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:26.166Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:26.166Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:26.166Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:26.167Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:26.167Z","priority":"6","pid":"2830187","message":" Testnum 222"}

data: {"time":"2026-09-19T16:16:26.167Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:26.168Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:26.169Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:26.170Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:26.170Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:26.170Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:26.171Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind222"}

data: {"time":"2026-09-19T16:16:26.171Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:26.172Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:26.173Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:26.174Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.175Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:26.176Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:26.177Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:26.177Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:26.178Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:26.178Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.180Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:26.180Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:26.181Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:26.182Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:26.182Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:26.183Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:26.183Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:26.183Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.184Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:26.184Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:26.185Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.185Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:26.186Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:26.186Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:26.186Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.186Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:26.187Z","priority":"6","pid":"2830187","message":"=== End of file valgrind222"}

data: {"time":"2026-09-19T16:16:26.187Z","priority":"6","pid":"2830187","message":"test 0223 [HTTP GET deflate compressed content with broken deflate header]"}

data: {"time":"2026-09-19T16:16:26.188Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind223 ../src/curl -q --output log/curl223.out  --include --trace-ascii log/trace223 --trace-time http://127.0.0.1:36137/223 --compressed > log/stdout223 2> log/stderr223"}

data: {"time":"2026-09-19T16:16:26.189Z","priority":"6","pid":"2830187","message":" 223: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:26.189Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:26.189Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:26.190Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 223"}

data: {"time":"2026-09-19T16:16:26.191Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:26.192Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind223 ../src/curl -q --output log/curl223.out  --include --trace-ascii log/trace223 --trace-time http://127.0.0.1:36137/223 --compressed > log/stdout223 2> log/stderr223"}

data: {"time":"2026-09-19T16:16:26.192Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:26.193Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:26.193Z","priority":"6","pid":"2830187","message":" 16:16:25.811934 ====> Client connect"}

data: {"time":"2026-09-19T16:16:26.193Z","priority":"6","pid":"2830187","message":" 16:16:25.811978 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:26.193Z","priority":"6","pid":"2830187","message":" 16:16:25.812278 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:26.194Z","priority":"6","pid":"2830187","message":" 16:16:25.812316 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:26.194Z","priority":"6","pid":"2830187","message":" 16:16:25.812335 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:26.195Z","priority":"6","pid":"2830187","message":" 16:16:25.812349 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:26.195Z","priority":"6","pid":"2830187","message":" 16:16:25.812405 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:26.196Z","priority":"6","pid":"2830187","message":" 16:16:25.812476 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:26.196Z","priority":"6","pid":"2830187","message":" 16:16:25.812555 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:26.197Z","priority":"6","pid":"2830187","message":" 16:16:25.812567 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:26.197Z","priority":"6","pid":"2830187","message":" 16:16:25.812578 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:26.198Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:26.198Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:26.198Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:26.199Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35886"}

data: {"time":"2026-09-19T16:16:26.199Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:26.200Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:26.200Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:26.200Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:26.200Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:26.200Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:26.200Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:26.201Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:26.201Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:26.201Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:26.201Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:26.202Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:26.202Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:26.202Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:26.203Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:26.203Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:26.203Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:26.203Z","priority":"6","pid":"2830187","message":" Testnum 223"}

data: {"time":"2026-09-19T16:16:26.204Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:26.205Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:26.205Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:26.205Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:26.205Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:26.205Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:26.205Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind223"}

data: {"time":"2026-09-19T16:16:26.206Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:26.206Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:26.207Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:26.207Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.207Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:26.208Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:26.208Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:26.208Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:26.209Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:26.209Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.209Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:26.210Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:26.210Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:26.212Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:26.212Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:26.212Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:26.212Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:26.213Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.213Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:26.214Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:26.214Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.214Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:26.215Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:26.216Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:26.216Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.216Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:26.216Z","priority":"6","pid":"2830187","message":"=== End of file valgrind223"}

data: {"time":"2026-09-19T16:16:26.218Z","priority":"6","pid":"2830187","message":"test 0224 [HTTP GET gzip compressed content with huge comment and extra field]"}

data: {"time":"2026-09-19T16:16:26.219Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind224 ../src/curl -q --output log/curl224.out  --include --trace-ascii log/trace224 --trace-time http://127.0.0.1:36137/224 --compressed > log/stdout224 2> log/stderr224"}

data: {"time":"2026-09-19T16:16:26.219Z","priority":"6","pid":"2830187","message":" 224: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:26.220Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:26.220Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:26.220Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 224"}

data: {"time":"2026-09-19T16:16:26.220Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:26.222Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind224 ../src/curl -q --output log/curl224.out  --include --trace-ascii log/trace224 --trace-time http://127.0.0.1:36137/224 --compressed > log/stdout224 2> log/stderr224"}

data: {"time":"2026-09-19T16:16:26.478Z","priority":"6","pid":"2830187","message":"=== End of file commandCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind225 ../src/curl -q --output log/curl225.out  --include --trace-ascii log/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:40021/225%0a > log/stdout225 2> log/stderr225"}

data: {"time":"2026-09-19T16:16:26.491Z","priority":"6","pid":"2830187","message":"s.log"}

data: {"time":"2026-09-19T16:16:26.491Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:26.492Z","priority":"6","pid":"2830187","message":" 16:16:26.040995 ====> Client connect"}

data: {"time":"2026-09-19T16:16:26.493Z","priority":"6","pid":"2830187","message":" 16:16:26.041050 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:26.493Z","priority":"6","pid":"2830187","message":" 16:16:26.041085 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:26.493Z","priority":"6","pid":"2830187","message":" 16:16:26.041096 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:26.493Z","priority":"6","pid":"2830187","message":" 16:16:26.041113 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:26.494Z","priority":"6","pid":"2830187","message":" 16:16:26.041123 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:26.494Z","priority":"6","pid":"2830187","message":" 16:16:26.041156 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:26.495Z","priority":"6","pid":"2830187","message":" 16:16:26.041176 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:26.496Z","priority":"6","pid":"2830187","message":" 16:16:26.041279 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:26.496Z","priority":"6","pid":"2830187","message":" 16:16:26.041292 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:26.497Z","priority":"6","pid":"2830187","message":" 16:16:26.041302 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:26.497Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:26.497Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:26.498Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:26.498Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 35898"}

data: {"time":"2026-09-19T16:16:26.498Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:26.499Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:26.499Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:26.499Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:26.500Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:26.500Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:26.500Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:26.501Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:26.501Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:26.501Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:26.501Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:26.501Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:26.501Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:26.502Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:26.502Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:26.502Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:26.502Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:26.502Z","priority":"6","pid":"2830187","message":" Testnum 224"}

data: {"time":"2026-09-19T16:16:26.503Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:26.503Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:26.503Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:26.503Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:26.503Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:26.504Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:26.504Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind224"}

data: {"time":"2026-09-19T16:16:26.504Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:26.505Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:26.506Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:26.506Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.506Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:26.506Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:26.506Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:26.507Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:26.507Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:26.507Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.508Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:26.508Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:26.508Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:26.509Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:26.509Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:26.510Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:26.510Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:26.510Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.511Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:26.511Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:26.511Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.512Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:26.512Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:26.513Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:26.513Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.513Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:26.513Z","priority":"6","pid":"2830187","message":"=== End of file valgrind224"}

data: {"time":"2026-09-19T16:16:26.514Z","priority":"6","pid":"2830187","message":"test 0225 [FTP %0a-code in URL's name part]"}

data: {"time":"2026-09-19T16:16:26.515Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind225 ../src/curl -q --output log/curl225.out  --include --trace-ascii log/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:40021/225%0a > log/stdout225 2> log/stderr225"}

data: {"time":"2026-09-19T16:16:26.516Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 3"}

data: {"time":"2026-09-19T16:16:26.516Z","priority":"6","pid":"2830187","message":" 225: exit FAILED"}

data: {"time":"2026-09-19T16:16:26.516Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 225"}

data: {"time":"2026-09-19T16:16:26.517Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:26.518Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind225 ../src/curl -q --output log/curl225.out  --include --trace-ascii log/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:40021/225%0a > log/stdout225 2> log/stderr225"}

data: {"time":"2026-09-19T16:16:26.519Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:26.519Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:26.519Z","priority":"6","pid":"2830187","message":" 16:16:26.263773 ====> Client connect"}

data: {"time":"2026-09-19T16:16:26.520Z","priority":"6","pid":"2830187","message":" 16:16:26.264131 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.521Z","priority":"6","pid":"2830187","message":" 16:16:26.264876 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:26.521Z","priority":"6","pid":"2830187","message":" 16:16:26.265171 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.521Z","priority":"6","pid":"2830187","message":" 16:16:26.265294 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:26.522Z","priority":"6","pid":"2830187","message":" 16:16:26.265388 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.522Z","priority":"6","pid":"2830187","message":" 16:16:26.265660 < \"PWD\""}

data: {"time":"2026-09-19T16:16:26.523Z","priority":"6","pid":"2830187","message":" 16:16:26.265715 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.523Z","priority":"6","pid":"2830187","message":" 16:16:26.266037 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:26.523Z","priority":"6","pid":"2830187","message":" 16:16:26.266082 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:26.524Z","priority":"6","pid":"2830187","message":" 16:16:26.266106 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:26.525Z","priority":"6","pid":"2830187","message":" 16:16:26.269527 DATA sockfilt for passive data channel started (pid 92107)"}

data: {"time":"2026-09-19T16:16:26.525Z","priority":"6","pid":"2830187","message":" 16:16:26.269710 DATA sockfilt for passive data channel listens on port 35625"}

data: {"time":"2026-09-19T16:16:26.525Z","priority":"6","pid":"2830187","message":" 16:16:26.269796 > \"229 Entering Passive Mode (|||35625|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.526Z","priority":"6","pid":"2830187","message":" 16:16:26.269839 Client has been notified that upcoming DATA connection is awaited on port 35625"}

data: {"time":"2026-09-19T16:16:26.527Z","priority":"6","pid":"2830187","message":" 16:16:26.270300 Client connects to port 35625"}

data: {"time":"2026-09-19T16:16:26.527Z","priority":"6","pid":"2830187","message":" 16:16:26.270472 ====> Client established passive DATA connection on port 35625"}

data: {"time":"2026-09-19T16:16:26.527Z","priority":"6","pid":"2830187","message":" 16:16:26.270762 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:26.527Z","priority":"6","pid":"2830187","message":" 16:16:26.270871 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.527Z","priority":"6","pid":"2830187","message":" 16:16:26.271155 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:26.528Z","priority":"6","pid":"2830187","message":" 16:16:26.271351 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.528Z","priority":"6","pid":"2830187","message":" 16:16:26.271491 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:26.529Z","priority":"6","pid":"2830187","message":" 16:16:26.271575 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.529Z","priority":"6","pid":"2830187","message":" 16:16:26.271832 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:26.530Z","priority":"6","pid":"2830187","message":" 16:16:26.271868 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:26.530Z","priority":"6","pid":"2830187","message":" 16:16:26.272369 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:26.531Z","priority":"6","pid":"2830187","message":" 16:16:26.272425 DATA sockfilt for passive data channel quits (pid 92107)"}

data: {"time":"2026-09-19T16:16:26.531Z","priority":"6","pid":"2830187","message":" 16:16:26.272998 DATA sockfilt for passive data channel quit (pid 92107)"}

data: {"time":"2026-09-19T16:16:26.532Z","priority":"6","pid":"2830187","message":" 16:16:26.273039 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:26.532Z","priority":"6","pid":"2830187","message":" 16:16:26.273090 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.532Z","priority":"6","pid":"2830187","message":" 16:16:26.313031 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:26.533Z","priority":"6","pid":"2830187","message":" 16:16:26.313125 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.533Z","priority":"6","pid":"2830187","message":" 16:16:26.314168 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:26.534Z","priority":"6","pid":"2830187","message":" 16:16:26.314385 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:26.534Z","priority":"6","pid":"2830187","message":" 16:16:26.314535 Awaiting input"}

data: {"time":"2026-09-19T16:16:26.535Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:26.535Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:26.535Z","priority":"6","pid":"2830187","message":" 16:16:26.333681 ====> Client connect"}

data: {"time":"2026-09-19T16:16:26.535Z","priority":"6","pid":"2830187","message":" 16:16:26.334378 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.536Z","priority":"6","pid":"2830187","message":" 16:16:26.334416 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.536Z","priority":"6","pid":"2830187","message":" 16:16:26.334478 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:26.537Z","priority":"6","pid":"2830187","message":" 16:16:26.334496 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.537Z","priority":"6","pid":"2830187","message":" 16:16:26.334518 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.538Z","priority":"6","pid":"2830187","message":" 16:16:26.334689 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.538Z","priority":"6","pid":"2830187","message":" 16:16:26.334716 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.538Z","priority":"6","pid":"2830187","message":" 16:16:26.335062 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.539Z","priority":"6","pid":"2830187","message":" 16:16:26.335093 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.539Z","priority":"6","pid":"2830187","message":" 16:16:26.335123 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.540Z","priority":"6","pid":"2830187","message":" 16:16:26.335215 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.540Z","priority":"6","pid":"2830187","message":" 16:16:26.335230 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.540Z","priority":"6","pid":"2830187","message":" 16:16:26.335511 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.541Z","priority":"6","pid":"2830187","message":" 16:16:26.335526 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.541Z","priority":"6","pid":"2830187","message":" 16:16:26.335539 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.542Z","priority":"6","pid":"2830187","message":" 16:16:26.335616 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.542Z","priority":"6","pid":"2830187","message":" 16:16:26.335642 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.542Z","priority":"6","pid":"2830187","message":" 16:16:26.335837 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.543Z","priority":"6","pid":"2830187","message":" 16:16:26.335852 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.544Z","priority":"6","pid":"2830187","message":" 16:16:26.335865 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.544Z","priority":"6","pid":"2830187","message":" 16:16:26.335976 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.544Z","priority":"6","pid":"2830187","message":" 16:16:26.336011 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.544Z","priority":"6","pid":"2830187","message":" 16:16:26.339992 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.544Z","priority":"6","pid":"2830187","message":" 16:16:26.340021 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.545Z","priority":"6","pid":"2830187","message":" 16:16:26.340041 '229 Entering Passive Mode (|||35625|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.545Z","priority":"6","pid":"2830187","message":" 16:16:26.340662 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.545Z","priority":"6","pid":"2830187","message":" 16:16:26.340687 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.546Z","priority":"6","pid":"2830187","message":" 16:16:26.340904 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.546Z","priority":"6","pid":"2830187","message":" 16:16:26.340926 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.546Z","priority":"6","pid":"2830187","message":" 16:16:26.341012 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.547Z","priority":"6","pid":"2830187","message":" 16:16:26.341129 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.547Z","priority":"6","pid":"2830187","message":" 16:16:26.341146 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.548Z","priority":"6","pid":"2830187","message":" 16:16:26.341309 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.548Z","priority":"6","pid":"2830187","message":" 16:16:26.341324 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.548Z","priority":"6","pid":"2830187","message":" 16:16:26.341344 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.549Z","priority":"6","pid":"2830187","message":" 16:16:26.341490 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.549Z","priority":"6","pid":"2830187","message":" 16:16:26.341506 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.549Z","priority":"6","pid":"2830187","message":" 16:16:26.341628 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.550Z","priority":"6","pid":"2830187","message":" 16:16:26.341642 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.550Z","priority":"6","pid":"2830187","message":" 16:16:26.341752 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.551Z","priority":"6","pid":"2830187","message":" 16:16:26.343222 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.551Z","priority":"6","pid":"2830187","message":" 16:16:26.343243 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.551Z","priority":"6","pid":"2830187","message":" 16:16:26.343257 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.552Z","priority":"6","pid":"2830187","message":" 16:16:26.383280 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.553Z","priority":"6","pid":"2830187","message":" 16:16:26.383311 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.553Z","priority":"6","pid":"2830187","message":" 16:16:26.383335 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.553Z","priority":"6","pid":"2830187","message":" 16:16:26.383347 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.558Z","priority":"6","pid":"2830187","message":" 16:16:26.383362 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.558Z","priority":"6","pid":"2830187","message":" 16:16:26.384170 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:26.850Z","priority":"6","pid":"2830187","message":" 16:16:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind226 ../src/curl -q --output log/curl226.out  --include --trace-ascii log/trace226 --trace-time ftp://127.0.0.1:40021/226%0d > log/stdout226 2> log/stderr226"}

data: {"time":"2026-09-19T16:16:26.855Z","priority":"6","pid":"2830187","message":"26.384340 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:26.856Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:26.856Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:26.856Z","priority":"6","pid":"2830187","message":" 16:16:26.339007 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:26.857Z","priority":"6","pid":"2830187","message":" 16:16:26.339151 Listening on port 35625"}

data: {"time":"2026-09-19T16:16:26.858Z","priority":"6","pid":"2830187","message":" 16:16:26.339536 Wrote pid 92107 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:26.858Z","priority":"6","pid":"2830187","message":" 16:16:26.339574 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:26.858Z","priority":"6","pid":"2830187","message":" 16:16:26.339691 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:26.858Z","priority":"6","pid":"2830187","message":" 16:16:26.340329 ====> Client connect"}

data: {"time":"2026-09-19T16:16:26.859Z","priority":"6","pid":"2830187","message":" 16:16:26.341709 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.859Z","priority":"6","pid":"2830187","message":" 16:16:26.341733 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.861Z","priority":"6","pid":"2830187","message":" 16:16:26.342119 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.861Z","priority":"6","pid":"2830187","message":" 16:16:26.342207 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:26.861Z","priority":"6","pid":"2830187","message":" 16:16:26.342231 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:26.865Z","priority":"6","pid":"2830187","message":" 16:16:26.342564 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:26.865Z","priority":"6","pid":"2830187","message":" 16:16:26.342620 quits"}

data: {"time":"2026-09-19T16:16:26.865Z","priority":"6","pid":"2830187","message":" 16:16:26.342779 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:26.865Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:26.865Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:26.865Z","priority":"6","pid":"2830187","message":" Testnum 225"}

data: {"time":"2026-09-19T16:16:26.865Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:26.865Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind225"}

data: {"time":"2026-09-19T16:16:26.867Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:26.868Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:26.868Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:26.868Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.868Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:26.869Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:26.870Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:26.870Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:26.871Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:26.871Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.873Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:26.873Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:26.875Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:26.876Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:26.876Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:26.876Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:26.876Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:26.877Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.877Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:26.877Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:26.878Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.878Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:26.879Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:26.879Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:26.879Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:26.880Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:26.880Z","priority":"6","pid":"2830187","message":"=== End of file valgrind225"}

data: {"time":"2026-09-19T16:16:26.880Z","priority":"6","pid":"2830187","message":"test 0226 [FTP %0d-code in URL's CWD part]"}

data: {"time":"2026-09-19T16:16:26.881Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind226 ../src/curl -q --output log/curl226.out  --include --trace-ascii log/trace226 --trace-time ftp://127.0.0.1:40021/226%0d > log/stdout226 2> log/stderr226"}

data: {"time":"2026-09-19T16:16:26.882Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 3"}

data: {"time":"2026-09-19T16:16:26.882Z","priority":"6","pid":"2830187","message":" 226: exit FAILED"}

data: {"time":"2026-09-19T16:16:26.883Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 226"}

data: {"time":"2026-09-19T16:16:26.883Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:26.884Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind226 ../src/curl -q --output log/curl226.out  --include --trace-ascii log/trace226 --trace-time ftp://127.0.0.1:40021/226%0d > log/stdout226 2> log/stderr226"}

data: {"time":"2026-09-19T16:16:26.885Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:26.885Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:26.886Z","priority":"6","pid":"2830187","message":" 16:16:26.609993 ====> Client connect"}

data: {"time":"2026-09-19T16:16:26.887Z","priority":"6","pid":"2830187","message":" 16:16:26.610798 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.887Z","priority":"6","pid":"2830187","message":" 16:16:26.611130 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:26.887Z","priority":"6","pid":"2830187","message":" 16:16:26.611311 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.888Z","priority":"6","pid":"2830187","message":" 16:16:26.611714 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:26.889Z","priority":"6","pid":"2830187","message":" 16:16:26.611763 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.889Z","priority":"6","pid":"2830187","message":" 16:16:26.612193 < \"PWD\""}

data: {"time":"2026-09-19T16:16:26.889Z","priority":"6","pid":"2830187","message":" 16:16:26.612408 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.889Z","priority":"6","pid":"2830187","message":" 16:16:26.612725 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:26.890Z","priority":"6","pid":"2830187","message":" 16:16:26.612769 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:26.890Z","priority":"6","pid":"2830187","message":" 16:16:26.612790 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:26.891Z","priority":"6","pid":"2830187","message":" 16:16:26.616215 DATA sockfilt for passive data channel started (pid 92172)"}

data: {"time":"2026-09-19T16:16:26.891Z","priority":"6","pid":"2830187","message":" 16:16:26.616503 DATA sockfilt for passive data channel listens on port 38459"}

data: {"time":"2026-09-19T16:16:26.892Z","priority":"6","pid":"2830187","message":" 16:16:26.616603 > \"229 Entering Passive Mode (|||38459|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.893Z","priority":"6","pid":"2830187","message":" 16:16:26.616641 Client has been notified that upcoming DATA connection is awaited on port 38459"}

data: {"time":"2026-09-19T16:16:26.893Z","priority":"6","pid":"2830187","message":" 16:16:26.617137 Client connects to port 38459"}

data: {"time":"2026-09-19T16:16:26.894Z","priority":"6","pid":"2830187","message":" 16:16:26.617188 ====> Client established passive DATA connection on port 38459"}

data: {"time":"2026-09-19T16:16:26.894Z","priority":"6","pid":"2830187","message":" 16:16:26.617603 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:26.895Z","priority":"6","pid":"2830187","message":" 16:16:26.617659 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.895Z","priority":"6","pid":"2830187","message":" 16:16:26.617919 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:26.895Z","priority":"6","pid":"2830187","message":" 16:16:26.617975 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.896Z","priority":"6","pid":"2830187","message":" 16:16:26.618193 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:26.896Z","priority":"6","pid":"2830187","message":" 16:16:26.618243 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.896Z","priority":"6","pid":"2830187","message":" 16:16:26.618497 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:26.897Z","priority":"6","pid":"2830187","message":" 16:16:26.618523 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:26.897Z","priority":"6","pid":"2830187","message":" 16:16:26.618810 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:26.898Z","priority":"6","pid":"2830187","message":" 16:16:26.618868 DATA sockfilt for passive data channel quits (pid 92172)"}

data: {"time":"2026-09-19T16:16:26.898Z","priority":"6","pid":"2830187","message":" 16:16:26.619330 DATA sockfilt for passive data channel quit (pid 92172)"}

data: {"time":"2026-09-19T16:16:26.899Z","priority":"6","pid":"2830187","message":" 16:16:26.619396 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:26.899Z","priority":"6","pid":"2830187","message":" 16:16:26.619439 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.899Z","priority":"6","pid":"2830187","message":" 16:16:26.660177 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:26.899Z","priority":"6","pid":"2830187","message":" 16:16:26.660375 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:26.900Z","priority":"6","pid":"2830187","message":" 16:16:26.661303 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:26.900Z","priority":"6","pid":"2830187","message":" 16:16:26.661469 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:26.900Z","priority":"6","pid":"2830187","message":" 16:16:26.661587 Awaiting input"}

data: {"time":"2026-09-19T16:16:26.901Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:26.901Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:26.901Z","priority":"6","pid":"2830187","message":" 16:16:26.679875 ====> Client connect"}

data: {"time":"2026-09-19T16:16:26.902Z","priority":"6","pid":"2830187","message":" 16:16:26.680342 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.902Z","priority":"6","pid":"2830187","message":" 16:16:26.680380 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.902Z","priority":"6","pid":"2830187","message":" 16:16:26.680617 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:26.903Z","priority":"6","pid":"2830187","message":" 16:16:26.680655 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.903Z","priority":"6","pid":"2830187","message":" 16:16:26.680669 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.904Z","priority":"6","pid":"2830187","message":" 16:16:26.680982 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.904Z","priority":"6","pid":"2830187","message":" 16:16:26.681003 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.904Z","priority":"6","pid":"2830187","message":" 16:16:26.681274 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.905Z","priority":"6","pid":"2830187","message":" 16:16:26.681301 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.905Z","priority":"6","pid":"2830187","message":" 16:16:26.681457 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.906Z","priority":"6","pid":"2830187","message":" 16:16:26.681652 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.906Z","priority":"6","pid":"2830187","message":" 16:16:26.681671 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.906Z","priority":"6","pid":"2830187","message":" 16:16:26.681960 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.907Z","priority":"6","pid":"2830187","message":" 16:16:26.681980 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.907Z","priority":"6","pid":"2830187","message":" 16:16:26.681993 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.908Z","priority":"6","pid":"2830187","message":" 16:16:26.682114 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.908Z","priority":"6","pid":"2830187","message":" 16:16:26.682136 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.908Z","priority":"6","pid":"2830187","message":" 16:16:26.682332 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.909Z","priority":"6","pid":"2830187","message":" 16:16:26.682353 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.909Z","priority":"6","pid":"2830187","message":" 16:16:26.682377 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.910Z","priority":"6","pid":"2830187","message":" 16:16:26.682665 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.910Z","priority":"6","pid":"2830187","message":" 16:16:26.682691 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.910Z","priority":"6","pid":"2830187","message":" 16:16:26.686785 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.911Z","priority":"6","pid":"2830187","message":" 16:16:26.686819 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.911Z","priority":"6","pid":"2830187","message":" 16:16:26.686837 '229 Entering Passive Mode (|||38459|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.912Z","priority":"6","pid":"2830187","message":" 16:16:26.687435 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.912Z","priority":"6","pid":"2830187","message":" 16:16:26.687464 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.912Z","priority":"6","pid":"2830187","message":" 16:16:26.687768 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.912Z","priority":"6","pid":"2830187","message":" 16:16:26.687786 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.913Z","priority":"6","pid":"2830187","message":" 16:16:26.687800 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.913Z","priority":"6","pid":"2830187","message":" 16:16:26.687884 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.914Z","priority":"6","pid":"2830187","message":" 16:16:26.687898 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.914Z","priority":"6","pid":"2830187","message":" 16:16:26.688079 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.914Z","priority":"6","pid":"2830187","message":" 16:16:26.688093 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.914Z","priority":"6","pid":"2830187","message":" 16:16:26.688104 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.915Z","priority":"6","pid":"2830187","message":" 16:16:26.688173 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.916Z","priority":"6","pid":"2830187","message":" 16:16:26.688187 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.916Z","priority":"6","pid":"2830187","message":" 16:16:26.688401 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.916Z","priority":"6","pid":"2830187","message":" 16:16:26.688435 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.916Z","priority":"6","pid":"2830187","message":" 16:16:26.688448 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.917Z","priority":"6","pid":"2830187","message":" 16:16:26.689549 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.917Z","priority":"6","pid":"2830187","message":" 16:16:26.689566 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.917Z","priority":"6","pid":"2830187","message":" 16:16:26.689580 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.918Z","priority":"6","pid":"2830187","message":" 16:16:26.730073 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:26.918Z","priority":"6","pid":"2830187","message":" 16:16:26.730136 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.918Z","priority":"6","pid":"2830187","message":" 16:16:26.730351 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.919Z","priority":"6","pid":"2830187","message":" 16:16:26.730379 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.919Z","priority":"6","pid":"2830187","message":" 16:16:26.730500 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.919Z","priority":"6","pid":"2830187","message":" 16:16:26.731299 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:26.920Z","priority":"6","pid":"2830187","message":" 16:16:26.731463 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:26.920Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:26.920Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:26.921Z","priority":"6","pid":"2830187","message":" 16:16:26.685312 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:26.922Z","priority":"6","pid":"2830187","message":" 16:16:26.686083 Listening on port 38459"}

data: {"time":"2026-09-19T16:16:26.922Z","priority":"6","pid":"2830187","message":" 16:16:26.686193 Wrote pid 92172 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:26.922Z","priority":"6","pid":"2830187","message":" 16:16:26.686235 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:26.922Z","priority":"6","pid":"2830187","message":" 16:16:26.686371 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:26.922Z","priority":"6","pid":"2830187","message":" 16:16:26.687149 ====> Client connect"}

data: {"time":"2026-09-19T16:16:26.922Z","priority":"6","pid":"2830187","message":" 16:16:26.688357 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:26.923Z","priority":"6","pid":"2830187","message":" 16:16:26.688383 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:26.924Z","priority":"6","pid":"2830187","message":" 16:16:26.688629 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:26.924Z","priority":"6","pid":"2830187","message":" 16:16:26.688673 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:26.924Z","priority":"6","pid":"2830187","message":" 16:16:26.688687 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:27.209Z","priority":"6","pid":"2830187","message":" 16:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind227 ../src/curl -q --output log/curl227.out  --include --trace-ascii log/trace227 --trace-time ftp://127.0.0.1:40021/227 -Q \"NOOP 1\" -Q \"+NOOP 2\" -Q \"-NOOP 3\" -Q \"*FAIL\" -Q \"+*FAIL HARD\" > log/stdout227 2> log/stderr227"}

data: {"time":"2026-09-19T16:16:27.213Z","priority":"6","pid":"2830187","message":"16:26.688992 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:27.213Z","priority":"6","pid":"2830187","message":" 16:16:26.689013 quits"}

data: {"time":"2026-09-19T16:16:27.214Z","priority":"6","pid":"2830187","message":" 16:16:26.689142 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:27.214Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:27.215Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:27.215Z","priority":"6","pid":"2830187","message":" Testnum 226"}

data: {"time":"2026-09-19T16:16:27.215Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:27.215Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind226"}

data: {"time":"2026-09-19T16:16:27.216Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:27.216Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:27.217Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:27.217Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.217Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:27.217Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:27.218Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:27.218Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:27.219Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:27.219Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.219Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:27.220Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:27.220Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:27.220Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:27.221Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:27.221Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:27.221Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:27.222Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.222Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:27.223Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:27.223Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.223Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:27.223Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:27.224Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:27.224Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.224Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:27.225Z","priority":"6","pid":"2830187","message":"=== End of file valgrind226"}

data: {"time":"2026-09-19T16:16:27.225Z","priority":"6","pid":"2830187","message":"test 0227 [FTP with quote ops]"}

data: {"time":"2026-09-19T16:16:27.226Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind227 ../src/curl -q --output log/curl227.out  --include --trace-ascii log/trace227 --trace-time ftp://127.0.0.1:40021/227 -Q \"NOOP 1\" -Q \"+NOOP 2\" -Q \"-NOOP 3\" -Q \"*FAIL\" -Q \"+*FAIL HARD\" > log/stdout227 2> log/stderr227"}

data: {"time":"2026-09-19T16:16:27.227Z","priority":"6","pid":"2830187","message":" 227: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:27.227Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:27.228Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:27.228Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 227"}

data: {"time":"2026-09-19T16:16:27.228Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:27.229Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind227 ../src/curl -q --output log/curl227.out  --include --trace-ascii log/trace227 --trace-time ftp://127.0.0.1:40021/227 -Q \"NOOP 1\" -Q \"+NOOP 2\" -Q \"-NOOP 3\" -Q \"*FAIL\" -Q \"+*FAIL HARD\" > log/stdout227 2> log/stderr227"}

data: {"time":"2026-09-19T16:16:27.230Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:27.230Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:27.230Z","priority":"6","pid":"2830187","message":" 16:16:26.960160 ====> Client connect"}

data: {"time":"2026-09-19T16:16:27.231Z","priority":"6","pid":"2830187","message":" 16:16:26.960773 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.231Z","priority":"6","pid":"2830187","message":" 16:16:26.960978 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:27.232Z","priority":"6","pid":"2830187","message":" 16:16:26.961043 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.232Z","priority":"6","pid":"2830187","message":" 16:16:26.961414 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:27.232Z","priority":"6","pid":"2830187","message":" 16:16:26.961599 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.232Z","priority":"6","pid":"2830187","message":" 16:16:26.961686 < \"PWD\""}

data: {"time":"2026-09-19T16:16:27.233Z","priority":"6","pid":"2830187","message":" 16:16:26.961786 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.233Z","priority":"6","pid":"2830187","message":" 16:16:26.962030 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:27.233Z","priority":"6","pid":"2830187","message":" 16:16:26.962074 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:27.233Z","priority":"6","pid":"2830187","message":" 16:16:26.962094 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:27.234Z","priority":"6","pid":"2830187","message":" 16:16:26.964919 DATA sockfilt for passive data channel started (pid 92237)"}

data: {"time":"2026-09-19T16:16:27.234Z","priority":"6","pid":"2830187","message":" 16:16:26.965097 DATA sockfilt for passive data channel listens on port 40903"}

data: {"time":"2026-09-19T16:16:27.235Z","priority":"6","pid":"2830187","message":" 16:16:26.965151 > \"229 Entering Passive Mode (|||40903|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.235Z","priority":"6","pid":"2830187","message":" 16:16:26.965170 Client has been notified that upcoming DATA connection is awaited on port 40903"}

data: {"time":"2026-09-19T16:16:27.235Z","priority":"6","pid":"2830187","message":" 16:16:26.965681 Client connects to port 40903"}

data: {"time":"2026-09-19T16:16:27.236Z","priority":"6","pid":"2830187","message":" 16:16:26.965726 ====> Client established passive DATA connection on port 40903"}

data: {"time":"2026-09-19T16:16:27.236Z","priority":"6","pid":"2830187","message":" 16:16:26.965969 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:27.237Z","priority":"6","pid":"2830187","message":" 16:16:26.966179 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.237Z","priority":"6","pid":"2830187","message":" 16:16:26.966254 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:27.237Z","priority":"6","pid":"2830187","message":" 16:16:26.966462 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.238Z","priority":"6","pid":"2830187","message":" 16:16:26.966569 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:27.238Z","priority":"6","pid":"2830187","message":" 16:16:26.966620 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.239Z","priority":"6","pid":"2830187","message":" 16:16:26.967193 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:27.239Z","priority":"6","pid":"2830187","message":" 16:16:26.967231 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:27.239Z","priority":"6","pid":"2830187","message":" 16:16:26.967269 Fancy that; client wants to DISC, too"}

data: {"time":"2026-09-19T16:16:27.240Z","priority":"6","pid":"2830187","message":" 16:16:26.967390 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:27.240Z","priority":"6","pid":"2830187","message":" 16:16:26.967422 DATA sockfilt for passive data channel quits (pid 92237)"}

data: {"time":"2026-09-19T16:16:27.241Z","priority":"6","pid":"2830187","message":" 16:16:26.967856 DATA sockfilt for passive data channel quit (pid 92237)"}

data: {"time":"2026-09-19T16:16:27.241Z","priority":"6","pid":"2830187","message":" 16:16:26.967891 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:27.241Z","priority":"6","pid":"2830187","message":" 16:16:26.967967 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.242Z","priority":"6","pid":"2830187","message":" 16:16:27.008132 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:27.242Z","priority":"6","pid":"2830187","message":" 16:16:27.008417 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.242Z","priority":"6","pid":"2830187","message":" 16:16:27.009286 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:27.243Z","priority":"6","pid":"2830187","message":" 16:16:27.009468 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:27.243Z","priority":"6","pid":"2830187","message":" 16:16:27.009610 Awaiting input"}

data: {"time":"2026-09-19T16:16:27.243Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:27.244Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:27.244Z","priority":"6","pid":"2830187","message":" 16:16:27.030051 ====> Client connect"}

data: {"time":"2026-09-19T16:16:27.245Z","priority":"6","pid":"2830187","message":" 16:16:27.030495 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.245Z","priority":"6","pid":"2830187","message":" 16:16:27.030524 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.245Z","priority":"6","pid":"2830187","message":" 16:16:27.030628 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:27.246Z","priority":"6","pid":"2830187","message":" 16:16:27.030649 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.246Z","priority":"6","pid":"2830187","message":" 16:16:27.030667 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.247Z","priority":"6","pid":"2830187","message":" 16:16:27.030776 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.247Z","priority":"6","pid":"2830187","message":" 16:16:27.030790 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.247Z","priority":"6","pid":"2830187","message":" 16:16:27.031181 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.248Z","priority":"6","pid":"2830187","message":" 16:16:27.031204 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.248Z","priority":"6","pid":"2830187","message":" 16:16:27.031226 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.248Z","priority":"6","pid":"2830187","message":" 16:16:27.031305 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.249Z","priority":"6","pid":"2830187","message":" 16:16:27.031320 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.249Z","priority":"6","pid":"2830187","message":" 16:16:27.031513 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.249Z","priority":"6","pid":"2830187","message":" 16:16:27.031529 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.250Z","priority":"6","pid":"2830187","message":" 16:16:27.031550 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.250Z","priority":"6","pid":"2830187","message":" 16:16:27.031619 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.251Z","priority":"6","pid":"2830187","message":" 16:16:27.031631 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.251Z","priority":"6","pid":"2830187","message":" 16:16:27.031793 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.251Z","priority":"6","pid":"2830187","message":" 16:16:27.031813 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.252Z","priority":"6","pid":"2830187","message":" 16:16:27.031878 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.253Z","priority":"6","pid":"2830187","message":" 16:16:27.031979 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.253Z","priority":"6","pid":"2830187","message":" 16:16:27.031993 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.253Z","priority":"6","pid":"2830187","message":" 16:16:27.035260 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.253Z","priority":"6","pid":"2830187","message":" 16:16:27.035280 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.253Z","priority":"6","pid":"2830187","message":" 16:16:27.035290 '229 Entering Passive Mode (|||40903|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.254Z","priority":"6","pid":"2830187","message":" 16:16:27.035642 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.254Z","priority":"6","pid":"2830187","message":" 16:16:27.035665 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.254Z","priority":"6","pid":"2830187","message":" 16:16:27.036076 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.254Z","priority":"6","pid":"2830187","message":" 16:16:27.036095 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.255Z","priority":"6","pid":"2830187","message":" 16:16:27.036113 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.256Z","priority":"6","pid":"2830187","message":" 16:16:27.036192 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.256Z","priority":"6","pid":"2830187","message":" 16:16:27.036204 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.256Z","priority":"6","pid":"2830187","message":" 16:16:27.036353 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.256Z","priority":"6","pid":"2830187","message":" 16:16:27.036368 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.257Z","priority":"6","pid":"2830187","message":" 16:16:27.036384 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.257Z","priority":"6","pid":"2830187","message":" 16:16:27.036476 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.257Z","priority":"6","pid":"2830187","message":" 16:16:27.036490 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.257Z","priority":"6","pid":"2830187","message":" 16:16:27.036899 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.258Z","priority":"6","pid":"2830187","message":" 16:16:27.036922 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.258Z","priority":"6","pid":"2830187","message":" 16:16:27.036937 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.259Z","priority":"6","pid":"2830187","message":" 16:16:27.037985 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.259Z","priority":"6","pid":"2830187","message":" 16:16:27.038001 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.260Z","priority":"6","pid":"2830187","message":" 16:16:27.038050 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.260Z","priority":"6","pid":"2830187","message":" 16:16:27.077984 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.260Z","priority":"6","pid":"2830187","message":" 16:16:27.078062 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.261Z","priority":"6","pid":"2830187","message":" 16:16:27.078268 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.261Z","priority":"6","pid":"2830187","message":" 16:16:27.078359 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.262Z","priority":"6","pid":"2830187","message":" 16:16:27.078405 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.262Z","priority":"6","pid":"2830187","message":" 16:16:27.079272 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:27.263Z","priority":"6","pid":"2830187","message":" 16:16:27.079439 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:27.263Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:27.263Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:27.263Z","priority":"6","pid":"2830187","message":" 16:16:26.034741 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:27.263Z","priority":"6","pid":"2830187","message":" 16:16:26.034868 Listening on port 40903"}

data: {"time":"2026-09-19T16:16:27.264Z","priority":"6","pid":"2830187","message":" 16:16:26.034909 Wrote pid 92237 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:27.264Z","priority":"6","pid":"2830187","message":" 16:16:26.034932 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:27.265Z","priority":"6","pid":"2830187","message":" 16:16:26.035042 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:27.265Z","priority":"6","pid":"2830187","message":" 16:16:26.035695 ====> Client connect"}

data: {"time":"2026-09-19T16:16:27.265Z","priority":"6","pid":"2830187","message":" 16:16:26.036769 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.265Z","priority":"6","pid":"2830187","message":" 16:16:26.036797 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.266Z","priority":"6","pid":"2830187","message":" 16:16:26.036837 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.266Z","priority":"6","pid":"2830187","message":" 16:16:26.037112 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:27.267Z","priority":"6","pid":"2830187","message":" 16:16:26.037358 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:27.267Z","priority":"6","pid":"2830187","message":" 16:16:26.037373 Crikey! Client also wants to disconnect"}

data: {"time":"2026-09-19T16:16:27.267Z","priority":"6","pid":"2830187","message":" 16:16:26.037385 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:27.268Z","priority":"6","pid":"2830187","message":" 16:16:26.037561 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:27.268Z","priority":"6","pid":"2830187","message":" 16:16:26.037573 quits"}

data: {"time":"2026-09-19T16:16:27.268Z","priority":"6","pid":"2830187","message":" 16:16:26.037661 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:27.268Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:27.269Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:27.269Z","priority":"6","pid":"2830187","message":" REPLY EPSV 500 no such command"}

data: {"time":"2026-09-19T16:16:27.269Z","priority":"6","pid":"2830187","message":" REPLY FAIL 500 this might not be a failure"}

data: {"time":"2026-09-19T16:16:27.270Z","priority":"6","pid":"2830187","message":" Testnum 227"}

data: {"time":"2026-09-19T16:16:27.543Z","priority":"6","pid":"2830187","message":"=== End oCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind228 ../src/curl -q --output log/curl228.out  --include --trace-ascii log/trace228 --trace-time ftp://127.0.0.1:40021/228 --ftp-account \"one count\" > log/stdout228 2> log/stderr228"}

data: {"time":"2026-09-19T16:16:27.561Z","priority":"6","pid":"2830187","message":"f file server.cmd"}

data: {"time":"2026-09-19T16:16:27.562Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind227"}

data: {"time":"2026-09-19T16:16:27.562Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:27.563Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:27.564Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:27.564Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.564Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:27.564Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:27.564Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:27.565Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:27.565Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:27.566Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.566Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:27.566Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:27.567Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:27.567Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:27.568Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:27.568Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:27.568Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:27.569Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.569Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:27.569Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:27.570Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.570Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:27.570Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:27.571Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:27.571Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.571Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:27.572Z","priority":"6","pid":"2830187","message":"=== End of file valgrind227"}

data: {"time":"2026-09-19T16:16:27.572Z","priority":"6","pid":"2830187","message":"test 0228 [FTP RETR with ACCT]"}

data: {"time":"2026-09-19T16:16:27.573Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind228 ../src/curl -q --output log/curl228.out  --include --trace-ascii log/trace228 --trace-time ftp://127.0.0.1:40021/228 --ftp-account \"one count\" > log/stdout228 2> log/stderr228"}

data: {"time":"2026-09-19T16:16:27.574Z","priority":"6","pid":"2830187","message":" 228: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:27.575Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:27.575Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:27.575Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 228"}

data: {"time":"2026-09-19T16:16:27.576Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:27.577Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind228 ../src/curl -q --output log/curl228.out  --include --trace-ascii log/trace228 --trace-time ftp://127.0.0.1:40021/228 --ftp-account \"one count\" > log/stdout228 2> log/stderr228"}

data: {"time":"2026-09-19T16:16:27.577Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:27.577Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:27.578Z","priority":"6","pid":"2830187","message":" 16:16:27.308982 ====> Client connect"}

data: {"time":"2026-09-19T16:16:27.578Z","priority":"6","pid":"2830187","message":" 16:16:27.309666 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.579Z","priority":"6","pid":"2830187","message":" 16:16:27.309888 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:27.579Z","priority":"6","pid":"2830187","message":" 16:16:27.310077 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.580Z","priority":"6","pid":"2830187","message":" 16:16:27.310292 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:27.580Z","priority":"6","pid":"2830187","message":" 16:16:27.310424 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.581Z","priority":"6","pid":"2830187","message":" 16:16:27.310648 < \"PWD\""}

data: {"time":"2026-09-19T16:16:27.581Z","priority":"6","pid":"2830187","message":" 16:16:27.310700 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.581Z","priority":"6","pid":"2830187","message":" 16:16:27.310950 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:27.582Z","priority":"6","pid":"2830187","message":" 16:16:27.310988 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:27.582Z","priority":"6","pid":"2830187","message":" 16:16:27.311008 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:27.583Z","priority":"6","pid":"2830187","message":" 16:16:27.314220 DATA sockfilt for passive data channel started (pid 92306)"}

data: {"time":"2026-09-19T16:16:27.583Z","priority":"6","pid":"2830187","message":" 16:16:27.314488 DATA sockfilt for passive data channel listens on port 45943"}

data: {"time":"2026-09-19T16:16:27.583Z","priority":"6","pid":"2830187","message":" 16:16:27.314713 > \"229 Entering Passive Mode (|||45943|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.584Z","priority":"6","pid":"2830187","message":" 16:16:27.314761 Client has been notified that upcoming DATA connection is awaited on port 45943"}

data: {"time":"2026-09-19T16:16:27.584Z","priority":"6","pid":"2830187","message":" 16:16:27.315110 Client connects to port 45943"}

data: {"time":"2026-09-19T16:16:27.585Z","priority":"6","pid":"2830187","message":" 16:16:27.315176 ====> Client established passive DATA connection on port 45943"}

data: {"time":"2026-09-19T16:16:27.585Z","priority":"6","pid":"2830187","message":" 16:16:27.315428 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:27.585Z","priority":"6","pid":"2830187","message":" 16:16:27.315590 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.586Z","priority":"6","pid":"2830187","message":" 16:16:27.315814 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:27.586Z","priority":"6","pid":"2830187","message":" 16:16:27.315874 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.586Z","priority":"6","pid":"2830187","message":" 16:16:27.316178 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:27.587Z","priority":"6","pid":"2830187","message":" 16:16:27.316248 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.587Z","priority":"6","pid":"2830187","message":" 16:16:27.316419 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:27.588Z","priority":"6","pid":"2830187","message":" 16:16:27.316448 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:27.588Z","priority":"6","pid":"2830187","message":" 16:16:27.316887 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:27.589Z","priority":"6","pid":"2830187","message":" 16:16:27.316932 DATA sockfilt for passive data channel quits (pid 92306)"}

data: {"time":"2026-09-19T16:16:27.589Z","priority":"6","pid":"2830187","message":" 16:16:27.317376 DATA sockfilt for passive data channel quit (pid 92306)"}

data: {"time":"2026-09-19T16:16:27.590Z","priority":"6","pid":"2830187","message":" 16:16:27.317414 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:27.590Z","priority":"6","pid":"2830187","message":" 16:16:27.317456 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.591Z","priority":"6","pid":"2830187","message":" 16:16:27.357976 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:27.591Z","priority":"6","pid":"2830187","message":" 16:16:27.358080 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.591Z","priority":"6","pid":"2830187","message":" 16:16:27.359173 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:27.591Z","priority":"6","pid":"2830187","message":" 16:16:27.359317 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:27.591Z","priority":"6","pid":"2830187","message":" 16:16:27.359467 Awaiting input"}

data: {"time":"2026-09-19T16:16:27.592Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:27.592Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:27.592Z","priority":"6","pid":"2830187","message":" 16:16:27.378841 ====> Client connect"}

data: {"time":"2026-09-19T16:16:27.593Z","priority":"6","pid":"2830187","message":" 16:16:27.379317 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.593Z","priority":"6","pid":"2830187","message":" 16:16:27.379345 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.594Z","priority":"6","pid":"2830187","message":" 16:16:27.379476 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:27.594Z","priority":"6","pid":"2830187","message":" 16:16:27.379505 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.594Z","priority":"6","pid":"2830187","message":" 16:16:27.379518 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.594Z","priority":"6","pid":"2830187","message":" 16:16:27.379646 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.594Z","priority":"6","pid":"2830187","message":" 16:16:27.379662 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.595Z","priority":"6","pid":"2830187","message":" 16:16:27.379981 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.595Z","priority":"6","pid":"2830187","message":" 16:16:27.379999 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.595Z","priority":"6","pid":"2830187","message":" 16:16:27.380022 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.596Z","priority":"6","pid":"2830187","message":" 16:16:27.380176 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.596Z","priority":"6","pid":"2830187","message":" 16:16:27.380193 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.596Z","priority":"6","pid":"2830187","message":" 16:16:27.380422 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.597Z","priority":"6","pid":"2830187","message":" 16:16:27.380439 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.597Z","priority":"6","pid":"2830187","message":" 16:16:27.380498 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.598Z","priority":"6","pid":"2830187","message":" 16:16:27.380585 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.598Z","priority":"6","pid":"2830187","message":" 16:16:27.380599 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.598Z","priority":"6","pid":"2830187","message":" 16:16:27.380770 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.599Z","priority":"6","pid":"2830187","message":" 16:16:27.380785 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.599Z","priority":"6","pid":"2830187","message":" 16:16:27.380799 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.599Z","priority":"6","pid":"2830187","message":" 16:16:27.380889 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.600Z","priority":"6","pid":"2830187","message":" 16:16:27.380903 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.600Z","priority":"6","pid":"2830187","message":" 16:16:27.384601 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.600Z","priority":"6","pid":"2830187","message":" 16:16:27.384623 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.601Z","priority":"6","pid":"2830187","message":" 16:16:27.384648 '229 Entering Passive Mode (|||45943|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.601Z","priority":"6","pid":"2830187","message":" 16:16:27.385287 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.602Z","priority":"6","pid":"2830187","message":" 16:16:27.385310 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.602Z","priority":"6","pid":"2830187","message":" 16:16:27.385544 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.602Z","priority":"6","pid":"2830187","message":" 16:16:27.385562 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.603Z","priority":"6","pid":"2830187","message":" 16:16:27.385585 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.603Z","priority":"6","pid":"2830187","message":" 16:16:27.385716 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.603Z","priority":"6","pid":"2830187","message":" 16:16:27.385734 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.603Z","priority":"6","pid":"2830187","message":" 16:16:27.385942 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.604Z","priority":"6","pid":"2830187","message":" 16:16:27.385965 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.604Z","priority":"6","pid":"2830187","message":" 16:16:27.385977 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.605Z","priority":"6","pid":"2830187","message":" 16:16:27.386127 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.605Z","priority":"6","pid":"2830187","message":" 16:16:27.386150 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.605Z","priority":"6","pid":"2830187","message":" 16:16:27.386530 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.606Z","priority":"6","pid":"2830187","message":" 16:16:27.386552 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.606Z","priority":"6","pid":"2830187","message":" 16:16:27.386567 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.606Z","priority":"6","pid":"2830187","message":" 16:16:27.387532 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.606Z","priority":"6","pid":"2830187","message":" 16:16:27.387549 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.607Z","priority":"6","pid":"2830187","message":" 16:16:27.387568 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.607Z","priority":"6","pid":"2830187","message":" 16:16:27.427752 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.607Z","priority":"6","pid":"2830187","message":" 16:16:27.427813 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.608Z","priority":"6","pid":"2830187","message":" 16:16:27.428214 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.608Z","priority":"6","pid":"2830187","message":" 16:16:27.428248 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.608Z","priority":"6","pid":"2830187","message":" 16:16:27.428263 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.609Z","priority":"6","pid":"2830187","message":" 16:16:27.429126 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:27.609Z","priority":"6","pid":"2830187","message":" 16:16:27.429278 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:27.609Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:27.609Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:27.610Z","priority":"6","pid":"2830187","message":" 16:16:27.383982 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:27.610Z","priority":"6","pid":"2830187","message":" 16:16:27.384117 Listening on port 45943"}

data: {"time":"2026-09-19T16:16:27.611Z","priority":"6","pid":"2830187","message":" 16:16:27.384175 Wrote pid 92306 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:27.611Z","priority":"6","pid":"2830187","message":" 16:16:27.384204 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:27.612Z","priority":"6","pid":"2830187","message":" 16:16:27.384359 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:27.612Z","priority":"6","pid":"2830187","message":" 16:16:27.385005 ====> Client connect"}

data: {"time":"2026-09-19T16:16:27.612Z","priority":"6","pid":"2830187","message":" 16:16:27.386617 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.612Z","priority":"6","pid":"2830187","message":" 16:16:27.386645 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.613Z","priority":"6","pid":"2830187","message":" 16:16:27.386658 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.613Z","priority":"6","pid":"2830187","message":" 16:16:27.386706 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:27.614Z","priority":"6","pid":"2830187","message":" 16:16:27.386723 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:27.614Z","priority":"6","pid":"2830187","message":" 16:16:27.387013 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:27.614Z","priority":"6","pid":"2830187","message":" 16:16:27.387033 quits"}

data: {"time":"2026-09-19T16:16:27.614Z","priority":"6","pid":"2830187","message":" 16:16:27.387147 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:27.614Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:27.614Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:27.615Z","priority":"6","pid":"2830187","message":" REPLY PASS 332 please provide account name"}

data: {"time":"2026-09-19T16:16:27.615Z","priority":"6","pid":"2830187","message":" REPLY ACCT 230 thank you"}

data: {"time":"2026-09-19T16:16:27.615Z","priority":"6","pid":"2830187","message":" Testnum 228"}

data: {"time":"2026-09-19T16:16:27.616Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:27.616Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind228"}

data: {"time":"2026-09-19T16:16:27.616Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:27.616Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:27.617Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:27.617Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.617Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:27.618Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:27.872Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind229 ../src/curl -q --output log/curl229.out  --include --trace-ascii log/trace229 --trace-time ftp://127.0.0.1:40021/229 --ftp-account \"one count\" > log/stdout229 2> log/stderr229"}

data: {"time":"2026-09-19T16:16:27.888Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:27.888Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:27.889Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.889Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:27.890Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:27.891Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:27.891Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:27.891Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:27.892Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:27.892Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:27.892Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.893Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:27.893Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:27.893Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.894Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:27.894Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:27.895Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:27.895Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.895Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:27.895Z","priority":"6","pid":"2830187","message":"=== End of file valgrind228"}

data: {"time":"2026-09-19T16:16:27.896Z","priority":"6","pid":"2830187","message":"test 0229 [FTP RETR with bad ACCT]"}

data: {"time":"2026-09-19T16:16:27.897Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind229 ../src/curl -q --output log/curl229.out  --include --trace-ascii log/trace229 --trace-time ftp://127.0.0.1:40021/229 --ftp-account \"one count\" > log/stdout229 2> log/stderr229"}

data: {"time":"2026-09-19T16:16:27.898Z","priority":"6","pid":"2830187","message":" 229: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:27.899Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:27.899Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:27.899Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 229"}

data: {"time":"2026-09-19T16:16:27.899Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:27.901Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind229 ../src/curl -q --output log/curl229.out  --include --trace-ascii log/trace229 --trace-time ftp://127.0.0.1:40021/229 --ftp-account \"one count\" > log/stdout229 2> log/stderr229"}

data: {"time":"2026-09-19T16:16:27.901Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:27.902Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:27.902Z","priority":"6","pid":"2830187","message":" 16:16:27.654659 ====> Client connect"}

data: {"time":"2026-09-19T16:16:27.903Z","priority":"6","pid":"2830187","message":" 16:16:27.655276 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.903Z","priority":"6","pid":"2830187","message":" 16:16:27.655514 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:27.904Z","priority":"6","pid":"2830187","message":" 16:16:27.655689 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.904Z","priority":"6","pid":"2830187","message":" 16:16:27.655899 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:27.904Z","priority":"6","pid":"2830187","message":" 16:16:27.655943 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.905Z","priority":"6","pid":"2830187","message":" 16:16:27.656202 < \"PWD\""}

data: {"time":"2026-09-19T16:16:27.905Z","priority":"6","pid":"2830187","message":" 16:16:27.656253 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.905Z","priority":"6","pid":"2830187","message":" 16:16:27.656544 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:27.906Z","priority":"6","pid":"2830187","message":" 16:16:27.656585 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:27.906Z","priority":"6","pid":"2830187","message":" 16:16:27.656609 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:27.907Z","priority":"6","pid":"2830187","message":" 16:16:27.659836 DATA sockfilt for passive data channel started (pid 92372)"}

data: {"time":"2026-09-19T16:16:27.907Z","priority":"6","pid":"2830187","message":" 16:16:27.660034 DATA sockfilt for passive data channel listens on port 41943"}

data: {"time":"2026-09-19T16:16:27.908Z","priority":"6","pid":"2830187","message":" 16:16:27.660098 > \"229 Entering Passive Mode (|||41943|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.908Z","priority":"6","pid":"2830187","message":" 16:16:27.660123 Client has been notified that upcoming DATA connection is awaited on port 41943"}

data: {"time":"2026-09-19T16:16:27.909Z","priority":"6","pid":"2830187","message":" 16:16:27.660544 Client connects to port 41943"}

data: {"time":"2026-09-19T16:16:27.909Z","priority":"6","pid":"2830187","message":" 16:16:27.660595 ====> Client established passive DATA connection on port 41943"}

data: {"time":"2026-09-19T16:16:27.910Z","priority":"6","pid":"2830187","message":" 16:16:27.660877 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:27.910Z","priority":"6","pid":"2830187","message":" 16:16:27.660928 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.911Z","priority":"6","pid":"2830187","message":" 16:16:27.661179 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:27.911Z","priority":"6","pid":"2830187","message":" 16:16:27.661235 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.912Z","priority":"6","pid":"2830187","message":" 16:16:27.661541 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:27.912Z","priority":"6","pid":"2830187","message":" 16:16:27.661692 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.912Z","priority":"6","pid":"2830187","message":" 16:16:27.661823 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:27.913Z","priority":"6","pid":"2830187","message":" 16:16:27.661848 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:27.913Z","priority":"6","pid":"2830187","message":" 16:16:27.662188 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:27.913Z","priority":"6","pid":"2830187","message":" 16:16:27.662228 DATA sockfilt for passive data channel quits (pid 92372)"}

data: {"time":"2026-09-19T16:16:27.914Z","priority":"6","pid":"2830187","message":" 16:16:27.662678 DATA sockfilt for passive data channel quit (pid 92372)"}

data: {"time":"2026-09-19T16:16:27.914Z","priority":"6","pid":"2830187","message":" 16:16:27.662716 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:27.915Z","priority":"6","pid":"2830187","message":" 16:16:27.662763 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.915Z","priority":"6","pid":"2830187","message":" 16:16:27.703008 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:27.915Z","priority":"6","pid":"2830187","message":" 16:16:27.703136 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:27.916Z","priority":"6","pid":"2830187","message":" 16:16:27.703433 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:27.916Z","priority":"6","pid":"2830187","message":" 16:16:27.703485 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:27.917Z","priority":"6","pid":"2830187","message":" 16:16:27.703595 Awaiting input"}

data: {"time":"2026-09-19T16:16:27.917Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:27.917Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:27.917Z","priority":"6","pid":"2830187","message":" 16:16:27.724513 ====> Client connect"}

data: {"time":"2026-09-19T16:16:27.918Z","priority":"6","pid":"2830187","message":" 16:16:27.724956 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.918Z","priority":"6","pid":"2830187","message":" 16:16:27.724981 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.919Z","priority":"6","pid":"2830187","message":" 16:16:27.725081 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:27.919Z","priority":"6","pid":"2830187","message":" 16:16:27.725104 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.920Z","priority":"6","pid":"2830187","message":" 16:16:27.725118 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.920Z","priority":"6","pid":"2830187","message":" 16:16:27.725245 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.921Z","priority":"6","pid":"2830187","message":" 16:16:27.725261 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.921Z","priority":"6","pid":"2830187","message":" 16:16:27.725588 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.922Z","priority":"6","pid":"2830187","message":" 16:16:27.725606 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.922Z","priority":"6","pid":"2830187","message":" 16:16:27.725630 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.922Z","priority":"6","pid":"2830187","message":" 16:16:27.725773 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.922Z","priority":"6","pid":"2830187","message":" 16:16:27.725790 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.923Z","priority":"6","pid":"2830187","message":" 16:16:27.725998 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.923Z","priority":"6","pid":"2830187","message":" 16:16:27.726013 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.924Z","priority":"6","pid":"2830187","message":" 16:16:27.726028 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.924Z","priority":"6","pid":"2830187","message":" 16:16:27.726102 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.924Z","priority":"6","pid":"2830187","message":" 16:16:27.726115 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.925Z","priority":"6","pid":"2830187","message":" 16:16:27.726306 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.925Z","priority":"6","pid":"2830187","message":" 16:16:27.726320 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.925Z","priority":"6","pid":"2830187","message":" 16:16:27.726334 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.926Z","priority":"6","pid":"2830187","message":" 16:16:27.726468 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.927Z","priority":"6","pid":"2830187","message":" 16:16:27.726484 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.927Z","priority":"6","pid":"2830187","message":" 16:16:27.730195 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.927Z","priority":"6","pid":"2830187","message":" 16:16:27.730217 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.928Z","priority":"6","pid":"2830187","message":" 16:16:27.730234 '229 Entering Passive Mode (|||41943|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.928Z","priority":"6","pid":"2830187","message":" 16:16:27.730755 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.928Z","priority":"6","pid":"2830187","message":" 16:16:27.730774 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.928Z","priority":"6","pid":"2830187","message":" 16:16:27.730983 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.929Z","priority":"6","pid":"2830187","message":" 16:16:27.730998 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.929Z","priority":"6","pid":"2830187","message":" 16:16:27.731022 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.930Z","priority":"6","pid":"2830187","message":" 16:16:27.731102 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.930Z","priority":"6","pid":"2830187","message":" 16:16:27.731117 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.931Z","priority":"6","pid":"2830187","message":" 16:16:27.731293 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.931Z","priority":"6","pid":"2830187","message":" 16:16:27.731309 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.931Z","priority":"6","pid":"2830187","message":" 16:16:27.731322 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.931Z","priority":"6","pid":"2830187","message":" 16:16:27.731457 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.932Z","priority":"6","pid":"2830187","message":" 16:16:27.731475 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.932Z","priority":"6","pid":"2830187","message":" 16:16:27.731622 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.933Z","priority":"6","pid":"2830187","message":" 16:16:27.731637 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.933Z","priority":"6","pid":"2830187","message":" 16:16:27.731660 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.934Z","priority":"6","pid":"2830187","message":" 16:16:27.732829 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.934Z","priority":"6","pid":"2830187","message":" 16:16:27.732848 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.934Z","priority":"6","pid":"2830187","message":" 16:16:27.732863 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.934Z","priority":"6","pid":"2830187","message":" 16:16:27.772855 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:27.935Z","priority":"6","pid":"2830187","message":" 16:16:27.772916 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.935Z","priority":"6","pid":"2830187","message":" 16:16:27.773112 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.936Z","priority":"6","pid":"2830187","message":" 16:16:27.773130 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.936Z","priority":"6","pid":"2830187","message":" 16:16:27.773198 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.936Z","priority":"6","pid":"2830187","message":" 16:16:27.773404 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:27.937Z","priority":"6","pid":"2830187","message":" 16:16:27.774265 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:27.937Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:27.937Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:27.937Z","priority":"6","pid":"2830187","message":" 16:16:27.729556 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:27.938Z","priority":"6","pid":"2830187","message":" 16:16:27.729699 Listening on port 41943"}

data: {"time":"2026-09-19T16:16:27.938Z","priority":"6","pid":"2830187","message":" 16:16:27.729750 Wrote pid 92372 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:27.938Z","priority":"6","pid":"2830187","message":" 16:16:27.729788 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:27.939Z","priority":"6","pid":"2830187","message":" 16:16:27.729942 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:27.939Z","priority":"6","pid":"2830187","message":" 16:16:27.730517 ====> Client connect"}

data: {"time":"2026-09-19T16:16:27.940Z","priority":"6","pid":"2830187","message":" 16:16:27.731958 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:27.940Z","priority":"6","pid":"2830187","message":" 16:16:27.731984 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:27.940Z","priority":"6","pid":"2830187","message":" 16:16:27.731998 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:27.941Z","priority":"6","pid":"2830187","message":" 16:16:27.732041 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:27.941Z","priority":"6","pid":"2830187","message":" 16:16:27.732056 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:27.942Z","priority":"6","pid":"2830187","message":" 16:16:27.732295 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:27.942Z","priority":"6","pid":"2830187","message":" 16:16:27.732312 quits"}

data: {"time":"2026-09-19T16:16:27.942Z","priority":"6","pid":"2830187","message":" 16:16:27.732445 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:27.943Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:27.943Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:27.943Z","priority":"6","pid":"2830187","message":" REPLY PASS 332 please provide account name"}

data: {"time":"2026-09-19T16:16:27.944Z","priority":"6","pid":"2830187","message":" REPLY ACCT 532 bluah"}

data: {"time":"2026-09-19T16:16:27.944Z","priority":"6","pid":"2830187","message":" Testnum 229"}

data: {"time":"2026-09-19T16:16:27.944Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:27.944Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind229"}

data: {"time":"2026-09-19T16:16:27.944Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:27.945Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:27.945Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:27.945Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.946Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:27.946Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:27.947Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:27.947Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:27.947Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:27.947Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:27.948Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:27.948Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:27.949Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:28.166Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is calleCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind230 ../src/curl -q --output log/curl230.out  --include --trace-ascii log/trace230 --trace-time http://127.0.0.1:36137/230 --compressed > log/stdout230 2> log/stderr230"}

data: {"time":"2026-09-19T16:16:28.335Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind231 ../src/curl -q --output log/curl231.out  --trace-ascii log/trace231 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test231.txt -C 10 > log/stdout231 2> log/stderr231"}

data: {"time":"2026-09-19T16:16:28.337Z","priority":"6","pid":"2830187","message":"d)"}

data: {"time":"2026-09-19T16:16:28.337Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:28.338Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:28.338Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:28.339Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.339Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:28.340Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:28.340Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.340Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:28.340Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:28.340Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:28.341Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.341Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:28.341Z","priority":"6","pid":"2830187","message":"=== End of file valgrind229"}

data: {"time":"2026-09-19T16:16:28.341Z","priority":"6","pid":"2830187","message":"test 0230 [HTTP GET multiply compressed content]"}

data: {"time":"2026-09-19T16:16:28.342Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind230 ../src/curl -q --output log/curl230.out  --include --trace-ascii log/trace230 --trace-time http://127.0.0.1:36137/230 --compressed > log/stdout230 2> log/stderr230"}

data: {"time":"2026-09-19T16:16:28.343Z","priority":"6","pid":"2830187","message":" 230: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:28.343Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:28.344Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:28.344Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 230"}

data: {"time":"2026-09-19T16:16:28.344Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:28.345Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind230 ../src/curl -q --output log/curl230.out  --include --trace-ascii log/trace230 --trace-time http://127.0.0.1:36137/230 --compressed > log/stdout230 2> log/stderr230"}

data: {"time":"2026-09-19T16:16:28.345Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:28.346Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:28.347Z","priority":"6","pid":"2830187","message":" 16:16:28.059839 ====> Client connect"}

data: {"time":"2026-09-19T16:16:28.347Z","priority":"6","pid":"2830187","message":" 16:16:28.059886 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:28.347Z","priority":"6","pid":"2830187","message":" 16:16:28.060043 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:28.347Z","priority":"6","pid":"2830187","message":" 16:16:28.060065 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:28.347Z","priority":"6","pid":"2830187","message":" 16:16:28.060081 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:28.347Z","priority":"6","pid":"2830187","message":" 16:16:28.060098 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:28.348Z","priority":"6","pid":"2830187","message":" 16:16:28.060138 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:28.348Z","priority":"6","pid":"2830187","message":" 16:16:28.060159 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:28.349Z","priority":"6","pid":"2830187","message":" 16:16:28.060215 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:28.349Z","priority":"6","pid":"2830187","message":" 16:16:28.060225 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:28.349Z","priority":"6","pid":"2830187","message":" 16:16:28.060234 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:28.349Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:28.350Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:28.350Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:28.350Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 40860"}

data: {"time":"2026-09-19T16:16:28.351Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:28.351Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:28.351Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:28.351Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:28.351Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:28.351Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:28.351Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:28.352Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:28.352Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:28.352Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:28.352Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:28.353Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:28.353Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:28.353Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:28.353Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:28.354Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:28.354Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:28.354Z","priority":"6","pid":"2830187","message":" Testnum 230"}

data: {"time":"2026-09-19T16:16:28.354Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:28.354Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:28.355Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:28.355Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:28.355Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:28.356Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:28.356Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind230"}

data: {"time":"2026-09-19T16:16:28.356Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:28.356Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:28.356Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:28.357Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.357Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:28.357Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:28.358Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:28.359Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:28.359Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:28.359Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.360Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:28.360Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:28.360Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:28.361Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:28.362Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:28.362Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:28.362Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:28.362Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.362Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:28.363Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:28.363Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.363Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:28.364Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:28.364Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:28.365Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.365Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:28.365Z","priority":"6","pid":"2830187","message":"=== End of file valgrind230"}

data: {"time":"2026-09-19T16:16:28.616Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind232 ../src/curl -q --output log/curl232.out  --include --trace-ascii log/trace232 --trace-time http://127.0.0.1:36137/232 --compressed > log/stdout232 2> log/stderr232"}

data: {"time":"2026-09-19T16:16:28.856Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind233 ../src/curl -q --output log/curl233.out  --include --trace-ascii log/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:36137 --user iam:myself --proxy-user testing:this --location > log/stdout233 2> log/stderr233"}

data: {"time":"2026-09-19T16:16:28.860Z","priority":"6","pid":"2830187","message":"test 0231 [file:// with resume]"}

data: {"time":"2026-09-19T16:16:28.862Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind231 ../src/curl -q --output log/curl231.out  --trace-ascii log/trace231 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test231.txt -C 10 > log/stdout231 2> log/stderr231"}

data: {"time":"2026-09-19T16:16:28.863Z","priority":"6","pid":"2830187","message":" 231: data FAILED:"}

data: {"time":"2026-09-19T16:16:28.863Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:28.337114941 +0000"}

data: {"time":"2026-09-19T16:16:28.863Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:28.335645224 +0000"}

data: {"time":"2026-09-19T16:16:28.863Z","priority":"6","pid":"2830187","message":"@@ -1,2 +0,0 @@"}

data: {"time":"2026-09-19T16:16:28.864Z","priority":"6","pid":"2830187","message":"-B01234567[LF]"}

data: {"time":"2026-09-19T16:16:28.864Z","priority":"6","pid":"2830187","message":"-C01234567[LF]"}

data: {"time":"2026-09-19T16:16:28.864Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 231"}

data: {"time":"2026-09-19T16:16:28.865Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:28.865Z","priority":"6","pid":"2830187","message":" B01234567[LF]"}

data: {"time":"2026-09-19T16:16:28.865Z","priority":"6","pid":"2830187","message":" C01234567[LF]"}

data: {"time":"2026-09-19T16:16:28.866Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:28.866Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:28.867Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind231 ../src/curl -q --output log/curl231.out  --trace-ascii log/trace231 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test231.txt -C 10 > log/stdout231 2> log/stderr231"}

data: {"time":"2026-09-19T16:16:28.868Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:28.868Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:28.868Z","priority":"6","pid":"2830187","message":" Testnum 231"}

data: {"time":"2026-09-19T16:16:28.869Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:28.869Z","priority":"6","pid":"2830187","message":"=== Start of file test231.txt"}

data: {"time":"2026-09-19T16:16:28.870Z","priority":"6","pid":"2830187","message":" A01234567"}

data: {"time":"2026-09-19T16:16:28.870Z","priority":"6","pid":"2830187","message":" B01234567"}

data: {"time":"2026-09-19T16:16:28.870Z","priority":"6","pid":"2830187","message":" C01234567"}

data: {"time":"2026-09-19T16:16:28.870Z","priority":"6","pid":"2830187","message":"=== End of file test231.txt"}

data: {"time":"2026-09-19T16:16:28.872Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind231"}

data: {"time":"2026-09-19T16:16:28.872Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:28.873Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:28.874Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:28.874Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.875Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:28.875Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:28.875Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:28.876Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:28.876Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:28.876Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.877Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:28.877Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:28.878Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:28.878Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:28.879Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:28.879Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:28.880Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:28.880Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.880Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:28.881Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:28.881Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.882Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:28.882Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:28.882Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:28.882Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.882Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:28.882Z","priority":"6","pid":"2830187","message":"=== End of file valgrind231"}

data: {"time":"2026-09-19T16:16:28.884Z","priority":"6","pid":"2830187","message":"test 0232 [HTTP GET deflate raw-compressed content]"}

data: {"time":"2026-09-19T16:16:28.884Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind232 ../src/curl -q --output log/curl232.out  --include --trace-ascii log/trace232 --trace-time http://127.0.0.1:36137/232 --compressed > log/stdout232 2> log/stderr232"}

data: {"time":"2026-09-19T16:16:28.885Z","priority":"6","pid":"2830187","message":" 232: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:28.885Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:28.886Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:28.886Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 232"}

data: {"time":"2026-09-19T16:16:28.887Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:28.888Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind232 ../src/curl -q --output log/curl232.out  --include --trace-ascii log/trace232 --trace-time http://127.0.0.1:36137/232 --compressed > log/stdout232 2> log/stderr232"}

data: {"time":"2026-09-19T16:16:28.888Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:28.889Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:28.889Z","priority":"6","pid":"2830187","message":" 16:16:28.501972 ====> Client connect"}

data: {"time":"2026-09-19T16:16:28.890Z","priority":"6","pid":"2830187","message":" 16:16:28.502027 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:28.890Z","priority":"6","pid":"2830187","message":" 16:16:28.502177 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:28.890Z","priority":"6","pid":"2830187","message":" 16:16:28.502194 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:28.891Z","priority":"6","pid":"2830187","message":" 16:16:28.502207 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:28.892Z","priority":"6","pid":"2830187","message":" 16:16:28.502215 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:28.892Z","priority":"6","pid":"2830187","message":" 16:16:28.502247 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:28.892Z","priority":"6","pid":"2830187","message":" 16:16:28.502264 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:28.893Z","priority":"6","pid":"2830187","message":" 16:16:28.502312 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:28.893Z","priority":"6","pid":"2830187","message":" 16:16:28.503406 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:28.893Z","priority":"6","pid":"2830187","message":" 16:16:28.503454 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:28.894Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:28.894Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:28.895Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:28.895Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 40872"}

data: {"time":"2026-09-19T16:16:28.895Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:28.896Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:28.896Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:28.896Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:28.897Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:28.897Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:28.897Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:28.898Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:28.898Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:28.898Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:28.898Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:28.898Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:28.898Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:28.899Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:28.899Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:28.899Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:28.900Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:28.900Z","priority":"6","pid":"2830187","message":" Testnum 232"}

data: {"time":"2026-09-19T16:16:28.900Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:28.900Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:28.900Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:28.900Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:28.901Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:28.901Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:28.901Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind232"}

data: {"time":"2026-09-19T16:16:28.902Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:28.902Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:28.902Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:28.903Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.903Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:28.903Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:28.904Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:28.904Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:28.904Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:28.905Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.905Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:28.906Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:28.906Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:28.907Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:28.907Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:28.908Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:28.908Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:28.908Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.909Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:28.909Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:28.909Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.910Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:28.910Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:28.911Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:28.911Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:28.911Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:28.912Z","priority":"6","pid":"2830187","message":"=== End of file valgrind232"}

data: {"time":"2026-09-19T16:16:28.912Z","priority":"6","pid":"2830187","message":"test 0233 [HTTP, proxy, site+proxy auth and Location: to new host]"}

data: {"time":"2026-09-19T16:16:28.914Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind233 ../src/curl -q --output log/curl233.out  --include --trace-ascii log/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:36137 --user iam:myself --proxy-user testing:this --location > log/stdout233 2> log/stderr233"}

data: {"time":"2026-09-19T16:16:28.914Z","priority":"6","pid":"2830187","message":" 233: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:28.914Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:28.915Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:28.915Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 233"}

data: {"time":"2026-09-19T16:16:28.915Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:28.917Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind233 ../src/curl -q --output log/curl233.out  --include --trace-ascii log/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:36137 --user iam:myself --proxy-user testing:this --location > log/stdout233 2> log/stderr233"}

data: {"time":"2026-09-19T16:16:28.918Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:28.918Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:28.919Z","priority":"6","pid":"2830187","message":" 16:16:28.737524 ====> Client connect"}

data: {"time":"2026-09-19T16:16:28.919Z","priority":"6","pid":"2830187","message":" 16:16:28.737580 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:28.920Z","priority":"6","pid":"2830187","message":" 16:16:28.737802 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:28.920Z","priority":"6","pid":"2830187","message":" 16:16:28.737829 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:28.920Z","priority":"6","pid":"2830187","message":" 16:16:28.737848 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:28.921Z","priority":"6","pid":"2830187","message":" 16:16:28.737860 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:28.921Z","priority":"6","pid":"2830187","message":" 16:16:28.737908 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:28.922Z","priority":"6","pid":"2830187","message":" 16:16:28.737935 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:29.163Z","priority":"6","pid":"2830187","message":" 16:16:28.738004 Response sent (56 bytes) and writCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind234 ../src/curl -q --output log/curl234.out  --include --trace-ascii log/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:36137 --user iam:myself --proxy-user testing:this --location-trusted > log/stdout234 2> log/stderr234"}

data: {"time":"2026-09-19T16:16:29.439Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind235 ../src/curl -q --output log/curl235.out  --include --trace-ascii log/trace235 --trace-time ftp://127.0.0.1:40021/235 -T log/upload235 -C - > log/stdout235 2> log/stderr235"}

data: {"time":"2026-09-19T16:16:29.444Z","priority":"6","pid":"2830187","message":"ten to log/server.response"}

data: {"time":"2026-09-19T16:16:29.444Z","priority":"6","pid":"2830187","message":" 16:16:28.738016 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:29.444Z","priority":"6","pid":"2830187","message":" 16:16:28.738026 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:29.445Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:29.445Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:29.445Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:29.446Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 40876"}

data: {"time":"2026-09-19T16:16:29.447Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:29.447Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:29.447Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:29.448Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:29.448Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:29.448Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:29.448Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:29.448Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:29.448Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:29.448Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:29.448Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:29.448Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:29.449Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:29.449Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:29.449Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:29.449Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:29.450Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:29.450Z","priority":"6","pid":"2830187","message":" Testnum 233"}

data: {"time":"2026-09-19T16:16:29.450Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:29.450Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:29.451Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:29.451Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:29.451Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:29.451Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:29.452Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind233"}

data: {"time":"2026-09-19T16:16:29.452Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:29.453Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:29.453Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:29.453Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.453Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:29.454Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:29.454Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:29.454Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:29.455Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:29.456Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.456Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:29.456Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:29.456Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:29.457Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:29.457Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:29.458Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:29.458Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:29.458Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.459Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:29.459Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:29.459Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.460Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:29.460Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:29.461Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:29.461Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.461Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:29.461Z","priority":"6","pid":"2830187","message":"=== End of file valgrind233"}

data: {"time":"2026-09-19T16:16:29.462Z","priority":"6","pid":"2830187","message":"test 0234 [HTTP, proxy, site+proxy auth and Location: --location-trusted]"}

data: {"time":"2026-09-19T16:16:29.464Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind234 ../src/curl -q --output log/curl234.out  --include --trace-ascii log/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:36137 --user iam:myself --proxy-user testing:this --location-trusted > log/stdout234 2> log/stderr234"}

data: {"time":"2026-09-19T16:16:29.464Z","priority":"6","pid":"2830187","message":" 234: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:29.465Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:29.465Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:29.466Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 234"}

data: {"time":"2026-09-19T16:16:29.466Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:29.469Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind234 ../src/curl -q --output log/curl234.out  --include --trace-ascii log/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:36137 --user iam:myself --proxy-user testing:this --location-trusted > log/stdout234 2> log/stderr234"}

data: {"time":"2026-09-19T16:16:29.469Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:29.469Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:29.469Z","priority":"6","pid":"2830187","message":" 16:16:29.032262 ====> Client connect"}

data: {"time":"2026-09-19T16:16:29.470Z","priority":"6","pid":"2830187","message":" 16:16:29.032338 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:29.470Z","priority":"6","pid":"2830187","message":" 16:16:29.032521 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:29.470Z","priority":"6","pid":"2830187","message":" 16:16:29.032545 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:29.471Z","priority":"6","pid":"2830187","message":" 16:16:29.032560 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:29.471Z","priority":"6","pid":"2830187","message":" 16:16:29.032570 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:29.472Z","priority":"6","pid":"2830187","message":" 16:16:29.032611 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:29.472Z","priority":"6","pid":"2830187","message":" 16:16:29.032632 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:29.473Z","priority":"6","pid":"2830187","message":" 16:16:29.032692 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:29.473Z","priority":"6","pid":"2830187","message":" 16:16:29.032703 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:29.473Z","priority":"6","pid":"2830187","message":" 16:16:29.032712 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:29.474Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:29.474Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:29.474Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:29.475Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 40886"}

data: {"time":"2026-09-19T16:16:29.475Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:29.475Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:29.476Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:29.476Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:29.477Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:29.477Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:29.477Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:29.477Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:29.477Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:29.477Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:29.478Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:29.478Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:29.478Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:29.478Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:29.479Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:29.479Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:29.479Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:29.480Z","priority":"6","pid":"2830187","message":" Testnum 234"}

data: {"time":"2026-09-19T16:16:29.480Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:29.480Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:29.480Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:29.480Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:29.481Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:29.481Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:29.481Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind234"}

data: {"time":"2026-09-19T16:16:29.481Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:29.482Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:29.482Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:29.483Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.483Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:29.483Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:29.484Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:29.484Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:29.484Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:29.484Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.486Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:29.486Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:29.486Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:29.486Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:29.486Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:29.487Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:29.487Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:29.487Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.488Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:29.488Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:29.489Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.489Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:29.489Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:29.489Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:29.489Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.489Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:29.490Z","priority":"6","pid":"2830187","message":"=== End of file valgrind234"}

data: {"time":"2026-09-19T16:16:29.490Z","priority":"6","pid":"2830187","message":"test 0235 [FTP resumed upload but no file present remotely]"}

data: {"time":"2026-09-19T16:16:29.491Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind235 ../src/curl -q --output log/curl235.out  --include --trace-ascii log/trace235 --trace-time ftp://127.0.0.1:40021/235 -T log/upload235 -C - > log/stdout235 2> log/stderr235"}

data: {"time":"2026-09-19T16:16:29.492Z","priority":"6","pid":"2830187","message":" 235: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:29.492Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:29.492Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:29.493Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 235"}

data: {"time":"2026-09-19T16:16:29.493Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:29.495Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind235 ../src/curl -q --output log/curl235.out  --include --trace-ascii log/trace235 --trace-time ftp://127.0.0.1:40021/235 -T log/upload235 -C - > log/stdout235 2> log/stderr235"}

data: {"time":"2026-09-19T16:16:29.496Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:29.496Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:29.496Z","priority":"6","pid":"2830187","message":" 16:16:29.207547 ====> Client connect"}

data: {"time":"2026-09-19T16:16:29.496Z","priority":"6","pid":"2830187","message":" 16:16:29.208267 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.497Z","priority":"6","pid":"2830187","message":" 16:16:29.208546 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:29.497Z","priority":"6","pid":"2830187","message":" 16:16:29.208863 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.497Z","priority":"6","pid":"2830187","message":" 16:16:29.209014 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:29.498Z","priority":"6","pid":"2830187","message":" 16:16:29.209059 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.498Z","priority":"6","pid":"2830187","message":" 16:16:29.209420 < \"PWD\""}

data: {"time":"2026-09-19T16:16:29.498Z","priority":"6","pid":"2830187","message":" 16:16:29.209474 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.499Z","priority":"6","pid":"2830187","message":" 16:16:29.209741 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:29.499Z","priority":"6","pid":"2830187","message":" 16:16:29.209779 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:29.499Z","priority":"6","pid":"2830187","message":" 16:16:29.209799 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:29.500Z","priority":"6","pid":"2830187","message":" 16:16:29.213313 DATA sockfilt for passive data channel started (pid 92752)"}

data: {"time":"2026-09-19T16:16:29.500Z","priority":"6","pid":"2830187","message":" 16:16:29.213588 DATA sockfilt for passive data channel listens on port 46193"}

data: {"time":"2026-09-19T16:16:29.768Z","priority":"6","pid":"2830187","message":" 16:16CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind236 ../src/curl -q --output log/curl236.out  --include --trace-ascii log/trace236 --trace-time ftp://127.0.0.1:40021/236 -T log/file236.txt -C - > log/stdout236 2> log/stderr236"}

data: {"time":"2026-09-19T16:16:29.784Z","priority":"6","pid":"2830187","message":":29.213786 > \"229 Entering Passive Mode (|||46193|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.785Z","priority":"6","pid":"2830187","message":" 16:16:29.213817 Client has been notified that upcoming DATA connection is awaited on port 46193"}

data: {"time":"2026-09-19T16:16:29.785Z","priority":"6","pid":"2830187","message":" 16:16:29.214189 Client connects to port 46193"}

data: {"time":"2026-09-19T16:16:29.786Z","priority":"6","pid":"2830187","message":" 16:16:29.214251 ====> Client established passive DATA connection on port 46193"}

data: {"time":"2026-09-19T16:16:29.786Z","priority":"6","pid":"2830187","message":" 16:16:29.214510 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:29.786Z","priority":"6","pid":"2830187","message":" 16:16:29.214605 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.787Z","priority":"6","pid":"2830187","message":" 16:16:29.214888 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:29.787Z","priority":"6","pid":"2830187","message":" 16:16:29.215063 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.787Z","priority":"6","pid":"2830187","message":" 16:16:29.215354 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:29.788Z","priority":"6","pid":"2830187","message":" 16:16:29.215420 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.789Z","priority":"6","pid":"2830187","message":" 16:16:29.215559 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:29.789Z","priority":"6","pid":"2830187","message":" 16:16:29.215584 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:29.789Z","priority":"6","pid":"2830187","message":" 16:16:29.216135 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:29.790Z","priority":"6","pid":"2830187","message":" 16:16:29.216186 DATA sockfilt for passive data channel quits (pid 92752)"}

data: {"time":"2026-09-19T16:16:29.790Z","priority":"6","pid":"2830187","message":" 16:16:29.216655 DATA sockfilt for passive data channel quit (pid 92752)"}

data: {"time":"2026-09-19T16:16:29.791Z","priority":"6","pid":"2830187","message":" 16:16:29.216705 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:29.791Z","priority":"6","pid":"2830187","message":" 16:16:29.216765 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.792Z","priority":"6","pid":"2830187","message":" 16:16:29.258740 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:29.793Z","priority":"6","pid":"2830187","message":" 16:16:29.258821 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.793Z","priority":"6","pid":"2830187","message":" 16:16:29.259465 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:29.793Z","priority":"6","pid":"2830187","message":" 16:16:29.259614 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:29.794Z","priority":"6","pid":"2830187","message":" 16:16:29.259776 Awaiting input"}

data: {"time":"2026-09-19T16:16:29.794Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:29.795Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:29.795Z","priority":"6","pid":"2830187","message":" 16:16:29.277315 ====> Client connect"}

data: {"time":"2026-09-19T16:16:29.795Z","priority":"6","pid":"2830187","message":" 16:16:29.277818 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.796Z","priority":"6","pid":"2830187","message":" 16:16:29.277858 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.796Z","priority":"6","pid":"2830187","message":" 16:16:29.277985 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:29.797Z","priority":"6","pid":"2830187","message":" 16:16:29.278007 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.797Z","priority":"6","pid":"2830187","message":" 16:16:29.278019 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.798Z","priority":"6","pid":"2830187","message":" 16:16:29.278146 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:29.798Z","priority":"6","pid":"2830187","message":" 16:16:29.278167 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.799Z","priority":"6","pid":"2830187","message":" 16:16:29.278559 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.799Z","priority":"6","pid":"2830187","message":" 16:16:29.278583 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.800Z","priority":"6","pid":"2830187","message":" 16:16:29.278609 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.800Z","priority":"6","pid":"2830187","message":" 16:16:29.278751 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:29.800Z","priority":"6","pid":"2830187","message":" 16:16:29.278775 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.800Z","priority":"6","pid":"2830187","message":" 16:16:29.279042 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.801Z","priority":"6","pid":"2830187","message":" 16:16:29.279059 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.801Z","priority":"6","pid":"2830187","message":" 16:16:29.279072 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.802Z","priority":"6","pid":"2830187","message":" 16:16:29.279214 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:29.802Z","priority":"6","pid":"2830187","message":" 16:16:29.279239 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.802Z","priority":"6","pid":"2830187","message":" 16:16:29.279453 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.803Z","priority":"6","pid":"2830187","message":" 16:16:29.279468 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.803Z","priority":"6","pid":"2830187","message":" 16:16:29.279481 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.803Z","priority":"6","pid":"2830187","message":" 16:16:29.279586 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:29.804Z","priority":"6","pid":"2830187","message":" 16:16:29.279602 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.804Z","priority":"6","pid":"2830187","message":" 16:16:29.283613 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.805Z","priority":"6","pid":"2830187","message":" 16:16:29.283636 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.805Z","priority":"6","pid":"2830187","message":" 16:16:29.283660 '229 Entering Passive Mode (|||46193|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.806Z","priority":"6","pid":"2830187","message":" 16:16:29.284299 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:29.806Z","priority":"6","pid":"2830187","message":" 16:16:29.284326 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.806Z","priority":"6","pid":"2830187","message":" 16:16:29.284509 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.806Z","priority":"6","pid":"2830187","message":" 16:16:29.284525 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.807Z","priority":"6","pid":"2830187","message":" 16:16:29.284591 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.807Z","priority":"6","pid":"2830187","message":" 16:16:29.284696 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:29.807Z","priority":"6","pid":"2830187","message":" 16:16:29.284717 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.808Z","priority":"6","pid":"2830187","message":" 16:16:29.284897 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.808Z","priority":"6","pid":"2830187","message":" 16:16:29.284919 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.808Z","priority":"6","pid":"2830187","message":" 16:16:29.284946 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.809Z","priority":"6","pid":"2830187","message":" 16:16:29.285181 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:29.809Z","priority":"6","pid":"2830187","message":" 16:16:29.285211 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.809Z","priority":"6","pid":"2830187","message":" 16:16:29.285624 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.810Z","priority":"6","pid":"2830187","message":" 16:16:29.285648 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.810Z","priority":"6","pid":"2830187","message":" 16:16:29.285662 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.810Z","priority":"6","pid":"2830187","message":" 16:16:29.286776 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.811Z","priority":"6","pid":"2830187","message":" 16:16:29.286799 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.811Z","priority":"6","pid":"2830187","message":" 16:16:29.286835 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.811Z","priority":"6","pid":"2830187","message":" 16:16:29.328412 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:29.814Z","priority":"6","pid":"2830187","message":" 16:16:29.328461 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.814Z","priority":"6","pid":"2830187","message":" 16:16:29.328810 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.814Z","priority":"6","pid":"2830187","message":" 16:16:29.328832 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.814Z","priority":"6","pid":"2830187","message":" 16:16:29.328845 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.814Z","priority":"6","pid":"2830187","message":" 16:16:29.329344 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:29.814Z","priority":"6","pid":"2830187","message":" 16:16:29.329477 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:29.815Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:29.815Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:29.815Z","priority":"6","pid":"2830187","message":" 16:16:29.282879 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:29.816Z","priority":"6","pid":"2830187","message":" 16:16:29.283017 Listening on port 46193"}

data: {"time":"2026-09-19T16:16:29.816Z","priority":"6","pid":"2830187","message":" 16:16:29.283122 Wrote pid 92752 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:29.817Z","priority":"6","pid":"2830187","message":" 16:16:29.283192 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:29.817Z","priority":"6","pid":"2830187","message":" 16:16:29.283402 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:29.817Z","priority":"6","pid":"2830187","message":" 16:16:29.283998 ====> Client connect"}

data: {"time":"2026-09-19T16:16:29.818Z","priority":"6","pid":"2830187","message":" 16:16:29.285711 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:29.818Z","priority":"6","pid":"2830187","message":" 16:16:29.285755 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:29.818Z","priority":"6","pid":"2830187","message":" 16:16:29.285771 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:29.819Z","priority":"6","pid":"2830187","message":" 16:16:29.285822 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:29.819Z","priority":"6","pid":"2830187","message":" 16:16:29.285843 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:29.819Z","priority":"6","pid":"2830187","message":" 16:16:29.286169 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:29.820Z","priority":"6","pid":"2830187","message":" 16:16:29.286186 quits"}

data: {"time":"2026-09-19T16:16:29.820Z","priority":"6","pid":"2830187","message":" 16:16:29.286344 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:29.820Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:29.821Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:29.821Z","priority":"6","pid":"2830187","message":" REPLY SIZE 500 command not understood"}

data: {"time":"2026-09-19T16:16:29.821Z","priority":"6","pid":"2830187","message":" Testnum 235"}

data: {"time":"2026-09-19T16:16:29.821Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:29.821Z","priority":"6","pid":"2830187","message":"=== Start of file upload235"}

data: {"time":"2026-09-19T16:16:29.822Z","priority":"6","pid":"2830187","message":" this is the *****crap******** that we are gonna upload"}

data: {"time":"2026-09-19T16:16:29.822Z","priority":"6","pid":"2830187","message":" worx?"}

data: {"time":"2026-09-19T16:16:29.822Z","priority":"6","pid":"2830187","message":"=== End of file upload235"}

data: {"time":"2026-09-19T16:16:29.822Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind235"}

data: {"time":"2026-09-19T16:16:29.823Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:29.823Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:29.824Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:29.824Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.825Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:29.825Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:29.825Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:29.825Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:29.826Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:29.826Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.826Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:29.827Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:29.828Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:29.828Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:29.829Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:29.829Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:29.829Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:29.829Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.830Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:29.830Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:29.830Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.831Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:29.831Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:29.832Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:29.832Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:29.832Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:29.832Z","priority":"6","pid":"2830187","message":"=== End of file valgrind235"}

data: {"time":"2026-09-19T16:16:29.833Z","priority":"6","pid":"2830187","message":"test 0236 [FTP resume upload but denied access to remote file]"}

data: {"time":"2026-09-19T16:16:29.834Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind236 ../src/curl -q --output log/curl236.out  --include --trace-ascii log/trace236 --trace-time ftp://127.0.0.1:40021/236 -T log/file236.txt -C - > log/stdout236 2> log/stderr236"}

data: {"time":"2026-09-19T16:16:29.834Z","priority":"6","pid":"2830187","message":" 236: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:29.835Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:29.835Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:29.835Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 236"}

data: {"time":"2026-09-19T16:16:29.836Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:29.837Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind236 ../src/curl -q --output log/curl236.out  --include --trace-ascii log/trace236 --trace-time ftp://127.0.0.1:40021/236 -T log/file236.txt -C - > log/stdout236 2> log/stderr236"}

data: {"time":"2026-09-19T16:16:29.838Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:29.838Z","priority":"6","pid":"2830187","message":"=== Start of file file236.txt"}

data: {"time":"2026-09-19T16:16:29.838Z","priority":"6","pid":"2830187","message":" Test data"}

data: {"time":"2026-09-19T16:16:29.838Z","priority":"6","pid":"2830187","message":"=== End of file file236.txt"}

data: {"time":"2026-09-19T16:16:29.838Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:29.839Z","priority":"6","pid":"2830187","message":" 16:16:29.543540 ====> Client connect"}

data: {"time":"2026-09-19T16:16:29.840Z","priority":"6","pid":"2830187","message":" 16:16:29.543981 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.840Z","priority":"6","pid":"2830187","message":" 16:16:29.544706 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:29.841Z","priority":"6","pid":"2830187","message":" 16:16:29.544987 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.841Z","priority":"6","pid":"2830187","message":" 16:16:29.545116 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:29.841Z","priority":"6","pid":"2830187","message":" 16:16:29.545167 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.841Z","priority":"6","pid":"2830187","message":" 16:16:29.545505 < \"PWD\""}

data: {"time":"2026-09-19T16:16:29.841Z","priority":"6","pid":"2830187","message":" 16:16:29.545567 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.842Z","priority":"6","pid":"2830187","message":" 16:16:29.545852 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:29.842Z","priority":"6","pid":"2830187","message":" 16:16:29.545897 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:29.842Z","priority":"6","pid":"2830187","message":" 16:16:29.545918 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:29.843Z","priority":"6","pid":"2830187","message":" 16:16:29.549666 DATA sockfilt for passive data channel started (pid 92821)"}

data: {"time":"2026-09-19T16:16:29.843Z","priority":"6","pid":"2830187","message":" 16:16:29.549910 DATA sockfilt for passive data channel listens on port 43077"}

data: {"time":"2026-09-19T16:16:29.844Z","priority":"6","pid":"2830187","message":" 16:16:29.549988 > \"229 Entering Passive Mode (|||43077|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:29.844Z","priority":"6","pid":"2830187","message":" 16:16:29.550028 Client has been notified that upcoming DATA connection is awaited on port 43077"}

data: {"time":"2026-09-19T16:16:29.845Z","priority":"6","pid":"2830187","message":" 16:16:29.550439 Client connects to port 43077"}

data: {"time":"2026-09-19T16:16:30.099Z","priority":"6","pid":"2830187","message":" 16:16:29.550489 ====> ClienCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind237 ../src/curl -q --output log/curl237.out  --include --trace-ascii log/trace237 --trace-time ftp://127.0.0.1:40021/237 --disable-epsv > log/stdout237 2> log/stderr237"}

data: {"time":"2026-09-19T16:16:30.105Z","priority":"6","pid":"2830187","message":"t established passive DATA connection on port 43077"}

data: {"time":"2026-09-19T16:16:30.107Z","priority":"6","pid":"2830187","message":" 16:16:29.550791 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:30.108Z","priority":"6","pid":"2830187","message":" 16:16:29.550864 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.108Z","priority":"6","pid":"2830187","message":" 16:16:29.551178 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:30.108Z","priority":"6","pid":"2830187","message":" 16:16:29.551282 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.109Z","priority":"6","pid":"2830187","message":" 16:16:29.551557 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:30.110Z","priority":"6","pid":"2830187","message":" 16:16:29.551618 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.110Z","priority":"6","pid":"2830187","message":" 16:16:29.551749 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:30.112Z","priority":"6","pid":"2830187","message":" 16:16:29.551776 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:30.113Z","priority":"6","pid":"2830187","message":" 16:16:29.552261 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:30.114Z","priority":"6","pid":"2830187","message":" 16:16:29.552315 DATA sockfilt for passive data channel quits (pid 92821)"}

data: {"time":"2026-09-19T16:16:30.115Z","priority":"6","pid":"2830187","message":" 16:16:29.552807 DATA sockfilt for passive data channel quit (pid 92821)"}

data: {"time":"2026-09-19T16:16:30.115Z","priority":"6","pid":"2830187","message":" 16:16:29.552859 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:30.116Z","priority":"6","pid":"2830187","message":" 16:16:29.552969 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.117Z","priority":"6","pid":"2830187","message":" 16:16:29.593094 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:30.117Z","priority":"6","pid":"2830187","message":" 16:16:29.593183 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.117Z","priority":"6","pid":"2830187","message":" 16:16:29.594168 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:30.120Z","priority":"6","pid":"2830187","message":" 16:16:29.594319 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:30.120Z","priority":"6","pid":"2830187","message":" 16:16:29.594497 Awaiting input"}

data: {"time":"2026-09-19T16:16:30.120Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:30.120Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:30.120Z","priority":"6","pid":"2830187","message":" 16:16:29.613241 ====> Client connect"}

data: {"time":"2026-09-19T16:16:30.121Z","priority":"6","pid":"2830187","message":" 16:16:29.614121 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.121Z","priority":"6","pid":"2830187","message":" 16:16:29.614172 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.123Z","priority":"6","pid":"2830187","message":" 16:16:29.614192 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:30.124Z","priority":"6","pid":"2830187","message":" 16:16:29.614206 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.124Z","priority":"6","pid":"2830187","message":" 16:16:29.614218 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.126Z","priority":"6","pid":"2830187","message":" 16:16:29.614417 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.126Z","priority":"6","pid":"2830187","message":" 16:16:29.614439 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.127Z","priority":"6","pid":"2830187","message":" 16:16:29.614708 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.127Z","priority":"6","pid":"2830187","message":" 16:16:29.614729 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.128Z","priority":"6","pid":"2830187","message":" 16:16:29.614754 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.129Z","priority":"6","pid":"2830187","message":" 16:16:29.614866 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.130Z","priority":"6","pid":"2830187","message":" 16:16:29.614886 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.131Z","priority":"6","pid":"2830187","message":" 16:16:29.615139 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.131Z","priority":"6","pid":"2830187","message":" 16:16:29.615161 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.132Z","priority":"6","pid":"2830187","message":" 16:16:29.615175 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.133Z","priority":"6","pid":"2830187","message":" 16:16:29.615307 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.135Z","priority":"6","pid":"2830187","message":" 16:16:29.615326 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.136Z","priority":"6","pid":"2830187","message":" 16:16:29.615536 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.136Z","priority":"6","pid":"2830187","message":" 16:16:29.615555 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.136Z","priority":"6","pid":"2830187","message":" 16:16:29.615569 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.137Z","priority":"6","pid":"2830187","message":" 16:16:29.615674 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.138Z","priority":"6","pid":"2830187","message":" 16:16:29.615689 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.138Z","priority":"6","pid":"2830187","message":" 16:16:29.620010 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.139Z","priority":"6","pid":"2830187","message":" 16:16:29.620031 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.140Z","priority":"6","pid":"2830187","message":" 16:16:29.620046 '229 Entering Passive Mode (|||43077|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.140Z","priority":"6","pid":"2830187","message":" 16:16:29.620549 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.141Z","priority":"6","pid":"2830187","message":" 16:16:29.620573 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.141Z","priority":"6","pid":"2830187","message":" 16:16:29.620840 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.141Z","priority":"6","pid":"2830187","message":" 16:16:29.620863 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.143Z","priority":"6","pid":"2830187","message":" 16:16:29.620876 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.143Z","priority":"6","pid":"2830187","message":" 16:16:29.621027 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.143Z","priority":"6","pid":"2830187","message":" 16:16:29.621048 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.144Z","priority":"6","pid":"2830187","message":" 16:16:29.621261 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.144Z","priority":"6","pid":"2830187","message":" 16:16:29.621299 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.144Z","priority":"6","pid":"2830187","message":" 16:16:29.621310 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.145Z","priority":"6","pid":"2830187","message":" 16:16:29.621392 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.146Z","priority":"6","pid":"2830187","message":" 16:16:29.621407 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.146Z","priority":"6","pid":"2830187","message":" 16:16:29.621772 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.146Z","priority":"6","pid":"2830187","message":" 16:16:29.621794 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.146Z","priority":"6","pid":"2830187","message":" 16:16:29.621808 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.146Z","priority":"6","pid":"2830187","message":" 16:16:29.622847 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.147Z","priority":"6","pid":"2830187","message":" 16:16:29.622870 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.147Z","priority":"6","pid":"2830187","message":" 16:16:29.622945 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.147Z","priority":"6","pid":"2830187","message":" 16:16:29.662725 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.148Z","priority":"6","pid":"2830187","message":" 16:16:29.662803 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.148Z","priority":"6","pid":"2830187","message":" 16:16:29.663154 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.149Z","priority":"6","pid":"2830187","message":" 16:16:29.663180 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.149Z","priority":"6","pid":"2830187","message":" 16:16:29.663209 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.149Z","priority":"6","pid":"2830187","message":" 16:16:29.664011 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:30.150Z","priority":"6","pid":"2830187","message":" 16:16:29.664173 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:30.150Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:30.150Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:30.150Z","priority":"6","pid":"2830187","message":" 16:16:29.618904 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:30.151Z","priority":"6","pid":"2830187","message":" 16:16:29.619447 Listening on port 43077"}

data: {"time":"2026-09-19T16:16:30.151Z","priority":"6","pid":"2830187","message":" 16:16:29.619511 Wrote pid 92821 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:30.152Z","priority":"6","pid":"2830187","message":" 16:16:29.619546 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:30.152Z","priority":"6","pid":"2830187","message":" 16:16:29.619698 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:30.153Z","priority":"6","pid":"2830187","message":" 16:16:29.620303 ====> Client connect"}

data: {"time":"2026-09-19T16:16:30.153Z","priority":"6","pid":"2830187","message":" 16:16:29.621858 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.153Z","priority":"6","pid":"2830187","message":" 16:16:29.621889 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.153Z","priority":"6","pid":"2830187","message":" 16:16:29.621903 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.153Z","priority":"6","pid":"2830187","message":" 16:16:29.621952 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:30.154Z","priority":"6","pid":"2830187","message":" 16:16:29.621978 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:30.154Z","priority":"6","pid":"2830187","message":" 16:16:29.622324 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:30.154Z","priority":"6","pid":"2830187","message":" 16:16:29.622342 quits"}

data: {"time":"2026-09-19T16:16:30.155Z","priority":"6","pid":"2830187","message":" 16:16:29.622445 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:30.155Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:30.155Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:30.156Z","priority":"6","pid":"2830187","message":" REPLY SIZE 550 access to this file is very much denied"}

data: {"time":"2026-09-19T16:16:30.156Z","priority":"6","pid":"2830187","message":" REPLY APPE 550 I said: access to this file is very much denied"}

data: {"time":"2026-09-19T16:16:30.156Z","priority":"6","pid":"2830187","message":" REPLY STOR 550 I said: access to this file is very much denied"}

data: {"time":"2026-09-19T16:16:30.157Z","priority":"6","pid":"2830187","message":" REPLY SIZE 500 command not understood"}

data: {"time":"2026-09-19T16:16:30.157Z","priority":"6","pid":"2830187","message":" Testnum 236"}

data: {"time":"2026-09-19T16:16:30.157Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:30.158Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind236"}

data: {"time":"2026-09-19T16:16:30.158Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:30.158Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:30.159Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:30.159Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.159Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:30.160Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:30.163Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:30.163Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:30.163Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:30.163Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.164Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:30.164Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:30.165Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:30.165Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:30.166Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:30.166Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:30.166Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:30.167Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.168Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:30.168Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:30.168Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.168Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:30.168Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:30.169Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:30.169Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.169Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:30.169Z","priority":"6","pid":"2830187","message":"=== End of file valgrind236"}

data: {"time":"2026-09-19T16:16:30.170Z","priority":"6","pid":"2830187","message":"test 0237 [FTP getting bad host in 227-response to PASV]"}

data: {"time":"2026-09-19T16:16:30.171Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind237 ../src/curl -q --output log/curl237.out  --include --trace-ascii log/trace237 --trace-time ftp://127.0.0.1:40021/237 --disable-epsv > log/stdout237 2> log/stderr237"}

data: {"time":"2026-09-19T16:16:30.171Z","priority":"6","pid":"2830187","message":" 237: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:30.172Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:30.172Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:30.173Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 237"}

data: {"time":"2026-09-19T16:16:30.173Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:30.174Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind237 ../src/curl -q --output log/curl237.out  --include --trace-ascii log/trace237 --trace-time ftp://127.0.0.1:40021/237 --disable-epsv > log/stdout237 2> log/stderr237"}

data: {"time":"2026-09-19T16:16:30.175Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:30.175Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:30.175Z","priority":"6","pid":"2830187","message":" 16:16:29.884872 ====> Client connect"}

data: {"time":"2026-09-19T16:16:30.176Z","priority":"6","pid":"2830187","message":" 16:16:29.885518 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.176Z","priority":"6","pid":"2830187","message":" 16:16:29.885705 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:30.177Z","priority":"6","pid":"2830187","message":" 16:16:29.885887 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.177Z","priority":"6","pid":"2830187","message":" 16:16:29.886083 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:30.178Z","priority":"6","pid":"2830187","message":" 16:16:29.886157 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.178Z","priority":"6","pid":"2830187","message":" 16:16:29.886478 < \"PWD\""}

data: {"time":"2026-09-19T16:16:30.178Z","priority":"6","pid":"2830187","message":" 16:16:29.886534 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.179Z","priority":"6","pid":"2830187","message":" 16:16:29.886788 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:30.179Z","priority":"6","pid":"2830187","message":" 16:16:29.886830 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:30.179Z","priority":"6","pid":"2830187","message":" 16:16:29.886861 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:30.180Z","priority":"6","pid":"2830187","message":" 16:16:29.889895 DATA sockfilt for passive data channel started (pid 92890)"}

data: {"time":"2026-09-19T16:16:30.180Z","priority":"6","pid":"2830187","message":" 16:16:29.890090 DATA sockfilt for passive data channel listens on port 33817"}

data: {"time":"2026-09-19T16:16:30.181Z","priority":"6","pid":"2830187","message":" 16:16:29.890152 > \"229 Entering Passive Mode (|||33817|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.181Z","priority":"6","pid":"2830187","message":" 16:16:29.890175 Client has been notified that upcoming DATA connection is awaited on port 33817"}

data: {"time":"2026-09-19T16:16:30.182Z","priority":"6","pid":"2830187","message":" 16:16:29.890561 Client connects to port 33817"}

data: {"time":"2026-09-19T16:16:30.182Z","priority":"6","pid":"2830187","message":" 16:16:29.890626 ====> Client established passive DATA connection on port 33817"}

data: {"time":"2026-09-19T16:16:30.183Z","priority":"6","pid":"2830187","message":" 16:16:29.890932 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:30.183Z","priority":"6","pid":"2830187","message":" 16:16:29.891015 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.183Z","priority":"6","pid":"2830187","message":" 16:16:29.891272 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:30.184Z","priority":"6","pid":"2830187","message":" 16:16:29.891325 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.184Z","priority":"6","pid":"2830187","message":" 16:16:29.891602 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:30.454Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind238 ../src/curl -q --output log/curl238.out  --include --trace-ascii log/trace238 --trace-time ftp://127.0.0.1:40021/238 > log/stdout238 2> log/stderr238"}

data: {"time":"2026-09-19T16:16:30.458Z","priority":"6","pid":"2830187","message":" 16:16:29.891658 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.458Z","priority":"6","pid":"2830187","message":" 16:16:29.892013 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:30.458Z","priority":"6","pid":"2830187","message":" 16:16:29.892047 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:30.459Z","priority":"6","pid":"2830187","message":" 16:16:29.892325 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:30.459Z","priority":"6","pid":"2830187","message":" 16:16:29.892405 DATA sockfilt for passive data channel quits (pid 92890)"}

data: {"time":"2026-09-19T16:16:30.459Z","priority":"6","pid":"2830187","message":" 16:16:29.892902 DATA sockfilt for passive data channel quit (pid 92890)"}

data: {"time":"2026-09-19T16:16:30.460Z","priority":"6","pid":"2830187","message":" 16:16:29.892946 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:30.460Z","priority":"6","pid":"2830187","message":" 16:16:29.892998 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.460Z","priority":"6","pid":"2830187","message":" 16:16:29.933057 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:30.460Z","priority":"6","pid":"2830187","message":" 16:16:29.933164 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.461Z","priority":"6","pid":"2830187","message":" 16:16:29.934190 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:30.461Z","priority":"6","pid":"2830187","message":" 16:16:29.934410 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:30.461Z","priority":"6","pid":"2830187","message":" 16:16:29.934573 Awaiting input"}

data: {"time":"2026-09-19T16:16:30.462Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:30.462Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:30.462Z","priority":"6","pid":"2830187","message":" 16:16:29.954597 ====> Client connect"}

data: {"time":"2026-09-19T16:16:30.463Z","priority":"6","pid":"2830187","message":" 16:16:29.955069 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.463Z","priority":"6","pid":"2830187","message":" 16:16:29.955107 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.464Z","priority":"6","pid":"2830187","message":" 16:16:29.955209 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:30.464Z","priority":"6","pid":"2830187","message":" 16:16:29.955230 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.465Z","priority":"6","pid":"2830187","message":" 16:16:29.955242 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.465Z","priority":"6","pid":"2830187","message":" 16:16:29.955383 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.465Z","priority":"6","pid":"2830187","message":" 16:16:29.955398 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.466Z","priority":"6","pid":"2830187","message":" 16:16:29.955670 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.466Z","priority":"6","pid":"2830187","message":" 16:16:29.955685 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.466Z","priority":"6","pid":"2830187","message":" 16:16:29.955707 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.467Z","priority":"6","pid":"2830187","message":" 16:16:29.955879 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.467Z","priority":"6","pid":"2830187","message":" 16:16:29.955896 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.468Z","priority":"6","pid":"2830187","message":" 16:16:29.956038 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.469Z","priority":"6","pid":"2830187","message":" 16:16:29.956052 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.469Z","priority":"6","pid":"2830187","message":" 16:16:29.956105 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.469Z","priority":"6","pid":"2830187","message":" 16:16:29.956177 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.469Z","priority":"6","pid":"2830187","message":" 16:16:29.956190 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.469Z","priority":"6","pid":"2830187","message":" 16:16:29.956486 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.470Z","priority":"6","pid":"2830187","message":" 16:16:29.956503 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.470Z","priority":"6","pid":"2830187","message":" 16:16:29.956516 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.470Z","priority":"6","pid":"2830187","message":" 16:16:29.956609 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.471Z","priority":"6","pid":"2830187","message":" 16:16:29.956622 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.471Z","priority":"6","pid":"2830187","message":" 16:16:29.960144 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.472Z","priority":"6","pid":"2830187","message":" 16:16:29.960166 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.472Z","priority":"6","pid":"2830187","message":" 16:16:29.960181 '229 Entering Passive Mode (|||33817|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.473Z","priority":"6","pid":"2830187","message":" 16:16:29.960683 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.473Z","priority":"6","pid":"2830187","message":" 16:16:29.960703 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.473Z","priority":"6","pid":"2830187","message":" 16:16:29.960976 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.474Z","priority":"6","pid":"2830187","message":" 16:16:29.960993 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.474Z","priority":"6","pid":"2830187","message":" 16:16:29.961007 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.475Z","priority":"6","pid":"2830187","message":" 16:16:29.961089 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.475Z","priority":"6","pid":"2830187","message":" 16:16:29.961104 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.475Z","priority":"6","pid":"2830187","message":" 16:16:29.961293 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.476Z","priority":"6","pid":"2830187","message":" 16:16:29.961307 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.477Z","priority":"6","pid":"2830187","message":" 16:16:29.961318 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.477Z","priority":"6","pid":"2830187","message":" 16:16:29.961394 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.477Z","priority":"6","pid":"2830187","message":" 16:16:29.961417 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.477Z","priority":"6","pid":"2830187","message":" 16:16:29.961679 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.478Z","priority":"6","pid":"2830187","message":" 16:16:29.961702 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.478Z","priority":"6","pid":"2830187","message":" 16:16:29.961785 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.478Z","priority":"6","pid":"2830187","message":" 16:16:29.962964 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.479Z","priority":"6","pid":"2830187","message":" 16:16:29.962987 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.479Z","priority":"6","pid":"2830187","message":" 16:16:29.963001 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.480Z","priority":"6","pid":"2830187","message":" 16:16:30.002710 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:30.480Z","priority":"6","pid":"2830187","message":" 16:16:30.002775 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.480Z","priority":"6","pid":"2830187","message":" 16:16:30.003196 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.481Z","priority":"6","pid":"2830187","message":" 16:16:30.003224 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.481Z","priority":"6","pid":"2830187","message":" 16:16:30.003237 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.482Z","priority":"6","pid":"2830187","message":" 16:16:30.004037 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:30.482Z","priority":"6","pid":"2830187","message":" 16:16:30.004186 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:30.482Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:30.483Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:30.483Z","priority":"6","pid":"2830187","message":" 16:16:29.959544 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:30.483Z","priority":"6","pid":"2830187","message":" 16:16:29.959677 Listening on port 33817"}

data: {"time":"2026-09-19T16:16:30.484Z","priority":"6","pid":"2830187","message":" 16:16:29.959721 Wrote pid 92890 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:30.484Z","priority":"6","pid":"2830187","message":" 16:16:29.959751 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:30.484Z","priority":"6","pid":"2830187","message":" 16:16:29.959894 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:30.485Z","priority":"6","pid":"2830187","message":" 16:16:29.960429 ====> Client connect"}

data: {"time":"2026-09-19T16:16:30.485Z","priority":"6","pid":"2830187","message":" 16:16:29.961621 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:30.486Z","priority":"6","pid":"2830187","message":" 16:16:29.961645 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:30.486Z","priority":"6","pid":"2830187","message":" 16:16:29.962049 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:30.486Z","priority":"6","pid":"2830187","message":" 16:16:29.962101 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:30.487Z","priority":"6","pid":"2830187","message":" 16:16:29.962115 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:30.488Z","priority":"6","pid":"2830187","message":" 16:16:29.962361 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:30.488Z","priority":"6","pid":"2830187","message":" 16:16:29.962384 quits"}

data: {"time":"2026-09-19T16:16:30.488Z","priority":"6","pid":"2830187","message":" 16:16:29.962495 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:30.488Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:30.489Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:30.489Z","priority":"6","pid":"2830187","message":" REPLY PASV 227 Entering Passive Mode (1216,256,2,127,127,127)"}

data: {"time":"2026-09-19T16:16:30.489Z","priority":"6","pid":"2830187","message":" Testnum 237"}

data: {"time":"2026-09-19T16:16:30.489Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:30.490Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind237"}

data: {"time":"2026-09-19T16:16:30.490Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:30.490Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:30.491Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:30.491Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.491Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:30.492Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:30.492Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:30.493Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:30.493Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:30.493Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.494Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:30.495Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:30.495Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:30.495Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:30.496Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:30.496Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:30.497Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:30.498Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.498Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:30.498Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:30.498Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.498Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:30.499Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:30.499Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:30.499Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:30.500Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:30.501Z","priority":"6","pid":"2830187","message":"=== End of file valgrind237"}

data: {"time":"2026-09-19T16:16:30.501Z","priority":"6","pid":"2830187","message":"test 0238 [FTP getting bad port in response to EPSV]"}

data: {"time":"2026-09-19T16:16:30.502Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind238 ../src/curl -q --output log/curl238.out  --include --trace-ascii log/trace238 --trace-time ftp://127.0.0.1:40021/238 > log/stdout238 2> log/stderr238"}

data: {"time":"2026-09-19T16:16:30.503Z","priority":"6","pid":"2830187","message":" 238: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:30.503Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:30.504Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:30.504Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 238"}

data: {"time":"2026-09-19T16:16:30.505Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:30.506Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind238 ../src/curl -q --output log/curl238.out  --include --trace-ascii log/trace238 --trace-time ftp://127.0.0.1:40021/238 > log/stdout238 2> log/stderr238"}

data: {"time":"2026-09-19T16:16:30.507Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:30.507Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:30.507Z","priority":"6","pid":"2830187","message":" 16:16:30.223171 ====> Client connect"}

data: {"time":"2026-09-19T16:16:30.508Z","priority":"6","pid":"2830187","message":" 16:16:30.223947 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.509Z","priority":"6","pid":"2830187","message":" 16:16:30.224165 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:30.509Z","priority":"6","pid":"2830187","message":" 16:16:30.224231 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.509Z","priority":"6","pid":"2830187","message":" 16:16:30.224660 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:30.510Z","priority":"6","pid":"2830187","message":" 16:16:30.224819 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.510Z","priority":"6","pid":"2830187","message":" 16:16:30.224962 < \"PWD\""}

data: {"time":"2026-09-19T16:16:30.510Z","priority":"6","pid":"2830187","message":" 16:16:30.225017 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.511Z","priority":"6","pid":"2830187","message":" 16:16:30.225319 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:30.511Z","priority":"6","pid":"2830187","message":" 16:16:30.225387 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:30.512Z","priority":"6","pid":"2830187","message":" 16:16:30.225407 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:30.512Z","priority":"6","pid":"2830187","message":" 16:16:30.228791 DATA sockfilt for passive data channel started (pid 92955)"}

data: {"time":"2026-09-19T16:16:30.513Z","priority":"6","pid":"2830187","message":" 16:16:30.228998 DATA sockfilt for passive data channel listens on port 37369"}

data: {"time":"2026-09-19T16:16:30.514Z","priority":"6","pid":"2830187","message":" 16:16:30.229063 > \"229 Entering Passive Mode (|||37369|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.515Z","priority":"6","pid":"2830187","message":" 16:16:30.229086 Client has been notified that upcoming DATA connection is awaited on port 37369"}

data: {"time":"2026-09-19T16:16:30.515Z","priority":"6","pid":"2830187","message":" 16:16:30.229479 Client connects to port 37369"}

data: {"time":"2026-09-19T16:16:30.516Z","priority":"6","pid":"2830187","message":" 16:16:30.229526 ====> Client established passive DATA connection on port 37369"}

data: {"time":"2026-09-19T16:16:30.516Z","priority":"6","pid":"2830187","message":" 16:16:30.229797 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:30.517Z","priority":"6","pid":"2830187","message":" 16:16:30.229846 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.517Z","priority":"6","pid":"2830187","message":" 16:16:30.230093 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:30.517Z","priority":"6","pid":"2830187","message":" 16:16:30.230148 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.518Z","priority":"6","pid":"2830187","message":" 16:16:30.230423 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:30.518Z","priority":"6","pid":"2830187","message":" 16:16:30.230479 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:30.519Z","priority":"6","pid":"2830187","message":" 16:16:30.230771 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:30.519Z","priority":"6","pid":"2830187","message":" 16:16:30.230808 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:30.519Z","priority":"6","pid":"2830187","message":" 16:16:30.231202 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:30.520Z","priority":"6","pid":"2830187","message":" 16:16:30.231251 DATA sockfilt for passive data channel quits (pid 92955)"}

data: {"time":"2026-09-19T16:16:30.520Z","priority":"6","pid":"2830187","message":" 16:16:30.231689 DATA sockfilt for passive data channel quit (pid 92955)"}

data: {"time":"2026-09-19T16:16:30.521Z","priority":"6","pid":"2830187","message":" 16:16:30.231726 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:31.708Z","priority":"6","pid":"2830187","message":" 16:16:30.2317CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind240 ../src/curl -q --output log/curl240.out  --include --trace-ascii log/trace240 --trace-time -g \"http://[::1]:34213/240\" > log/stdout240 2> log/stderr240"}

data: {"time":"2026-09-19T16:16:31.938Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind241 ../src/curl -q --output log/curl241.out  --include --trace-ascii log/trace241 --trace-time -g \"http://ip6-localhost:34213/241\" > log/stdout241 2> log/stderr241"}

data: {"time":"2026-09-19T16:16:31.946Z","priority":"6","pid":"2830187","message":"72 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:31.946Z","priority":"6","pid":"2830187","message":" 16:16:30.272112 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:31.946Z","priority":"6","pid":"2830187","message":" 16:16:30.272199 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:31.947Z","priority":"6","pid":"2830187","message":" 16:16:30.273207 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:31.948Z","priority":"6","pid":"2830187","message":" 16:16:30.273397 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:31.949Z","priority":"6","pid":"2830187","message":" 16:16:30.273527 Awaiting input"}

data: {"time":"2026-09-19T16:16:31.949Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:31.949Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:31.950Z","priority":"6","pid":"2830187","message":" 16:16:30.292901 ====> Client connect"}

data: {"time":"2026-09-19T16:16:31.950Z","priority":"6","pid":"2830187","message":" 16:16:30.293504 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.951Z","priority":"6","pid":"2830187","message":" 16:16:30.293549 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.952Z","priority":"6","pid":"2830187","message":" 16:16:30.293584 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:31.952Z","priority":"6","pid":"2830187","message":" 16:16:30.293600 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.954Z","priority":"6","pid":"2830187","message":" 16:16:30.293612 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.954Z","priority":"6","pid":"2830187","message":" 16:16:30.293766 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:31.954Z","priority":"6","pid":"2830187","message":" 16:16:30.293785 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.954Z","priority":"6","pid":"2830187","message":" 16:16:30.294180 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.955Z","priority":"6","pid":"2830187","message":" 16:16:30.294202 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.955Z","priority":"6","pid":"2830187","message":" 16:16:30.294216 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.956Z","priority":"6","pid":"2830187","message":" 16:16:30.294372 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:31.956Z","priority":"6","pid":"2830187","message":" 16:16:30.294395 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.957Z","priority":"6","pid":"2830187","message":" 16:16:30.294607 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.957Z","priority":"6","pid":"2830187","message":" 16:16:30.294623 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.958Z","priority":"6","pid":"2830187","message":" 16:16:30.294645 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.960Z","priority":"6","pid":"2830187","message":" 16:16:30.294773 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:31.961Z","priority":"6","pid":"2830187","message":" 16:16:30.294788 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.962Z","priority":"6","pid":"2830187","message":" 16:16:30.294947 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.963Z","priority":"6","pid":"2830187","message":" 16:16:30.294966 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.965Z","priority":"6","pid":"2830187","message":" 16:16:30.294987 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.965Z","priority":"6","pid":"2830187","message":" 16:16:30.295099 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:31.965Z","priority":"6","pid":"2830187","message":" 16:16:30.295119 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.967Z","priority":"6","pid":"2830187","message":" 16:16:30.299037 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.967Z","priority":"6","pid":"2830187","message":" 16:16:30.299057 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.969Z","priority":"6","pid":"2830187","message":" 16:16:30.299072 '229 Entering Passive Mode (|||37369|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.970Z","priority":"6","pid":"2830187","message":" 16:16:30.299556 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:31.970Z","priority":"6","pid":"2830187","message":" 16:16:30.299576 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.971Z","priority":"6","pid":"2830187","message":" 16:16:30.299778 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.971Z","priority":"6","pid":"2830187","message":" 16:16:30.299791 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.972Z","priority":"6","pid":"2830187","message":" 16:16:30.299805 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.972Z","priority":"6","pid":"2830187","message":" 16:16:30.299893 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:31.973Z","priority":"6","pid":"2830187","message":" 16:16:30.299909 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.974Z","priority":"6","pid":"2830187","message":" 16:16:30.300083 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.974Z","priority":"6","pid":"2830187","message":" 16:16:30.300102 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.974Z","priority":"6","pid":"2830187","message":" 16:16:30.300115 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.976Z","priority":"6","pid":"2830187","message":" 16:16:30.300200 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:31.977Z","priority":"6","pid":"2830187","message":" 16:16:30.300216 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.977Z","priority":"6","pid":"2830187","message":" 16:16:30.300480 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.978Z","priority":"6","pid":"2830187","message":" 16:16:30.300499 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.979Z","priority":"6","pid":"2830187","message":" 16:16:30.300516 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.979Z","priority":"6","pid":"2830187","message":" 16:16:30.301756 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.980Z","priority":"6","pid":"2830187","message":" 16:16:30.301776 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.980Z","priority":"6","pid":"2830187","message":" 16:16:30.301789 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.981Z","priority":"6","pid":"2830187","message":" 16:16:30.341578 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:31.981Z","priority":"6","pid":"2830187","message":" 16:16:30.341638 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.982Z","priority":"6","pid":"2830187","message":" 16:16:30.342154 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.982Z","priority":"6","pid":"2830187","message":" 16:16:30.342177 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.982Z","priority":"6","pid":"2830187","message":" 16:16:30.342191 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.983Z","priority":"6","pid":"2830187","message":" 16:16:30.343014 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:31.983Z","priority":"6","pid":"2830187","message":" 16:16:30.343180 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:31.984Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:31.984Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:31.985Z","priority":"6","pid":"2830187","message":" 16:16:30.298376 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:31.985Z","priority":"6","pid":"2830187","message":" 16:16:30.298530 Listening on port 37369"}

data: {"time":"2026-09-19T16:16:31.985Z","priority":"6","pid":"2830187","message":" 16:16:30.298578 Wrote pid 92955 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:31.986Z","priority":"6","pid":"2830187","message":" 16:16:30.298613 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:31.986Z","priority":"6","pid":"2830187","message":" 16:16:30.298778 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:31.986Z","priority":"6","pid":"2830187","message":" 16:16:30.299334 ====> Client connect"}

data: {"time":"2026-09-19T16:16:31.986Z","priority":"6","pid":"2830187","message":" 16:16:30.300427 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:31.987Z","priority":"6","pid":"2830187","message":" 16:16:30.300457 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:31.987Z","priority":"6","pid":"2830187","message":" 16:16:30.300819 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:31.987Z","priority":"6","pid":"2830187","message":" 16:16:30.300883 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:31.988Z","priority":"6","pid":"2830187","message":" 16:16:30.300904 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:31.989Z","priority":"6","pid":"2830187","message":" 16:16:30.301187 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:31.989Z","priority":"6","pid":"2830187","message":" 16:16:30.301203 quits"}

data: {"time":"2026-09-19T16:16:31.989Z","priority":"6","pid":"2830187","message":" 16:16:30.301348 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:31.990Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:31.990Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:31.990Z","priority":"6","pid":"2830187","message":" REPLY EPSV 229 Entering Passive Mode (|||1000000|)"}

data: {"time":"2026-09-19T16:16:31.990Z","priority":"6","pid":"2830187","message":" Testnum 238"}

data: {"time":"2026-09-19T16:16:31.991Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:31.992Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind238"}

data: {"time":"2026-09-19T16:16:31.993Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:31.994Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:31.995Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:31.995Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:31.995Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:31.996Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:31.996Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:31.997Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:31.997Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:31.997Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:31.998Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:31.999Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:31.999Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:32.001Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:32.002Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:32.002Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:32.003Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:32.003Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.003Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:32.004Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:32.004Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.005Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:32.005Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:32.006Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:32.007Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.007Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:32.008Z","priority":"6","pid":"2830187","message":"=== End of file valgrind238"}

data: {"time":"2026-09-19T16:16:32.010Z","priority":"6","pid":"2830187","message":"startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http-server.pl --keepalive 30 --pidfile \"log/server/http_ipv6_server.pid\" --logfile \"log/http_ipv6_server.log\" --logdir \"log\" --portfile log/server/http_ipv6_server.port --config log/server.cmd --ipv6 --port 0 --srcdir \"/build/curl/src/curl/tests\""}

data: {"time":"2026-09-19T16:16:32.010Z","priority":"6","pid":"2830187","message":"RUN: HTTP-IPv6 server is on PID 93005 port 34213"}

data: {"time":"2026-09-19T16:16:32.011Z","priority":"6","pid":"2830187","message":"* pid http-ipv6 => 93005 93005"}

data: {"time":"2026-09-19T16:16:32.011Z","priority":"6","pid":"2830187","message":"test 0240 [HTTP-IPv6 GET]"}

data: {"time":"2026-09-19T16:16:32.012Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind240 ../src/curl -q --output log/curl240.out  --include --trace-ascii log/trace240 --trace-time -g \"http://[::1]:34213/240\" > log/stdout240 2> log/stderr240"}

data: {"time":"2026-09-19T16:16:32.013Z","priority":"6","pid":"2830187","message":" 240: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:32.013Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:32.014Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:32.016Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 240"}

data: {"time":"2026-09-19T16:16:32.016Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:32.017Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind240 ../src/curl -q --output log/curl240.out  --include --trace-ascii log/trace240 --trace-time -g \"http://[::1]:34213/240\" > log/stdout240 2> log/stderr240"}

data: {"time":"2026-09-19T16:16:32.018Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:32.019Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:32.020Z","priority":"6","pid":"2830187","message":" 16:16:30.641773 Running HTTP IPv6 version on port 34213"}

data: {"time":"2026-09-19T16:16:32.021Z","priority":"6","pid":"2830187","message":" 16:16:30.641991 Wrote pid 93005 to log/server/http_ipv6_server.pid"}

data: {"time":"2026-09-19T16:16:32.021Z","priority":"6","pid":"2830187","message":" 16:16:30.642037 Wrote port 34213 to log/server/http_ipv6_server.port"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":" Testnum 240"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind240"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.024Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:32.025Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:32.026Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":"=== End of file valgrind240"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":"prechecked ./server/servers resolve --ipv6 ip6-localhost"}

data: {"time":"2026-09-19T16:16:32.037Z","priority":"6","pid":"2830187","message":"test 0241 [HTTP-IPv6 GET (using ip6-localhost)]"}

data: {"time":"2026-09-19T16:16:32.263Z","priority":"6","pid":"2830187","message":"../libtool --CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind242 ../src/curl -q --output log/curl242.out  --include --trace-ascii log/trace242 --trace-time -g \"http://foobar:barfoo@[::1]:34213/242\" > log/stdout242 2> log/stderr242"}

data: {"time":"2026-09-19T16:16:32.524Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind244 ../src/curl -q --output log/curl244.out  --include --trace-ascii log/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:40021/fir%23t/th%69rd/244/ > log/stdout244 2> log/stderr244"}

data: {"time":"2026-09-19T16:16:32.535Z","priority":"6","pid":"2830187","message":"mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind241 ../src/curl -q --output log/curl241.out  --include --trace-ascii log/trace241 --trace-time -g \"http://ip6-localhost:34213/241\" > log/stdout241 2> log/stderr241"}

data: {"time":"2026-09-19T16:16:32.536Z","priority":"6","pid":"2830187","message":" 241: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:32.536Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:32.537Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:32.537Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 241"}

data: {"time":"2026-09-19T16:16:32.537Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:32.539Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind241 ../src/curl -q --output log/curl241.out  --include --trace-ascii log/trace241 --trace-time -g \"http://ip6-localhost:34213/241\" > log/stdout241 2> log/stderr241"}

data: {"time":"2026-09-19T16:16:32.539Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:32.540Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:32.540Z","priority":"6","pid":"2830187","message":" 16:16:31.823509 ====> Client connect"}

data: {"time":"2026-09-19T16:16:32.540Z","priority":"6","pid":"2830187","message":" 16:16:31.823562 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:32.541Z","priority":"6","pid":"2830187","message":" 16:16:31.823747 Read 89 bytes"}

data: {"time":"2026-09-19T16:16:32.541Z","priority":"6","pid":"2830187","message":" 16:16:31.823769 Process 89 bytes request"}

data: {"time":"2026-09-19T16:16:32.541Z","priority":"6","pid":"2830187","message":" 16:16:31.823812 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:32.542Z","priority":"6","pid":"2830187","message":" 16:16:31.823830 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:32.543Z","priority":"6","pid":"2830187","message":" 16:16:31.823909 Wrote request (89 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:32.543Z","priority":"6","pid":"2830187","message":" 16:16:31.823947 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:32.543Z","priority":"6","pid":"2830187","message":" 16:16:31.824022 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:32.543Z","priority":"6","pid":"2830187","message":" 16:16:31.824035 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:32.543Z","priority":"6","pid":"2830187","message":" 16:16:31.824046 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:32.544Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:32.544Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:16:32.544Z","priority":"6","pid":"2830187","message":" *   Trying [::1]:34213..."}

data: {"time":"2026-09-19T16:16:32.545Z","priority":"6","pid":"2830187","message":" * Established connection to [::1] (::1 port 34213) from ::1 port 39334"}

data: {"time":"2026-09-19T16:16:32.545Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:32.545Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:32.545Z","priority":"6","pid":"2830187","message":" > Host: [::1]:34213"}

data: {"time":"2026-09-19T16:16:32.546Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:32.546Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:32.546Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:32.546Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:32.547Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:32.547Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:32.547Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:32.547Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:32.548Z","priority":"6","pid":"2830187","message":" * Connection #0 to host [::1]:34213 left intact"}

data: {"time":"2026-09-19T16:16:32.548Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:16:32.549Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:16:32.549Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:16:32.549Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:16:32.550Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:32.550Z","priority":"6","pid":"2830187","message":" Testnum 241"}

data: {"time":"2026-09-19T16:16:32.550Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:32.550Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:32.551Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:32.551Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:32.551Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:16:32.551Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:32.551Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind241"}

data: {"time":"2026-09-19T16:16:32.552Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:32.552Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:32.553Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:32.553Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.553Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:32.554Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:32.554Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:32.555Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:32.555Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:32.556Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.556Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:32.556Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:32.557Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:32.557Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:32.557Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:32.558Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:32.558Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:32.558Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.559Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:32.559Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:32.559Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.560Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:32.560Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:32.561Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:32.561Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.561Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:32.561Z","priority":"6","pid":"2830187","message":"=== End of file valgrind241"}

data: {"time":"2026-09-19T16:16:32.562Z","priority":"6","pid":"2830187","message":"test 0242 [HTTP-IPv6 GET with username+password in URL]"}

data: {"time":"2026-09-19T16:16:32.564Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind242 ../src/curl -q --output log/curl242.out  --include --trace-ascii log/trace242 --trace-time -g \"http://foobar:barfoo@[::1]:34213/242\" > log/stdout242 2> log/stderr242"}

data: {"time":"2026-09-19T16:16:32.564Z","priority":"6","pid":"2830187","message":" 242: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:32.565Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:32.565Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:32.565Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 242"}

data: {"time":"2026-09-19T16:16:32.566Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:32.567Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind242 ../src/curl -q --output log/curl242.out  --include --trace-ascii log/trace242 --trace-time -g \"http://foobar:barfoo@[::1]:34213/242\" > log/stdout242 2> log/stderr242"}

data: {"time":"2026-09-19T16:16:32.568Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:32.568Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:32.568Z","priority":"6","pid":"2830187","message":" 16:16:32.143933 ====> Client connect"}

data: {"time":"2026-09-19T16:16:32.569Z","priority":"6","pid":"2830187","message":" 16:16:32.143996 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:32.569Z","priority":"6","pid":"2830187","message":" 16:16:32.144273 Read 89 bytes"}

data: {"time":"2026-09-19T16:16:32.570Z","priority":"6","pid":"2830187","message":" 16:16:32.144302 Process 89 bytes request"}

data: {"time":"2026-09-19T16:16:32.570Z","priority":"6","pid":"2830187","message":" 16:16:32.144318 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:32.570Z","priority":"6","pid":"2830187","message":" 16:16:32.144328 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:32.571Z","priority":"6","pid":"2830187","message":" 16:16:32.144369 Wrote request (89 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:32.572Z","priority":"6","pid":"2830187","message":" 16:16:32.144391 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:32.572Z","priority":"6","pid":"2830187","message":" 16:16:32.144468 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:32.572Z","priority":"6","pid":"2830187","message":" 16:16:32.144480 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:32.572Z","priority":"6","pid":"2830187","message":" 16:16:32.144489 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:32.573Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:32.573Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:16:32.573Z","priority":"6","pid":"2830187","message":" *   Trying [::1]:34213..."}

data: {"time":"2026-09-19T16:16:32.574Z","priority":"6","pid":"2830187","message":" * Established connection to [::1] (::1 port 34213) from ::1 port 39348"}

data: {"time":"2026-09-19T16:16:32.574Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:32.574Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:32.575Z","priority":"6","pid":"2830187","message":" > Host: [::1]:34213"}

data: {"time":"2026-09-19T16:16:32.575Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:32.575Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:32.575Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:32.576Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:32.576Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:32.576Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:32.576Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:32.576Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:32.576Z","priority":"6","pid":"2830187","message":" * Connection #0 to host [::1]:34213 left intact"}

data: {"time":"2026-09-19T16:16:32.577Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:16:32.577Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:16:32.577Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:16:32.578Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:16:32.578Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:32.579Z","priority":"6","pid":"2830187","message":" Testnum 242"}

data: {"time":"2026-09-19T16:16:32.579Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:32.579Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:32.579Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:32.579Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:32.579Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:16:32.579Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:32.580Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind242"}

data: {"time":"2026-09-19T16:16:32.580Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:32.580Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:32.581Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:32.581Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.581Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:32.582Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:32.582Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:32.583Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:32.583Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:32.583Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.584Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:32.585Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:32.585Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:32.585Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:32.585Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:32.586Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:32.586Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:32.587Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.587Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:32.587Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:32.587Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.587Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:32.588Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:32.588Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:32.588Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.589Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:32.589Z","priority":"6","pid":"2830187","message":"=== End of file valgrind242"}

data: {"time":"2026-09-19T16:16:32.589Z","priority":"6","pid":"2830187","message":"test 0244 [FTP dir listing with nocwd and URL encoded path]"}

data: {"time":"2026-09-19T16:16:32.590Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind244 ../src/curl -q --output log/curl244.out  --include --trace-ascii log/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:40021/fir%23t/th%69rd/244/ > log/stdout244 2> log/stderr244"}

data: {"time":"2026-09-19T16:16:32.591Z","priority":"6","pid":"2830187","message":" 244: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:32.591Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:32.592Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:32.592Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 244"}

data: {"time":"2026-09-19T16:16:32.592Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:32.803Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind245 ../src/curl -q --output log/curl245.out  --include --trace-ascii log/trace245 --trace-time http://127.0.0.1:36137/245 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout245 2> log/stderr245"}

data: {"time":"2026-09-19T16:16:32.843Z","priority":"6","pid":"2830187","message":"usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind244 ../src/curl -q --output log/curl244.out  --include --trace-ascii log/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:40021/fir%23t/th%69rd/244/ > log/stdout244 2> log/stderr244"}

data: {"time":"2026-09-19T16:16:32.844Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:32.844Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:32.845Z","priority":"6","pid":"2830187","message":" 16:16:32.315324 ====> Client connect"}

data: {"time":"2026-09-19T16:16:32.845Z","priority":"6","pid":"2830187","message":" 16:16:32.316003 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.846Z","priority":"6","pid":"2830187","message":" 16:16:32.316192 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:32.847Z","priority":"6","pid":"2830187","message":" 16:16:32.316388 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.847Z","priority":"6","pid":"2830187","message":" 16:16:32.316596 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:32.847Z","priority":"6","pid":"2830187","message":" 16:16:32.316640 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.847Z","priority":"6","pid":"2830187","message":" 16:16:32.316947 < \"PWD\""}

data: {"time":"2026-09-19T16:16:32.847Z","priority":"6","pid":"2830187","message":" 16:16:32.317015 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.848Z","priority":"6","pid":"2830187","message":" 16:16:32.317322 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:32.848Z","priority":"6","pid":"2830187","message":" 16:16:32.317397 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:32.848Z","priority":"6","pid":"2830187","message":" 16:16:32.317426 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:32.849Z","priority":"6","pid":"2830187","message":" 16:16:32.320297 DATA sockfilt for passive data channel started (pid 93200)"}

data: {"time":"2026-09-19T16:16:32.849Z","priority":"6","pid":"2830187","message":" 16:16:32.320497 DATA sockfilt for passive data channel listens on port 40911"}

data: {"time":"2026-09-19T16:16:32.850Z","priority":"6","pid":"2830187","message":" 16:16:32.320676 > \"229 Entering Passive Mode (|||40911|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.850Z","priority":"6","pid":"2830187","message":" 16:16:32.320713 Client has been notified that upcoming DATA connection is awaited on port 40911"}

data: {"time":"2026-09-19T16:16:32.851Z","priority":"6","pid":"2830187","message":" 16:16:32.320981 Client connects to port 40911"}

data: {"time":"2026-09-19T16:16:32.851Z","priority":"6","pid":"2830187","message":" 16:16:32.321036 ====> Client established passive DATA connection on port 40911"}

data: {"time":"2026-09-19T16:16:32.851Z","priority":"6","pid":"2830187","message":" 16:16:32.321300 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:32.852Z","priority":"6","pid":"2830187","message":" 16:16:32.321414 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.852Z","priority":"6","pid":"2830187","message":" 16:16:32.321731 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:32.853Z","priority":"6","pid":"2830187","message":" 16:16:32.321814 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.853Z","priority":"6","pid":"2830187","message":" 16:16:32.322061 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:32.853Z","priority":"6","pid":"2830187","message":" 16:16:32.322114 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.853Z","priority":"6","pid":"2830187","message":" 16:16:32.322245 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:32.854Z","priority":"6","pid":"2830187","message":" 16:16:32.322269 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:32.854Z","priority":"6","pid":"2830187","message":" 16:16:32.322672 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:32.855Z","priority":"6","pid":"2830187","message":" 16:16:32.322712 DATA sockfilt for passive data channel quits (pid 93200)"}

data: {"time":"2026-09-19T16:16:32.855Z","priority":"6","pid":"2830187","message":" 16:16:32.323130 DATA sockfilt for passive data channel quit (pid 93200)"}

data: {"time":"2026-09-19T16:16:32.856Z","priority":"6","pid":"2830187","message":" 16:16:32.323178 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:32.856Z","priority":"6","pid":"2830187","message":" 16:16:32.323229 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.857Z","priority":"6","pid":"2830187","message":" 16:16:32.364113 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:32.857Z","priority":"6","pid":"2830187","message":" 16:16:32.364289 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:32.857Z","priority":"6","pid":"2830187","message":" 16:16:32.365221 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:32.857Z","priority":"6","pid":"2830187","message":" 16:16:32.365390 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:32.857Z","priority":"6","pid":"2830187","message":" 16:16:32.365514 Awaiting input"}

data: {"time":"2026-09-19T16:16:32.858Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:32.858Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:32.858Z","priority":"6","pid":"2830187","message":" 16:16:32.384953 ====> Client connect"}

data: {"time":"2026-09-19T16:16:32.859Z","priority":"6","pid":"2830187","message":" 16:16:32.385451 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.860Z","priority":"6","pid":"2830187","message":" 16:16:32.385480 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.860Z","priority":"6","pid":"2830187","message":" 16:16:32.385584 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:32.860Z","priority":"6","pid":"2830187","message":" 16:16:32.385624 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.860Z","priority":"6","pid":"2830187","message":" 16:16:32.385638 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.861Z","priority":"6","pid":"2830187","message":" 16:16:32.385755 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:32.861Z","priority":"6","pid":"2830187","message":" 16:16:32.385770 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.861Z","priority":"6","pid":"2830187","message":" 16:16:32.386040 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.862Z","priority":"6","pid":"2830187","message":" 16:16:32.386056 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.862Z","priority":"6","pid":"2830187","message":" 16:16:32.386077 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.862Z","priority":"6","pid":"2830187","message":" 16:16:32.386269 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:32.863Z","priority":"6","pid":"2830187","message":" 16:16:32.386293 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.863Z","priority":"6","pid":"2830187","message":" 16:16:32.386487 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.863Z","priority":"6","pid":"2830187","message":" 16:16:32.386507 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.864Z","priority":"6","pid":"2830187","message":" 16:16:32.386521 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.864Z","priority":"6","pid":"2830187","message":" 16:16:32.386617 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:32.865Z","priority":"6","pid":"2830187","message":" 16:16:32.386637 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.865Z","priority":"6","pid":"2830187","message":" 16:16:32.386862 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.865Z","priority":"6","pid":"2830187","message":" 16:16:32.386883 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.866Z","priority":"6","pid":"2830187","message":" 16:16:32.386896 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.866Z","priority":"6","pid":"2830187","message":" 16:16:32.387014 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:32.866Z","priority":"6","pid":"2830187","message":" 16:16:32.387029 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.867Z","priority":"6","pid":"2830187","message":" 16:16:32.390358 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.867Z","priority":"6","pid":"2830187","message":" 16:16:32.390378 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.868Z","priority":"6","pid":"2830187","message":" 16:16:32.390401 '229 Entering Passive Mode (|||40911|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.868Z","priority":"6","pid":"2830187","message":" 16:16:32.390966 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:32.868Z","priority":"6","pid":"2830187","message":" 16:16:32.390984 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.869Z","priority":"6","pid":"2830187","message":" 16:16:32.391167 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.869Z","priority":"6","pid":"2830187","message":" 16:16:32.391182 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.870Z","priority":"6","pid":"2830187","message":" 16:16:32.391266 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.871Z","priority":"6","pid":"2830187","message":" 16:16:32.391393 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:32.872Z","priority":"6","pid":"2830187","message":" 16:16:32.391416 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.872Z","priority":"6","pid":"2830187","message":" 16:16:32.391659 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.873Z","priority":"6","pid":"2830187","message":" 16:16:32.391677 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.873Z","priority":"6","pid":"2830187","message":" 16:16:32.391689 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.874Z","priority":"6","pid":"2830187","message":" 16:16:32.391767 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:32.874Z","priority":"6","pid":"2830187","message":" 16:16:32.391781 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.875Z","priority":"6","pid":"2830187","message":" 16:16:32.392105 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.876Z","priority":"6","pid":"2830187","message":" 16:16:32.392120 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.876Z","priority":"6","pid":"2830187","message":" 16:16:32.392146 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.877Z","priority":"6","pid":"2830187","message":" 16:16:32.393069 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.878Z","priority":"6","pid":"2830187","message":" 16:16:32.393087 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.878Z","priority":"6","pid":"2830187","message":" 16:16:32.393100 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.880Z","priority":"6","pid":"2830187","message":" 16:16:32.433692 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:32.880Z","priority":"6","pid":"2830187","message":" 16:16:32.433758 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.881Z","priority":"6","pid":"2830187","message":" 16:16:32.434030 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.881Z","priority":"6","pid":"2830187","message":" 16:16:32.434056 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.881Z","priority":"6","pid":"2830187","message":" 16:16:32.434149 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.882Z","priority":"6","pid":"2830187","message":" 16:16:32.434948 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:32.882Z","priority":"6","pid":"2830187","message":" 16:16:32.435084 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:32.883Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:32.884Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:32.884Z","priority":"6","pid":"2830187","message":" 16:16:32.389825 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:32.884Z","priority":"6","pid":"2830187","message":" 16:16:32.389957 Listening on port 40911"}

data: {"time":"2026-09-19T16:16:32.884Z","priority":"6","pid":"2830187","message":" 16:16:32.390002 Wrote pid 93200 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:32.885Z","priority":"6","pid":"2830187","message":" 16:16:32.390046 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:32.885Z","priority":"6","pid":"2830187","message":" 16:16:32.390198 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:32.885Z","priority":"6","pid":"2830187","message":" 16:16:32.390731 ====> Client connect"}

data: {"time":"2026-09-19T16:16:32.886Z","priority":"6","pid":"2830187","message":" 16:16:32.392186 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:32.886Z","priority":"6","pid":"2830187","message":" 16:16:32.392219 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:32.887Z","priority":"6","pid":"2830187","message":" 16:16:32.392247 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:32.887Z","priority":"6","pid":"2830187","message":" 16:16:32.392291 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:32.887Z","priority":"6","pid":"2830187","message":" 16:16:32.392306 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:32.888Z","priority":"6","pid":"2830187","message":" 16:16:32.392545 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:32.888Z","priority":"6","pid":"2830187","message":" 16:16:32.392561 quits"}

data: {"time":"2026-09-19T16:16:32.888Z","priority":"6","pid":"2830187","message":" 16:16:32.392667 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:32.889Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:32.889Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:32.889Z","priority":"6","pid":"2830187","message":" Testnum 244"}

data: {"time":"2026-09-19T16:16:32.890Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:32.890Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind244"}

data: {"time":"2026-09-19T16:16:32.890Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:32.891Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:32.891Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:32.891Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.892Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:32.892Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:32.893Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:32.893Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:32.894Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:32.894Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.894Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:32.894Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:32.895Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:32.896Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:32.896Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:32.896Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:32.897Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:32.897Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.898Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:32.898Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:32.898Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.898Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:32.899Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:32.899Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:32.900Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:32.900Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:32.901Z","priority":"6","pid":"2830187","message":"=== End of file valgrind244"}

data: {"time":"2026-09-19T16:16:32.901Z","priority":"6","pid":"2830187","message":"test 0245 [HTTP POST --digest]"}

data: {"time":"2026-09-19T16:16:32.902Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind245 ../src/curl -q --output log/curl245.out  --include --trace-ascii log/trace245 --trace-time http://127.0.0.1:36137/245 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout245 2> log/stderr245"}

data: {"time":"2026-09-19T16:16:32.903Z","priority":"6","pid":"2830187","message":" 245: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:32.904Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:32.904Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:32.904Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 245"}

data: {"time":"2026-09-19T16:16:32.905Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:32.906Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind245 ../src/curl -q --output log/curl245.out  --include --trace-ascii log/trace245 --trace-time http://127.0.0.1:36137/245 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout245 2> log/stderr245"}

data: {"time":"2026-09-19T16:16:32.906Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:32.907Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:32.907Z","priority":"6","pid":"2830187","message":" 16:16:32.697891 ====> Client connect"}

data: {"time":"2026-09-19T16:16:33.173Z","priority":"6","pid":"2830187","message":" 16:1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind246 ../src/curl -q --output log/curl246.out  --include --trace-ascii log/trace246 --trace-time http://127.0.0.1:36137/246 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout246 2> log/stderr246"}

data: {"time":"2026-09-19T16:16:33.442Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind247 ../src/curl -q --output log/curl247.out  --include --trace-ascii log/trace247 --trace-time ftp://127.0.0.1:40021/247 -T log/test247.txt -z \"apr 1 2005 08:00:00\" > log/stdout247 2> log/stderr247"}

data: {"time":"2026-09-19T16:16:33.447Z","priority":"6","pid":"2830187","message":"6:32.697936 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:33.448Z","priority":"6","pid":"2830187","message":" 16:16:32.697962 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:33.449Z","priority":"6","pid":"2830187","message":" 16:16:32.697971 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:33.449Z","priority":"6","pid":"2830187","message":" 16:16:32.697984 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:33.449Z","priority":"6","pid":"2830187","message":" 16:16:32.697992 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:33.449Z","priority":"6","pid":"2830187","message":" 16:16:32.698017 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:33.450Z","priority":"6","pid":"2830187","message":" 16:16:32.698033 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:33.451Z","priority":"6","pid":"2830187","message":" 16:16:32.698101 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:33.451Z","priority":"6","pid":"2830187","message":" 16:16:32.698110 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:33.451Z","priority":"6","pid":"2830187","message":" 16:16:32.698871 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:33.452Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:33.452Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:33.452Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:33.453Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 40900"}

data: {"time":"2026-09-19T16:16:33.453Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:33.453Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:33.453Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:33.453Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:33.454Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:33.454Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:33.454Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:33.454Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:33.455Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:33.455Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:33.456Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:33.456Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:33.456Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:33.456Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:33.456Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:33.457Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:33.457Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:33.457Z","priority":"6","pid":"2830187","message":" Testnum 245"}

data: {"time":"2026-09-19T16:16:33.457Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:33.458Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:33.458Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:33.458Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:33.458Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:33.459Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:33.459Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind245"}

data: {"time":"2026-09-19T16:16:33.459Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:33.460Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:33.460Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:33.460Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.461Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:33.461Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:33.462Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:33.462Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:33.463Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:33.463Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.463Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:33.464Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:33.464Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:33.465Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:33.465Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:33.466Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:33.466Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:33.466Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.467Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:33.467Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:33.467Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.468Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:33.469Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:33.469Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:33.469Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.469Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:33.470Z","priority":"6","pid":"2830187","message":"=== End of file valgrind245"}

data: {"time":"2026-09-19T16:16:33.471Z","priority":"6","pid":"2830187","message":"test 0246 [HTTP POST --digest with server doing a 100 before 401 response]"}

data: {"time":"2026-09-19T16:16:33.472Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind246 ../src/curl -q --output log/curl246.out  --include --trace-ascii log/trace246 --trace-time http://127.0.0.1:36137/246 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout246 2> log/stderr246"}

data: {"time":"2026-09-19T16:16:33.473Z","priority":"6","pid":"2830187","message":" 246: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:33.473Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:33.474Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:33.474Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 246"}

data: {"time":"2026-09-19T16:16:33.474Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:33.476Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind246 ../src/curl -q --output log/curl246.out  --include --trace-ascii log/trace246 --trace-time http://127.0.0.1:36137/246 -u auser:apasswd --digest -d \"junkelijunk\" > log/stdout246 2> log/stderr246"}

data: {"time":"2026-09-19T16:16:33.477Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:33.477Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:33.477Z","priority":"6","pid":"2830187","message":" 16:16:33.018236 ====> Client connect"}

data: {"time":"2026-09-19T16:16:33.478Z","priority":"6","pid":"2830187","message":" 16:16:33.018294 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:33.478Z","priority":"6","pid":"2830187","message":" 16:16:33.018510 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:33.479Z","priority":"6","pid":"2830187","message":" 16:16:33.018533 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:33.479Z","priority":"6","pid":"2830187","message":" 16:16:33.018549 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:33.479Z","priority":"6","pid":"2830187","message":" 16:16:33.018559 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:33.480Z","priority":"6","pid":"2830187","message":" 16:16:33.018607 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:33.480Z","priority":"6","pid":"2830187","message":" 16:16:33.018635 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:33.481Z","priority":"6","pid":"2830187","message":" 16:16:33.018698 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:33.481Z","priority":"6","pid":"2830187","message":" 16:16:33.018709 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:33.482Z","priority":"6","pid":"2830187","message":" 16:16:33.018718 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:33.482Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:33.482Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:33.482Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:33.483Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 40906"}

data: {"time":"2026-09-19T16:16:33.483Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:33.484Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:33.484Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:33.484Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:33.485Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:33.485Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:33.485Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:33.485Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:33.485Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:33.485Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:33.486Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:33.486Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:33.487Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:33.487Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:33.487Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:33.488Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:33.488Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:33.488Z","priority":"6","pid":"2830187","message":" Testnum 246"}

data: {"time":"2026-09-19T16:16:33.489Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:33.489Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:33.490Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:33.490Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:33.490Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:33.490Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:33.490Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind246"}

data: {"time":"2026-09-19T16:16:33.491Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:33.491Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:33.491Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:33.492Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.492Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:33.492Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:33.493Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:33.494Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:33.494Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:33.494Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.494Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:33.495Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:33.495Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:33.496Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:33.496Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:33.497Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:33.497Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:33.498Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.498Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:33.499Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:33.499Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.499Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:33.500Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:33.500Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:33.501Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.501Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:33.501Z","priority":"6","pid":"2830187","message":"=== End of file valgrind246"}

data: {"time":"2026-09-19T16:16:33.502Z","priority":"6","pid":"2830187","message":"test 0247 [FTP upload time condition evaluates TRUE => skip upload]"}

data: {"time":"2026-09-19T16:16:33.503Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind247 ../src/curl -q --output log/curl247.out  --include --trace-ascii log/trace247 --trace-time ftp://127.0.0.1:40021/247 -T log/test247.txt -z \"apr 1 2005 08:00:00\" > log/stdout247 2> log/stderr247"}

data: {"time":"2026-09-19T16:16:33.504Z","priority":"6","pid":"2830187","message":" 247: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:33.504Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:33.505Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:33.505Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 247"}

data: {"time":"2026-09-19T16:16:33.506Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:33.508Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind247 ../src/curl -q --output log/curl247.out  --include --trace-ascii log/trace247 --trace-time ftp://127.0.0.1:40021/247 -T log/test247.txt -z \"apr 1 2005 08:00:00\" > log/stdout247 2> log/stderr247"}

data: {"time":"2026-09-19T16:16:33.508Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:33.508Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:33.509Z","priority":"6","pid":"2830187","message":" 16:16:33.216094 ====> Client connect"}

data: {"time":"2026-09-19T16:16:33.510Z","priority":"6","pid":"2830187","message":" 16:16:33.216861 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.511Z","priority":"6","pid":"2830187","message":" 16:16:33.217070 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:33.511Z","priority":"6","pid":"2830187","message":" 16:16:33.217300 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.511Z","priority":"6","pid":"2830187","message":" 16:16:33.217452 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:33.511Z","priority":"6","pid":"2830187","message":" 16:16:33.217667 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.511Z","priority":"6","pid":"2830187","message":" 16:16:33.217776 < \"PWD\""}

data: {"time":"2026-09-19T16:16:33.852Z","priority":"6","pid":"2830187","message":" 16:16:33.217826 > \"257 \"/\" is current directCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind248 ../src/curl -q --output log/curl248.out  --include --trace-ascii log/trace248 --trace-time ftp://127.0.0.1:40021/248 -T log/test248.txt -z \"apr 1 2005 08:00:00\" > log/stdout248 2> log/stderr248"}

data: {"time":"2026-09-19T16:16:33.871Z","priority":"6","pid":"2830187","message":"ory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.872Z","priority":"6","pid":"2830187","message":" 16:16:33.218141 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:33.872Z","priority":"6","pid":"2830187","message":" 16:16:33.218186 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:33.872Z","priority":"6","pid":"2830187","message":" 16:16:33.218210 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:33.873Z","priority":"6","pid":"2830187","message":" 16:16:33.221593 DATA sockfilt for passive data channel started (pid 93398)"}

data: {"time":"2026-09-19T16:16:33.874Z","priority":"6","pid":"2830187","message":" 16:16:33.221769 DATA sockfilt for passive data channel listens on port 45193"}

data: {"time":"2026-09-19T16:16:33.874Z","priority":"6","pid":"2830187","message":" 16:16:33.221838 > \"229 Entering Passive Mode (|||45193|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.875Z","priority":"6","pid":"2830187","message":" 16:16:33.221861 Client has been notified that upcoming DATA connection is awaited on port 45193"}

data: {"time":"2026-09-19T16:16:33.876Z","priority":"6","pid":"2830187","message":" 16:16:33.222307 Client connects to port 45193"}

data: {"time":"2026-09-19T16:16:33.876Z","priority":"6","pid":"2830187","message":" 16:16:33.222409 ====> Client established passive DATA connection on port 45193"}

data: {"time":"2026-09-19T16:16:33.876Z","priority":"6","pid":"2830187","message":" 16:16:33.222544 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:33.876Z","priority":"6","pid":"2830187","message":" 16:16:33.222588 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.877Z","priority":"6","pid":"2830187","message":" 16:16:33.222836 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:33.877Z","priority":"6","pid":"2830187","message":" 16:16:33.222911 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.878Z","priority":"6","pid":"2830187","message":" 16:16:33.223222 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:33.878Z","priority":"6","pid":"2830187","message":" 16:16:33.223292 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.879Z","priority":"6","pid":"2830187","message":" 16:16:33.223454 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:33.879Z","priority":"6","pid":"2830187","message":" 16:16:33.223502 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:33.880Z","priority":"6","pid":"2830187","message":" 16:16:33.223911 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:33.881Z","priority":"6","pid":"2830187","message":" 16:16:33.223952 DATA sockfilt for passive data channel quits (pid 93398)"}

data: {"time":"2026-09-19T16:16:33.881Z","priority":"6","pid":"2830187","message":" 16:16:33.224364 DATA sockfilt for passive data channel quit (pid 93398)"}

data: {"time":"2026-09-19T16:16:33.881Z","priority":"6","pid":"2830187","message":" 16:16:33.224403 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:33.882Z","priority":"6","pid":"2830187","message":" 16:16:33.224444 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.883Z","priority":"6","pid":"2830187","message":" 16:16:33.265135 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:33.883Z","priority":"6","pid":"2830187","message":" 16:16:33.265216 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.883Z","priority":"6","pid":"2830187","message":" 16:16:33.266209 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:33.883Z","priority":"6","pid":"2830187","message":" 16:16:33.266405 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:33.884Z","priority":"6","pid":"2830187","message":" 16:16:33.266587 Awaiting input"}

data: {"time":"2026-09-19T16:16:33.884Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:33.884Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:33.885Z","priority":"6","pid":"2830187","message":" 16:16:33.285692 ====> Client connect"}

data: {"time":"2026-09-19T16:16:33.885Z","priority":"6","pid":"2830187","message":" 16:16:33.286287 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.886Z","priority":"6","pid":"2830187","message":" 16:16:33.286332 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.886Z","priority":"6","pid":"2830187","message":" 16:16:33.286362 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:33.887Z","priority":"6","pid":"2830187","message":" 16:16:33.286378 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.888Z","priority":"6","pid":"2830187","message":" 16:16:33.286390 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.889Z","priority":"6","pid":"2830187","message":" 16:16:33.286534 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:33.889Z","priority":"6","pid":"2830187","message":" 16:16:33.286552 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.890Z","priority":"6","pid":"2830187","message":" 16:16:33.286886 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.890Z","priority":"6","pid":"2830187","message":" 16:16:33.286905 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.891Z","priority":"6","pid":"2830187","message":" 16:16:33.286934 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.891Z","priority":"6","pid":"2830187","message":" 16:16:33.287009 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:33.891Z","priority":"6","pid":"2830187","message":" 16:16:33.287023 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.891Z","priority":"6","pid":"2830187","message":" 16:16:33.287251 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.892Z","priority":"6","pid":"2830187","message":" 16:16:33.287270 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.892Z","priority":"6","pid":"2830187","message":" 16:16:33.287295 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.893Z","priority":"6","pid":"2830187","message":" 16:16:33.287378 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:33.893Z","priority":"6","pid":"2830187","message":" 16:16:33.287393 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.894Z","priority":"6","pid":"2830187","message":" 16:16:33.287644 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.894Z","priority":"6","pid":"2830187","message":" 16:16:33.287663 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.894Z","priority":"6","pid":"2830187","message":" 16:16:33.287679 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.895Z","priority":"6","pid":"2830187","message":" 16:16:33.287785 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:33.895Z","priority":"6","pid":"2830187","message":" 16:16:33.287803 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.895Z","priority":"6","pid":"2830187","message":" 16:16:33.291663 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.896Z","priority":"6","pid":"2830187","message":" 16:16:33.291683 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.896Z","priority":"6","pid":"2830187","message":" 16:16:33.291698 '229 Entering Passive Mode (|||45193|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.897Z","priority":"6","pid":"2830187","message":" 16:16:33.292018 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:33.897Z","priority":"6","pid":"2830187","message":" 16:16:33.292035 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.898Z","priority":"6","pid":"2830187","message":" 16:16:33.292380 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.898Z","priority":"6","pid":"2830187","message":" 16:16:33.292397 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.899Z","priority":"6","pid":"2830187","message":" 16:16:33.292410 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.899Z","priority":"6","pid":"2830187","message":" 16:16:33.292496 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:33.899Z","priority":"6","pid":"2830187","message":" 16:16:33.292511 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.900Z","priority":"6","pid":"2830187","message":" 16:16:33.292710 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.900Z","priority":"6","pid":"2830187","message":" 16:16:33.292730 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.901Z","priority":"6","pid":"2830187","message":" 16:16:33.292741 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.901Z","priority":"6","pid":"2830187","message":" 16:16:33.292852 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:33.901Z","priority":"6","pid":"2830187","message":" 16:16:33.292872 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.902Z","priority":"6","pid":"2830187","message":" 16:16:33.293311 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.902Z","priority":"6","pid":"2830187","message":" 16:16:33.293331 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.902Z","priority":"6","pid":"2830187","message":" 16:16:33.293344 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.903Z","priority":"6","pid":"2830187","message":" 16:16:33.294246 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.903Z","priority":"6","pid":"2830187","message":" 16:16:33.294267 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.903Z","priority":"6","pid":"2830187","message":" 16:16:33.294284 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.904Z","priority":"6","pid":"2830187","message":" 16:16:33.334603 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:33.904Z","priority":"6","pid":"2830187","message":" 16:16:33.334662 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.904Z","priority":"6","pid":"2830187","message":" 16:16:33.335013 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.904Z","priority":"6","pid":"2830187","message":" 16:16:33.335033 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.905Z","priority":"6","pid":"2830187","message":" 16:16:33.335046 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.905Z","priority":"6","pid":"2830187","message":" 16:16:33.335880 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:33.905Z","priority":"6","pid":"2830187","message":" 16:16:33.336038 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:33.906Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:33.906Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:33.907Z","priority":"6","pid":"2830187","message":" 16:16:33.291050 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:33.907Z","priority":"6","pid":"2830187","message":" 16:16:33.291218 Listening on port 45193"}

data: {"time":"2026-09-19T16:16:33.907Z","priority":"6","pid":"2830187","message":" 16:16:33.291272 Wrote pid 93398 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:33.907Z","priority":"6","pid":"2830187","message":" 16:16:33.291309 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:33.907Z","priority":"6","pid":"2830187","message":" 16:16:33.291424 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:33.908Z","priority":"6","pid":"2830187","message":" 16:16:33.291969 ====> Client connect"}

data: {"time":"2026-09-19T16:16:33.908Z","priority":"6","pid":"2830187","message":" 16:16:33.293390 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:33.908Z","priority":"6","pid":"2830187","message":" 16:16:33.293414 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:33.909Z","priority":"6","pid":"2830187","message":" 16:16:33.293425 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:33.909Z","priority":"6","pid":"2830187","message":" 16:16:33.293461 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:33.909Z","priority":"6","pid":"2830187","message":" 16:16:33.293476 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:33.909Z","priority":"6","pid":"2830187","message":" 16:16:33.293749 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:33.910Z","priority":"6","pid":"2830187","message":" 16:16:33.293766 quits"}

data: {"time":"2026-09-19T16:16:33.910Z","priority":"6","pid":"2830187","message":" 16:16:33.293858 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:33.910Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:33.910Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:33.911Z","priority":"6","pid":"2830187","message":" Testnum 247"}

data: {"time":"2026-09-19T16:16:33.911Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:33.911Z","priority":"6","pid":"2830187","message":"=== Start of file test247.txt"}

data: {"time":"2026-09-19T16:16:33.911Z","priority":"6","pid":"2830187","message":" data"}

data: {"time":"2026-09-19T16:16:33.911Z","priority":"6","pid":"2830187","message":"     to"}

data: {"time":"2026-09-19T16:16:33.912Z","priority":"6","pid":"2830187","message":"       see"}

data: {"time":"2026-09-19T16:16:33.912Z","priority":"6","pid":"2830187","message":" that FTP"}

data: {"time":"2026-09-19T16:16:33.912Z","priority":"6","pid":"2830187","message":" works"}

data: {"time":"2026-09-19T16:16:33.912Z","priority":"6","pid":"2830187","message":"   so does it?"}

data: {"time":"2026-09-19T16:16:33.912Z","priority":"6","pid":"2830187","message":"=== End of file test247.txt"}

data: {"time":"2026-09-19T16:16:33.912Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind247"}

data: {"time":"2026-09-19T16:16:33.913Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:33.913Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:33.914Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:33.915Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.915Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:33.915Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:33.915Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:33.916Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:33.916Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:33.916Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.917Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:33.917Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:33.918Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:33.918Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:33.919Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:33.920Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:33.920Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:33.920Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.920Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:33.921Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:33.921Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.921Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:33.922Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:33.922Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:33.922Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:33.923Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:33.923Z","priority":"6","pid":"2830187","message":"=== End of file valgrind247"}

data: {"time":"2026-09-19T16:16:33.923Z","priority":"6","pid":"2830187","message":"test 0248 [FTP upload time condition evaluates FALSE => upload anyway]"}

data: {"time":"2026-09-19T16:16:33.925Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind248 ../src/curl -q --output log/curl248.out  --include --trace-ascii log/trace248 --trace-time ftp://127.0.0.1:40021/248 -T log/test248.txt -z \"apr 1 2005 08:00:00\" > log/stdout248 2> log/stderr248"}

data: {"time":"2026-09-19T16:16:33.926Z","priority":"6","pid":"2830187","message":" 248: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:33.926Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:33.926Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:33.926Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 248"}

data: {"time":"2026-09-19T16:16:33.927Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:33.929Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind248 ../src/curl -q --output log/curl248.out  --include --trace-ascii log/trace248 --trace-time ftp://127.0.0.1:40021/248 -T log/test248.txt -z \"apr 1 2005 08:00:00\" > log/stdout248 2> log/stderr248"}

data: {"time":"2026-09-19T16:16:33.929Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:33.929Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:33.930Z","priority":"6","pid":"2830187","message":" 16:16:33.564138 ====> Client connect"}

data: {"time":"2026-09-19T16:16:33.930Z","priority":"6","pid":"2830187","message":" 16:16:33.564950 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.931Z","priority":"6","pid":"2830187","message":" 16:16:33.565180 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:33.932Z","priority":"6","pid":"2830187","message":" 16:16:33.565391 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.932Z","priority":"6","pid":"2830187","message":" 16:16:33.565685 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:33.932Z","priority":"6","pid":"2830187","message":" 16:16:33.565870 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.932Z","priority":"6","pid":"2830187","message":" 16:16:33.566119 < \"PWD\""}

data: {"time":"2026-09-19T16:16:33.933Z","priority":"6","pid":"2830187","message":" 16:16:33.566177 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:33.933Z","priority":"6","pid":"2830187","message":" 16:16:33.566475 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:33.934Z","priority":"6","pid":"2830187","message":" 16:16:33.566518 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:33.934Z","priority":"6","pid":"2830187","message":" 16:16:33.566538 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:33.934Z","priority":"6","pid":"2830187","message":" 16:16:33.570151 DATA sockfilt for passive data channel started (pid 93468)"}

data: {"time":"2026-09-19T16:16:34.196Z","priority":"6","pid":"2830187","message":" 16:16:33.570422 DATA sockfilt for passive data CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind249 ../src/curl -q --output log/curl249.out  --include --trace-ascii log/trace249 --trace-time http://127.0.0.1:36137/249 -z \"dec 12 12:00:00 1999 GMT\" > log/stdout249 2> log/stderr249"}

data: {"time":"2026-09-19T16:16:34.199Z","priority":"6","pid":"2830187","message":"channel listens on port 38389"}

data: {"time":"2026-09-19T16:16:34.200Z","priority":"6","pid":"2830187","message":" 16:16:33.570512 > \"229 Entering Passive Mode (|||38389|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.200Z","priority":"6","pid":"2830187","message":" 16:16:33.570544 Client has been notified that upcoming DATA connection is awaited on port 38389"}

data: {"time":"2026-09-19T16:16:34.201Z","priority":"6","pid":"2830187","message":" 16:16:33.571318 Client connects to port 38389"}

data: {"time":"2026-09-19T16:16:34.201Z","priority":"6","pid":"2830187","message":" 16:16:33.571417 ====> Client established passive DATA connection on port 38389"}

data: {"time":"2026-09-19T16:16:34.202Z","priority":"6","pid":"2830187","message":" 16:16:33.571586 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:34.202Z","priority":"6","pid":"2830187","message":" 16:16:33.571640 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.203Z","priority":"6","pid":"2830187","message":" 16:16:33.572008 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:34.203Z","priority":"6","pid":"2830187","message":" 16:16:33.572183 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.204Z","priority":"6","pid":"2830187","message":" 16:16:33.572461 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:34.204Z","priority":"6","pid":"2830187","message":" 16:16:33.572525 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.205Z","priority":"6","pid":"2830187","message":" 16:16:33.572874 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:34.205Z","priority":"6","pid":"2830187","message":" 16:16:33.572908 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:34.205Z","priority":"6","pid":"2830187","message":" 16:16:33.573303 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:34.206Z","priority":"6","pid":"2830187","message":" 16:16:33.573409 DATA sockfilt for passive data channel quits (pid 93468)"}

data: {"time":"2026-09-19T16:16:34.207Z","priority":"6","pid":"2830187","message":" 16:16:33.573926 DATA sockfilt for passive data channel quit (pid 93468)"}

data: {"time":"2026-09-19T16:16:34.207Z","priority":"6","pid":"2830187","message":" 16:16:33.573977 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:34.208Z","priority":"6","pid":"2830187","message":" 16:16:33.574026 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.208Z","priority":"6","pid":"2830187","message":" 16:16:33.614144 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:34.208Z","priority":"6","pid":"2830187","message":" 16:16:33.614246 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.208Z","priority":"6","pid":"2830187","message":" 16:16:33.615291 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:34.209Z","priority":"6","pid":"2830187","message":" 16:16:33.615527 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:34.209Z","priority":"6","pid":"2830187","message":" 16:16:33.615726 Awaiting input"}

data: {"time":"2026-09-19T16:16:34.209Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:34.210Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:34.210Z","priority":"6","pid":"2830187","message":" 16:16:33.633610 ====> Client connect"}

data: {"time":"2026-09-19T16:16:34.210Z","priority":"6","pid":"2830187","message":" 16:16:33.634360 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.210Z","priority":"6","pid":"2830187","message":" 16:16:33.634416 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.211Z","priority":"6","pid":"2830187","message":" 16:16:33.634451 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:34.212Z","priority":"6","pid":"2830187","message":" 16:16:33.634466 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.213Z","priority":"6","pid":"2830187","message":" 16:16:33.634478 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.213Z","priority":"6","pid":"2830187","message":" 16:16:33.634613 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.213Z","priority":"6","pid":"2830187","message":" 16:16:33.634631 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.213Z","priority":"6","pid":"2830187","message":" 16:16:33.635005 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.213Z","priority":"6","pid":"2830187","message":" 16:16:33.635030 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.214Z","priority":"6","pid":"2830187","message":" 16:16:33.635055 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.214Z","priority":"6","pid":"2830187","message":" 16:16:33.635272 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.214Z","priority":"6","pid":"2830187","message":" 16:16:33.635293 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.215Z","priority":"6","pid":"2830187","message":" 16:16:33.635510 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.215Z","priority":"6","pid":"2830187","message":" 16:16:33.635534 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.216Z","priority":"6","pid":"2830187","message":" 16:16:33.635561 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.216Z","priority":"6","pid":"2830187","message":" 16:16:33.635766 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.217Z","priority":"6","pid":"2830187","message":" 16:16:33.635794 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.217Z","priority":"6","pid":"2830187","message":" 16:16:33.635952 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.218Z","priority":"6","pid":"2830187","message":" 16:16:33.635967 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.218Z","priority":"6","pid":"2830187","message":" 16:16:33.635981 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.218Z","priority":"6","pid":"2830187","message":" 16:16:33.636102 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.219Z","priority":"6","pid":"2830187","message":" 16:16:33.636120 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.219Z","priority":"6","pid":"2830187","message":" 16:16:33.640345 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.219Z","priority":"6","pid":"2830187","message":" 16:16:33.640379 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.220Z","priority":"6","pid":"2830187","message":" 16:16:33.640397 '229 Entering Passive Mode (|||38389|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.220Z","priority":"6","pid":"2830187","message":" 16:16:33.640911 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.221Z","priority":"6","pid":"2830187","message":" 16:16:33.640949 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.221Z","priority":"6","pid":"2830187","message":" 16:16:33.641422 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.221Z","priority":"6","pid":"2830187","message":" 16:16:33.641447 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.222Z","priority":"6","pid":"2830187","message":" 16:16:33.641461 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.222Z","priority":"6","pid":"2830187","message":" 16:16:33.641611 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.223Z","priority":"6","pid":"2830187","message":" 16:16:33.641634 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.223Z","priority":"6","pid":"2830187","message":" 16:16:33.641832 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.223Z","priority":"6","pid":"2830187","message":" 16:16:33.641852 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.224Z","priority":"6","pid":"2830187","message":" 16:16:33.641876 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.224Z","priority":"6","pid":"2830187","message":" 16:16:33.642104 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.225Z","priority":"6","pid":"2830187","message":" 16:16:33.642129 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.225Z","priority":"6","pid":"2830187","message":" 16:16:33.642374 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.225Z","priority":"6","pid":"2830187","message":" 16:16:33.642391 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.226Z","priority":"6","pid":"2830187","message":" 16:16:33.642403 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.226Z","priority":"6","pid":"2830187","message":" 16:16:33.643818 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.226Z","priority":"6","pid":"2830187","message":" 16:16:33.643840 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.227Z","priority":"6","pid":"2830187","message":" 16:16:33.643854 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.227Z","priority":"6","pid":"2830187","message":" 16:16:33.683661 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.227Z","priority":"6","pid":"2830187","message":" 16:16:33.683739 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.227Z","priority":"6","pid":"2830187","message":" 16:16:33.684057 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.228Z","priority":"6","pid":"2830187","message":" 16:16:33.684108 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.228Z","priority":"6","pid":"2830187","message":" 16:16:33.684123 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.229Z","priority":"6","pid":"2830187","message":" 16:16:33.684935 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:34.229Z","priority":"6","pid":"2830187","message":" 16:16:33.685163 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:34.230Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:34.230Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:34.230Z","priority":"6","pid":"2830187","message":" 16:16:33.639536 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:34.230Z","priority":"6","pid":"2830187","message":" 16:16:33.639723 Listening on port 38389"}

data: {"time":"2026-09-19T16:16:34.231Z","priority":"6","pid":"2830187","message":" 16:16:33.639789 Wrote pid 93468 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:34.231Z","priority":"6","pid":"2830187","message":" 16:16:33.639828 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:34.231Z","priority":"6","pid":"2830187","message":" 16:16:33.639989 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:34.232Z","priority":"6","pid":"2830187","message":" 16:16:33.640995 ====> Client connect"}

data: {"time":"2026-09-19T16:16:34.232Z","priority":"6","pid":"2830187","message":" 16:16:33.642319 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.233Z","priority":"6","pid":"2830187","message":" 16:16:33.642350 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.233Z","priority":"6","pid":"2830187","message":" 16:16:33.642456 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.233Z","priority":"6","pid":"2830187","message":" 16:16:33.642926 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:34.234Z","priority":"6","pid":"2830187","message":" 16:16:33.642962 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:34.234Z","priority":"6","pid":"2830187","message":" 16:16:33.643193 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:34.234Z","priority":"6","pid":"2830187","message":" 16:16:33.643211 quits"}

data: {"time":"2026-09-19T16:16:34.235Z","priority":"6","pid":"2830187","message":" 16:16:33.643328 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:34.235Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:34.235Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:34.236Z","priority":"6","pid":"2830187","message":" Testnum 248"}

data: {"time":"2026-09-19T16:16:34.236Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:34.236Z","priority":"6","pid":"2830187","message":"=== Start of file test248.txt"}

data: {"time":"2026-09-19T16:16:34.236Z","priority":"6","pid":"2830187","message":" data"}

data: {"time":"2026-09-19T16:16:34.237Z","priority":"6","pid":"2830187","message":"     to"}

data: {"time":"2026-09-19T16:16:34.237Z","priority":"6","pid":"2830187","message":"       see"}

data: {"time":"2026-09-19T16:16:34.237Z","priority":"6","pid":"2830187","message":" that FTP"}

data: {"time":"2026-09-19T16:16:34.238Z","priority":"6","pid":"2830187","message":" works"}

data: {"time":"2026-09-19T16:16:34.238Z","priority":"6","pid":"2830187","message":"   so does it?"}

data: {"time":"2026-09-19T16:16:34.238Z","priority":"6","pid":"2830187","message":"=== End of file test248.txt"}

data: {"time":"2026-09-19T16:16:34.238Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind248"}

data: {"time":"2026-09-19T16:16:34.238Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:34.238Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:34.239Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:34.239Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.240Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:34.240Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:34.240Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:34.241Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:34.241Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:34.241Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.242Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:34.242Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:34.243Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:34.243Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:34.244Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:34.244Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:34.244Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:34.245Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.245Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:34.245Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:34.246Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.246Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:34.247Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:34.247Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:34.247Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.248Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:34.248Z","priority":"6","pid":"2830187","message":"=== End of file valgrind248"}

data: {"time":"2026-09-19T16:16:34.248Z","priority":"6","pid":"2830187","message":"test 0249 [HTTP 304 response with \"illegal\" Content-Length: header]"}

data: {"time":"2026-09-19T16:16:34.250Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind249 ../src/curl -q --output log/curl249.out  --include --trace-ascii log/trace249 --trace-time http://127.0.0.1:36137/249 -z \"dec 12 12:00:00 1999 GMT\" > log/stdout249 2> log/stderr249"}

data: {"time":"2026-09-19T16:16:34.251Z","priority":"6","pid":"2830187","message":" 249: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:34.251Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:34.251Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:34.251Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 249"}

data: {"time":"2026-09-19T16:16:34.251Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:34.253Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind249 ../src/curl -q --output log/curl249.out  --include --trace-ascii log/trace249 --trace-time http://127.0.0.1:36137/249 -z \"dec 12 12:00:00 1999 GMT\" > log/stdout249 2> log/stderr249"}

data: {"time":"2026-09-19T16:16:34.253Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:34.253Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:34.254Z","priority":"6","pid":"2830187","message":" 16:16:34.046323 ====> Client connect"}

data: {"time":"2026-09-19T16:16:34.254Z","priority":"6","pid":"2830187","message":" 16:16:34.046378 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:34.254Z","priority":"6","pid":"2830187","message":" 16:16:34.046624 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:34.255Z","priority":"6","pid":"2830187","message":" 16:16:34.046648 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:34.255Z","priority":"6","pid":"2830187","message":" 16:16:34.046666 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:34.256Z","priority":"6","pid":"2830187","message":" 16:16:34.046676 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:34.256Z","priority":"6","pid":"2830187","message":" 16:16:34.046723 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:34.256Z","priority":"6","pid":"2830187","message":" 16:16:34.046749 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:34.257Z","priority":"6","pid":"2830187","message":" 16:16:34.046847 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:34.257Z","priority":"6","pid":"2830187","message":" 16:16:34.046861 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:34.258Z","priority":"6","pid":"2830187","message":" 16:16:34.046871 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:34.258Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:34.258Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:34.259Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:34.259Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 40912"}

data: {"time":"2026-09-19T16:16:34.259Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:34.260Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:34.260Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:34.260Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:34.261Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:34.261Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:34.261Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:34.262Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:34.262Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:34.262Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:34.262Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:34.262Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:34.263Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:34.263Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:34.264Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:34.552Z","priority":"6","pid":"2830187","message":"=== End of file htCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind250 ../src/curl -q --output log/curl250.out  --include --trace log/trace250 --trace-time ftp://127.0.0.1:40021/ > log/stdout250 2> log/stderr250"}

data: {"time":"2026-09-19T16:16:34.569Z","priority":"6","pid":"2830187","message":"tp_verify.out"}

data: {"time":"2026-09-19T16:16:34.569Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:34.569Z","priority":"6","pid":"2830187","message":" Testnum 249"}

data: {"time":"2026-09-19T16:16:34.569Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:34.569Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:34.570Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:34.570Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:34.570Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:34.570Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:34.571Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind249"}

data: {"time":"2026-09-19T16:16:34.571Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:34.572Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:34.572Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:34.572Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.573Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:34.573Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:34.573Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:34.574Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:34.574Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:34.574Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.575Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:34.576Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:34.576Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:34.577Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:34.577Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:34.578Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:34.579Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:34.579Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.579Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:34.579Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:34.579Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.580Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:34.580Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:34.581Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:34.581Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.582Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:34.582Z","priority":"6","pid":"2830187","message":"=== End of file valgrind249"}

data: {"time":"2026-09-19T16:16:34.582Z","priority":"6","pid":"2830187","message":"test 0250 [FTP dir list PASV with slow response]"}

data: {"time":"2026-09-19T16:16:34.584Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind250 ../src/curl -q --output log/curl250.out  --include --trace log/trace250 --trace-time ftp://127.0.0.1:40021/ > log/stdout250 2> log/stderr250"}

data: {"time":"2026-09-19T16:16:34.585Z","priority":"6","pid":"2830187","message":" 250: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:34.585Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:34.586Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:34.588Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 250"}

data: {"time":"2026-09-19T16:16:34.588Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:34.590Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind250 ../src/curl -q --output log/curl250.out  --include --trace log/trace250 --trace-time ftp://127.0.0.1:40021/ > log/stdout250 2> log/stderr250"}

data: {"time":"2026-09-19T16:16:34.590Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:34.591Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:34.591Z","priority":"6","pid":"2830187","message":" 16:16:34.306546 ====> Client connect"}

data: {"time":"2026-09-19T16:16:34.592Z","priority":"6","pid":"2830187","message":" 16:16:34.307299 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.592Z","priority":"6","pid":"2830187","message":" 16:16:34.307560 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:34.593Z","priority":"6","pid":"2830187","message":" 16:16:34.307864 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.593Z","priority":"6","pid":"2830187","message":" 16:16:34.308095 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:34.594Z","priority":"6","pid":"2830187","message":" 16:16:34.308140 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.594Z","priority":"6","pid":"2830187","message":" 16:16:34.308443 < \"PWD\""}

data: {"time":"2026-09-19T16:16:34.594Z","priority":"6","pid":"2830187","message":" 16:16:34.308511 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.595Z","priority":"6","pid":"2830187","message":" 16:16:34.308896 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:34.596Z","priority":"6","pid":"2830187","message":" 16:16:34.308935 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:34.596Z","priority":"6","pid":"2830187","message":" 16:16:34.308955 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:34.596Z","priority":"6","pid":"2830187","message":" 16:16:34.312205 DATA sockfilt for passive data channel started (pid 93603)"}

data: {"time":"2026-09-19T16:16:34.598Z","priority":"6","pid":"2830187","message":" 16:16:34.312482 DATA sockfilt for passive data channel listens on port 46131"}

data: {"time":"2026-09-19T16:16:34.598Z","priority":"6","pid":"2830187","message":" 16:16:34.312672 > \"229 Entering Passive Mode (|||46131|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.598Z","priority":"6","pid":"2830187","message":" 16:16:34.312714 Client has been notified that upcoming DATA connection is awaited on port 46131"}

data: {"time":"2026-09-19T16:16:34.599Z","priority":"6","pid":"2830187","message":" 16:16:34.313172 Client connects to port 46131"}

data: {"time":"2026-09-19T16:16:34.600Z","priority":"6","pid":"2830187","message":" 16:16:34.313239 ====> Client established passive DATA connection on port 46131"}

data: {"time":"2026-09-19T16:16:34.600Z","priority":"6","pid":"2830187","message":" 16:16:34.313416 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:34.600Z","priority":"6","pid":"2830187","message":" 16:16:34.313657 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.600Z","priority":"6","pid":"2830187","message":" 16:16:34.313755 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:34.601Z","priority":"6","pid":"2830187","message":" 16:16:34.313809 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.601Z","priority":"6","pid":"2830187","message":" 16:16:34.314132 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:34.603Z","priority":"6","pid":"2830187","message":" 16:16:34.314253 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.605Z","priority":"6","pid":"2830187","message":" 16:16:34.314644 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:34.605Z","priority":"6","pid":"2830187","message":" 16:16:34.314677 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:34.607Z","priority":"6","pid":"2830187","message":" 16:16:34.314962 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:34.607Z","priority":"6","pid":"2830187","message":" 16:16:34.315079 DATA sockfilt for passive data channel quits (pid 93603)"}

data: {"time":"2026-09-19T16:16:34.608Z","priority":"6","pid":"2830187","message":" 16:16:34.315598 DATA sockfilt for passive data channel quit (pid 93603)"}

data: {"time":"2026-09-19T16:16:34.609Z","priority":"6","pid":"2830187","message":" 16:16:34.315649 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:34.609Z","priority":"6","pid":"2830187","message":" 16:16:34.315710 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.610Z","priority":"6","pid":"2830187","message":" 16:16:34.355180 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:34.610Z","priority":"6","pid":"2830187","message":" 16:16:34.355261 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:34.611Z","priority":"6","pid":"2830187","message":" 16:16:34.356250 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:34.611Z","priority":"6","pid":"2830187","message":" 16:16:34.356517 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:34.611Z","priority":"6","pid":"2830187","message":" 16:16:34.356689 Awaiting input"}

data: {"time":"2026-09-19T16:16:34.611Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:34.612Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:34.612Z","priority":"6","pid":"2830187","message":" 16:16:34.376088 ====> Client connect"}

data: {"time":"2026-09-19T16:16:34.612Z","priority":"6","pid":"2830187","message":" 16:16:34.376610 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.613Z","priority":"6","pid":"2830187","message":" 16:16:34.376646 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.613Z","priority":"6","pid":"2830187","message":" 16:16:34.376793 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:34.614Z","priority":"6","pid":"2830187","message":" 16:16:34.376819 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.614Z","priority":"6","pid":"2830187","message":" 16:16:34.376831 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.614Z","priority":"6","pid":"2830187","message":" 16:16:34.376953 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.615Z","priority":"6","pid":"2830187","message":" 16:16:34.376968 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.615Z","priority":"6","pid":"2830187","message":" 16:16:34.377393 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.616Z","priority":"6","pid":"2830187","message":" 16:16:34.377424 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.616Z","priority":"6","pid":"2830187","message":" 16:16:34.377455 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.616Z","priority":"6","pid":"2830187","message":" 16:16:34.377672 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.617Z","priority":"6","pid":"2830187","message":" 16:16:34.377694 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.617Z","priority":"6","pid":"2830187","message":" 16:16:34.377877 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.617Z","priority":"6","pid":"2830187","message":" 16:16:34.377891 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.618Z","priority":"6","pid":"2830187","message":" 16:16:34.377904 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.618Z","priority":"6","pid":"2830187","message":" 16:16:34.377981 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.619Z","priority":"6","pid":"2830187","message":" 16:16:34.377997 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.619Z","priority":"6","pid":"2830187","message":" 16:16:34.378262 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.619Z","priority":"6","pid":"2830187","message":" 16:16:34.378280 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.620Z","priority":"6","pid":"2830187","message":" 16:16:34.378293 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.620Z","priority":"6","pid":"2830187","message":" 16:16:34.378462 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.621Z","priority":"6","pid":"2830187","message":" 16:16:34.378490 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.621Z","priority":"6","pid":"2830187","message":" 16:16:34.382305 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.621Z","priority":"6","pid":"2830187","message":" 16:16:34.382331 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.622Z","priority":"6","pid":"2830187","message":" 16:16:34.382471 '229 Entering Passive Mode (|||46131|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.622Z","priority":"6","pid":"2830187","message":" 16:16:34.382779 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.622Z","priority":"6","pid":"2830187","message":" 16:16:34.382803 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.623Z","priority":"6","pid":"2830187","message":" 16:16:34.383190 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.623Z","priority":"6","pid":"2830187","message":" 16:16:34.383212 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.624Z","priority":"6","pid":"2830187","message":" 16:16:34.383235 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.624Z","priority":"6","pid":"2830187","message":" 16:16:34.383322 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.625Z","priority":"6","pid":"2830187","message":" 16:16:34.383336 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.625Z","priority":"6","pid":"2830187","message":" 16:16:34.383599 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.625Z","priority":"6","pid":"2830187","message":" 16:16:34.383622 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.625Z","priority":"6","pid":"2830187","message":" 16:16:34.383633 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.626Z","priority":"6","pid":"2830187","message":" 16:16:34.383707 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.626Z","priority":"6","pid":"2830187","message":" 16:16:34.383724 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.629Z","priority":"6","pid":"2830187","message":" 16:16:34.383906 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.629Z","priority":"6","pid":"2830187","message":" 16:16:34.383925 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.631Z","priority":"6","pid":"2830187","message":" 16:16:34.384000 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.632Z","priority":"6","pid":"2830187","message":" 16:16:34.385480 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.632Z","priority":"6","pid":"2830187","message":" 16:16:34.385506 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.633Z","priority":"6","pid":"2830187","message":" 16:16:34.385538 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.634Z","priority":"6","pid":"2830187","message":" 16:16:34.424668 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:34.636Z","priority":"6","pid":"2830187","message":" 16:16:34.424754 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.636Z","priority":"6","pid":"2830187","message":" 16:16:34.425016 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.637Z","priority":"6","pid":"2830187","message":" 16:16:34.425050 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.637Z","priority":"6","pid":"2830187","message":" 16:16:34.425064 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.638Z","priority":"6","pid":"2830187","message":" 16:16:34.425861 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:34.638Z","priority":"6","pid":"2830187","message":" 16:16:34.426108 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:34.638Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:34.639Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:34.639Z","priority":"6","pid":"2830187","message":" 16:16:34.381558 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:34.640Z","priority":"6","pid":"2830187","message":" 16:16:34.381722 Listening on port 46131"}

data: {"time":"2026-09-19T16:16:34.640Z","priority":"6","pid":"2830187","message":" 16:16:34.381799 Wrote pid 93603 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:34.641Z","priority":"6","pid":"2830187","message":" 16:16:34.381846 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:34.641Z","priority":"6","pid":"2830187","message":" 16:16:34.382019 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:34.641Z","priority":"6","pid":"2830187","message":" 16:16:34.382833 ====> Client connect"}

data: {"time":"2026-09-19T16:16:34.642Z","priority":"6","pid":"2830187","message":" 16:16:34.384187 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:34.642Z","priority":"6","pid":"2830187","message":" 16:16:34.384224 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:34.643Z","priority":"6","pid":"2830187","message":" 16:16:34.384420 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:34.643Z","priority":"6","pid":"2830187","message":" 16:16:34.384482 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:34.644Z","priority":"6","pid":"2830187","message":" 16:16:34.384498 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:34.644Z","priority":"6","pid":"2830187","message":" 16:16:34.384827 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:34.645Z","priority":"6","pid":"2830187","message":" 16:16:34.384845 quits"}

data: {"time":"2026-09-19T16:16:34.645Z","priority":"6","pid":"2830187","message":" 16:16:34.384960 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:34.645Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:34.645Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:34.646Z","priority":"6","pid":"2830187","message":" SLOWDOWN"}

data: {"time":"2026-09-19T16:16:34.646Z","priority":"6","pid":"2830187","message":" Testnum 250"}

data: {"time":"2026-09-19T16:16:34.646Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:34.646Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind250"}

data: {"time":"2026-09-19T16:16:34.647Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:34.647Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:34.649Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:34.649Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.650Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:34.982Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind251 ../src/curl -q --output log/curl251.out  --include --trace-ascii log/trace251 --trace-time ftp://127.0.0.1:40021/ -P 127.0.0.1 > log/stdout251 2> log/stderr251"}

data: {"time":"2026-09-19T16:16:34.986Z","priority":"6","pid":"2830187","message":"cmp"}

data: {"time":"2026-09-19T16:16:34.987Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:34.988Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:34.988Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:34.989Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.989Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:34.989Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:34.990Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:34.990Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:34.991Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:34.991Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:34.992Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:34.992Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.992Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:34.993Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:34.993Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.994Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:34.994Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:34.994Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:34.995Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:34.995Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:34.995Z","priority":"6","pid":"2830187","message":"=== End of file valgrind250"}

data: {"time":"2026-09-19T16:16:34.996Z","priority":"6","pid":"2830187","message":"test 0251 [FTP dir list, PORT with specified IP and slow response]"}

data: {"time":"2026-09-19T16:16:34.997Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind251 ../src/curl -q --output log/curl251.out  --include --trace-ascii log/trace251 --trace-time ftp://127.0.0.1:40021/ -P 127.0.0.1 > log/stdout251 2> log/stderr251"}

data: {"time":"2026-09-19T16:16:34.998Z","priority":"6","pid":"2830187","message":" 251: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:34.998Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:34.999Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:35.000Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 251"}

data: {"time":"2026-09-19T16:16:35.000Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:35.001Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind251 ../src/curl -q --output log/curl251.out  --include --trace-ascii log/trace251 --trace-time ftp://127.0.0.1:40021/ -P 127.0.0.1 > log/stdout251 2> log/stderr251"}

data: {"time":"2026-09-19T16:16:35.001Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:35.002Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:35.002Z","priority":"6","pid":"2830187","message":" 16:16:34.710944 ====> Client connect"}

data: {"time":"2026-09-19T16:16:35.003Z","priority":"6","pid":"2830187","message":" 16:16:34.711632 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.004Z","priority":"6","pid":"2830187","message":" 16:16:34.711883 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:35.004Z","priority":"6","pid":"2830187","message":" 16:16:34.712100 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.005Z","priority":"6","pid":"2830187","message":" 16:16:34.712451 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:35.005Z","priority":"6","pid":"2830187","message":" 16:16:34.712500 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.006Z","priority":"6","pid":"2830187","message":" 16:16:34.712783 < \"PWD\""}

data: {"time":"2026-09-19T16:16:35.006Z","priority":"6","pid":"2830187","message":" 16:16:34.712837 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.006Z","priority":"6","pid":"2830187","message":" 16:16:34.713085 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:35.006Z","priority":"6","pid":"2830187","message":" 16:16:34.713122 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:35.007Z","priority":"6","pid":"2830187","message":" 16:16:34.713141 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:35.007Z","priority":"6","pid":"2830187","message":" 16:16:34.716656 DATA sockfilt for passive data channel started (pid 93668)"}

data: {"time":"2026-09-19T16:16:35.008Z","priority":"6","pid":"2830187","message":" 16:16:34.716882 DATA sockfilt for passive data channel listens on port 36111"}

data: {"time":"2026-09-19T16:16:35.008Z","priority":"6","pid":"2830187","message":" 16:16:34.717082 > \"229 Entering Passive Mode (|||36111|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.009Z","priority":"6","pid":"2830187","message":" 16:16:34.717115 Client has been notified that upcoming DATA connection is awaited on port 36111"}

data: {"time":"2026-09-19T16:16:35.009Z","priority":"6","pid":"2830187","message":" 16:16:34.717480 Client connects to port 36111"}

data: {"time":"2026-09-19T16:16:35.010Z","priority":"6","pid":"2830187","message":" 16:16:34.717552 ====> Client established passive DATA connection on port 36111"}

data: {"time":"2026-09-19T16:16:35.010Z","priority":"6","pid":"2830187","message":" 16:16:34.717937 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:35.011Z","priority":"6","pid":"2830187","message":" 16:16:34.718066 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.011Z","priority":"6","pid":"2830187","message":" 16:16:34.718421 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:35.011Z","priority":"6","pid":"2830187","message":" 16:16:34.718550 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.012Z","priority":"6","pid":"2830187","message":" 16:16:34.718848 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:35.012Z","priority":"6","pid":"2830187","message":" 16:16:34.718929 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.013Z","priority":"6","pid":"2830187","message":" 16:16:34.719057 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:35.013Z","priority":"6","pid":"2830187","message":" 16:16:34.719087 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:35.014Z","priority":"6","pid":"2830187","message":" 16:16:34.719502 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:35.014Z","priority":"6","pid":"2830187","message":" 16:16:34.719550 DATA sockfilt for passive data channel quits (pid 93668)"}

data: {"time":"2026-09-19T16:16:35.015Z","priority":"6","pid":"2830187","message":" 16:16:34.720039 DATA sockfilt for passive data channel quit (pid 93668)"}

data: {"time":"2026-09-19T16:16:35.015Z","priority":"6","pid":"2830187","message":" 16:16:34.720079 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:35.016Z","priority":"6","pid":"2830187","message":" 16:16:34.720122 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.016Z","priority":"6","pid":"2830187","message":" 16:16:34.760193 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:35.016Z","priority":"6","pid":"2830187","message":" 16:16:34.760300 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:35.017Z","priority":"6","pid":"2830187","message":" 16:16:34.761306 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:35.017Z","priority":"6","pid":"2830187","message":" 16:16:34.761521 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:35.017Z","priority":"6","pid":"2830187","message":" 16:16:34.761664 Awaiting input"}

data: {"time":"2026-09-19T16:16:35.018Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:35.018Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:35.018Z","priority":"6","pid":"2830187","message":" 16:16:34.780469 ====> Client connect"}

data: {"time":"2026-09-19T16:16:35.019Z","priority":"6","pid":"2830187","message":" 16:16:34.780899 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.019Z","priority":"6","pid":"2830187","message":" 16:16:34.780926 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.021Z","priority":"6","pid":"2830187","message":" 16:16:34.781049 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:35.021Z","priority":"6","pid":"2830187","message":" 16:16:34.781071 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.021Z","priority":"6","pid":"2830187","message":" 16:16:34.781083 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.021Z","priority":"6","pid":"2830187","message":" 16:16:34.781220 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:35.021Z","priority":"6","pid":"2830187","message":" 16:16:34.781244 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.022Z","priority":"6","pid":"2830187","message":" 16:16:34.781636 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.022Z","priority":"6","pid":"2830187","message":" 16:16:34.781667 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.023Z","priority":"6","pid":"2830187","message":" 16:16:34.781695 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.023Z","priority":"6","pid":"2830187","message":" 16:16:34.781911 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:35.024Z","priority":"6","pid":"2830187","message":" 16:16:34.781939 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.024Z","priority":"6","pid":"2830187","message":" 16:16:34.782221 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.025Z","priority":"6","pid":"2830187","message":" 16:16:34.782238 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.025Z","priority":"6","pid":"2830187","message":" 16:16:34.782252 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.025Z","priority":"6","pid":"2830187","message":" 16:16:34.782390 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:35.026Z","priority":"6","pid":"2830187","message":" 16:16:34.782410 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.026Z","priority":"6","pid":"2830187","message":" 16:16:34.782554 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.026Z","priority":"6","pid":"2830187","message":" 16:16:34.782567 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.027Z","priority":"6","pid":"2830187","message":" 16:16:34.782580 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.027Z","priority":"6","pid":"2830187","message":" 16:16:34.782669 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:35.028Z","priority":"6","pid":"2830187","message":" 16:16:34.782691 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.028Z","priority":"6","pid":"2830187","message":" 16:16:34.786643 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.028Z","priority":"6","pid":"2830187","message":" 16:16:34.786666 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.029Z","priority":"6","pid":"2830187","message":" 16:16:34.786691 '229 Entering Passive Mode (|||36111|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.029Z","priority":"6","pid":"2830187","message":" 16:16:34.787416 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:35.030Z","priority":"6","pid":"2830187","message":" 16:16:34.787439 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.030Z","priority":"6","pid":"2830187","message":" 16:16:34.787706 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.031Z","priority":"6","pid":"2830187","message":" 16:16:34.787726 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.031Z","priority":"6","pid":"2830187","message":" 16:16:34.787797 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.031Z","priority":"6","pid":"2830187","message":" 16:16:34.787975 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:35.032Z","priority":"6","pid":"2830187","message":" 16:16:34.787999 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.032Z","priority":"6","pid":"2830187","message":" 16:16:34.788187 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.032Z","priority":"6","pid":"2830187","message":" 16:16:34.788210 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.033Z","priority":"6","pid":"2830187","message":" 16:16:34.788283 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.033Z","priority":"6","pid":"2830187","message":" 16:16:34.788402 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:35.034Z","priority":"6","pid":"2830187","message":" 16:16:34.788423 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.034Z","priority":"6","pid":"2830187","message":" 16:16:34.788815 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.034Z","priority":"6","pid":"2830187","message":" 16:16:34.788836 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.035Z","priority":"6","pid":"2830187","message":" 16:16:34.788853 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.035Z","priority":"6","pid":"2830187","message":" 16:16:34.789874 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.036Z","priority":"6","pid":"2830187","message":" 16:16:34.789892 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.036Z","priority":"6","pid":"2830187","message":" 16:16:34.789912 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.037Z","priority":"6","pid":"2830187","message":" 16:16:34.829666 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:35.037Z","priority":"6","pid":"2830187","message":" 16:16:34.829742 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.037Z","priority":"6","pid":"2830187","message":" 16:16:34.830058 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.038Z","priority":"6","pid":"2830187","message":" 16:16:34.830085 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.038Z","priority":"6","pid":"2830187","message":" 16:16:34.830098 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.039Z","priority":"6","pid":"2830187","message":" 16:16:34.830907 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:35.039Z","priority":"6","pid":"2830187","message":" 16:16:34.831119 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:35.039Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:35.039Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:35.040Z","priority":"6","pid":"2830187","message":" 16:16:34.785880 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:35.040Z","priority":"6","pid":"2830187","message":" 16:16:34.786136 Listening on port 36111"}

data: {"time":"2026-09-19T16:16:35.041Z","priority":"6","pid":"2830187","message":" 16:16:34.786207 Wrote pid 93668 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:35.041Z","priority":"6","pid":"2830187","message":" 16:16:34.786259 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:35.042Z","priority":"6","pid":"2830187","message":" 16:16:34.786457 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:35.042Z","priority":"6","pid":"2830187","message":" 16:16:34.787091 ====> Client connect"}

data: {"time":"2026-09-19T16:16:35.042Z","priority":"6","pid":"2830187","message":" 16:16:34.788907 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:35.042Z","priority":"6","pid":"2830187","message":" 16:16:34.788934 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:35.043Z","priority":"6","pid":"2830187","message":" 16:16:34.788946 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:35.043Z","priority":"6","pid":"2830187","message":" 16:16:34.788985 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:35.043Z","priority":"6","pid":"2830187","message":" 16:16:34.789000 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:35.044Z","priority":"6","pid":"2830187","message":" 16:16:34.789286 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:35.044Z","priority":"6","pid":"2830187","message":" 16:16:34.789308 quits"}

data: {"time":"2026-09-19T16:16:35.045Z","priority":"6","pid":"2830187","message":" 16:16:34.789423 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:35.045Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:35.045Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:35.046Z","priority":"6","pid":"2830187","message":" SLOWDOWN"}

data: {"time":"2026-09-19T16:16:35.046Z","priority":"6","pid":"2830187","message":" Testnum 251"}

data: {"time":"2026-09-19T16:16:35.046Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:35.046Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind251"}

data: {"time":"2026-09-19T16:16:35.047Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:35.047Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:35.048Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:35.048Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:35.048Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:35.049Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:35.050Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:35.050Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:35.050Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:35.050Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:35.050Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:35.051Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:35.051Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:36.233Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic liCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind252 ../src/curl -q --output log/curl252.out  --include --trace-ascii log/trace252 --trace-time -g \"ftp://[::1]:42999/\" > log/stdout252 2> log/stderr252"}

data: {"time":"2026-09-19T16:16:36.509Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind253 ../src/curl -q --output log/curl253.out  --include --trace-ascii log/trace253 --trace-time -g \"ftp://[::1]:42999/\" -P - > log/stdout253 2> log/stderr253"}

data: {"time":"2026-09-19T16:16:36.515Z","priority":"6","pid":"2830187","message":"nker .so is called)"}

data: {"time":"2026-09-19T16:16:36.516Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:36.516Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:36.516Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:36.516Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.518Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:36.518Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:36.518Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.518Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:36.519Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:36.519Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:36.520Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.520Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:36.520Z","priority":"6","pid":"2830187","message":"=== End of file valgrind251"}

data: {"time":"2026-09-19T16:16:36.521Z","priority":"6","pid":"2830187","message":"startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/ftpserver.pl --pidfile \"log/server/ftp_ipv6_server.pid\" --logfile \"log/ftp_ipv6_server.log\" --logdir \"log\" --portfile \"log/server/ftp_ipv6_server.port\" --srcdir \"/build/curl/src/curl/tests\" --proto ftp --ipv6 --port 0 --addr \"[::1]\""}

data: {"time":"2026-09-19T16:16:36.521Z","priority":"6","pid":"2830187","message":"PINGPONG runs on port 42999 (log/server/ftp_ipv6_server.port)"}

data: {"time":"2026-09-19T16:16:36.521Z","priority":"6","pid":"2830187","message":"RUN: FTP-IPv6 server is PID 93719 port 42999"}

data: {"time":"2026-09-19T16:16:36.522Z","priority":"6","pid":"2830187","message":"* pid ftp-ipv6 => 93719 93719"}

data: {"time":"2026-09-19T16:16:36.522Z","priority":"6","pid":"2830187","message":"test 0252 [FTP IPv6 dir list PASV]"}

data: {"time":"2026-09-19T16:16:36.523Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind252 ../src/curl -q --output log/curl252.out  --include --trace-ascii log/trace252 --trace-time -g \"ftp://[::1]:42999/\" > log/stdout252 2> log/stderr252"}

data: {"time":"2026-09-19T16:16:36.524Z","priority":"6","pid":"2830187","message":" 252: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:36.524Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:36.525Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:36.525Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 252"}

data: {"time":"2026-09-19T16:16:36.525Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:36.527Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind252 ../src/curl -q --output log/curl252.out  --include --trace-ascii log/trace252 --trace-time -g \"ftp://[::1]:42999/\" > log/stdout252 2> log/stderr252"}

data: {"time":"2026-09-19T16:16:36.528Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:36.528Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:36.528Z","priority":"6","pid":"2830187","message":" 16:16:35.146913 FTP server listens on port IPv6/42999"}

data: {"time":"2026-09-19T16:16:36.528Z","priority":"6","pid":"2830187","message":" 16:16:35.147128 logged pid 93719 in log/server/ftp_ipv6_server.pid"}

data: {"time":"2026-09-19T16:16:36.529Z","priority":"6","pid":"2830187","message":" 16:16:35.147182 Awaiting input"}

data: {"time":"2026-09-19T16:16:36.529Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:36.529Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_sockctrl.log"}

data: {"time":"2026-09-19T16:16:36.530Z","priority":"6","pid":"2830187","message":" 16:16:35.215592 Running IPv6 version"}

data: {"time":"2026-09-19T16:16:36.530Z","priority":"6","pid":"2830187","message":" 16:16:35.216191 Listening on port 42999"}

data: {"time":"2026-09-19T16:16:36.530Z","priority":"6","pid":"2830187","message":" 16:16:35.216261 Wrote pid 93720 to log/server/ftp_ipv6_sockctrl.pid"}

data: {"time":"2026-09-19T16:16:36.531Z","priority":"6","pid":"2830187","message":" 16:16:35.216305 Wrote port 42999 to log/server/ftp_ipv6_server.port"}

data: {"time":"2026-09-19T16:16:36.531Z","priority":"6","pid":"2830187","message":" 16:16:35.216344 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:36.531Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_sockctrl.log"}

data: {"time":"2026-09-19T16:16:36.532Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:36.532Z","priority":"6","pid":"2830187","message":" Testnum 252"}

data: {"time":"2026-09-19T16:16:36.532Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:36.532Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind252"}

data: {"time":"2026-09-19T16:16:36.534Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:36.534Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:36.534Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:36.534Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.534Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:36.534Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:36.535Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:36.535Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:36.536Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:36.536Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.536Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:36.537Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:36.537Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:36.538Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:36.538Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:36.538Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:36.539Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:36.539Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.539Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:36.540Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:36.540Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.541Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:36.541Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:36.541Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:36.541Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.542Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:36.542Z","priority":"6","pid":"2830187","message":"=== End of file valgrind252"}

data: {"time":"2026-09-19T16:16:36.543Z","priority":"6","pid":"2830187","message":"test 0253 [FTP IPv6 dir list with EPRT]"}

data: {"time":"2026-09-19T16:16:36.544Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind253 ../src/curl -q --output log/curl253.out  --include --trace-ascii log/trace253 --trace-time -g \"ftp://[::1]:42999/\" -P - > log/stdout253 2> log/stderr253"}

data: {"time":"2026-09-19T16:16:36.545Z","priority":"6","pid":"2830187","message":" 253: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:36.545Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:36.545Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:36.546Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 253"}

data: {"time":"2026-09-19T16:16:36.546Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:36.547Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind253 ../src/curl -q --output log/curl253.out  --include --trace-ascii log/trace253 --trace-time -g \"ftp://[::1]:42999/\" -P - > log/stdout253 2> log/stderr253"}

data: {"time":"2026-09-19T16:16:36.548Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:36.548Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:36.548Z","priority":"6","pid":"2830187","message":" 16:16:36.279775 ====> Client connect"}

data: {"time":"2026-09-19T16:16:36.549Z","priority":"6","pid":"2830187","message":" 16:16:36.280214 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.550Z","priority":"6","pid":"2830187","message":" 16:16:36.281106 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:36.550Z","priority":"6","pid":"2830187","message":" 16:16:36.281479 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.551Z","priority":"6","pid":"2830187","message":" 16:16:36.281659 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:36.551Z","priority":"6","pid":"2830187","message":" 16:16:36.281888 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.551Z","priority":"6","pid":"2830187","message":" 16:16:36.282090 < \"PWD\""}

data: {"time":"2026-09-19T16:16:36.551Z","priority":"6","pid":"2830187","message":" 16:16:36.282225 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.552Z","priority":"6","pid":"2830187","message":" 16:16:36.282603 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:36.552Z","priority":"6","pid":"2830187","message":" 16:16:36.282653 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:36.553Z","priority":"6","pid":"2830187","message":" 16:16:36.282677 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:36.554Z","priority":"6","pid":"2830187","message":" 16:16:36.286429 DATA sockfilt for passive data channel started (pid 93785)"}

data: {"time":"2026-09-19T16:16:36.554Z","priority":"6","pid":"2830187","message":" 16:16:36.286640 DATA sockfilt for passive data channel listens on port 33131"}

data: {"time":"2026-09-19T16:16:36.555Z","priority":"6","pid":"2830187","message":" 16:16:36.287116 > \"229 Entering Passive Mode (|||33131|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.555Z","priority":"6","pid":"2830187","message":" 16:16:36.287178 Client has been notified that upcoming DATA connection is awaited on port 33131"}

data: {"time":"2026-09-19T16:16:36.556Z","priority":"6","pid":"2830187","message":" 16:16:36.287386 Client connects to port 33131"}

data: {"time":"2026-09-19T16:16:36.556Z","priority":"6","pid":"2830187","message":" 16:16:36.287429 ====> Client established passive DATA connection on port 33131"}

data: {"time":"2026-09-19T16:16:36.557Z","priority":"6","pid":"2830187","message":" 16:16:36.287596 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:36.557Z","priority":"6","pid":"2830187","message":" 16:16:36.287710 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.557Z","priority":"6","pid":"2830187","message":" 16:16:36.288043 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:36.558Z","priority":"6","pid":"2830187","message":" 16:16:36.288118 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.558Z","priority":"6","pid":"2830187","message":" 16:16:36.288418 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:36.559Z","priority":"6","pid":"2830187","message":" 16:16:36.288474 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.559Z","priority":"6","pid":"2830187","message":" 16:16:36.288842 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:36.560Z","priority":"6","pid":"2830187","message":" 16:16:36.288876 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:36.560Z","priority":"6","pid":"2830187","message":" 16:16:36.289193 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:36.561Z","priority":"6","pid":"2830187","message":" 16:16:36.289236 DATA sockfilt for passive data channel quits (pid 93785)"}

data: {"time":"2026-09-19T16:16:36.561Z","priority":"6","pid":"2830187","message":" 16:16:36.289716 DATA sockfilt for passive data channel quit (pid 93785)"}

data: {"time":"2026-09-19T16:16:36.562Z","priority":"6","pid":"2830187","message":" 16:16:36.289762 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:36.562Z","priority":"6","pid":"2830187","message":" 16:16:36.289819 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.562Z","priority":"6","pid":"2830187","message":" 16:16:36.330145 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:36.563Z","priority":"6","pid":"2830187","message":" 16:16:36.330241 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.563Z","priority":"6","pid":"2830187","message":" 16:16:36.331419 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:36.564Z","priority":"6","pid":"2830187","message":" 16:16:36.331675 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:36.564Z","priority":"6","pid":"2830187","message":" 16:16:36.331940 Awaiting input"}

data: {"time":"2026-09-19T16:16:36.565Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:36.565Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_sockctrl.log"}

data: {"time":"2026-09-19T16:16:36.565Z","priority":"6","pid":"2830187","message":" 16:16:36.349194 ====> Client connect"}

data: {"time":"2026-09-19T16:16:36.565Z","priority":"6","pid":"2830187","message":" 16:16:36.350015 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.566Z","priority":"6","pid":"2830187","message":" 16:16:36.350069 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.566Z","priority":"6","pid":"2830187","message":" 16:16:36.350086 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:36.567Z","priority":"6","pid":"2830187","message":" 16:16:36.350099 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.568Z","priority":"6","pid":"2830187","message":" 16:16:36.350131 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.568Z","priority":"6","pid":"2830187","message":" 16:16:36.350363 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.568Z","priority":"6","pid":"2830187","message":" 16:16:36.350392 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.569Z","priority":"6","pid":"2830187","message":" 16:16:36.350797 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.569Z","priority":"6","pid":"2830187","message":" 16:16:36.350819 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.569Z","priority":"6","pid":"2830187","message":" 16:16:36.350845 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.570Z","priority":"6","pid":"2830187","message":" 16:16:36.351000 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.570Z","priority":"6","pid":"2830187","message":" 16:16:36.351022 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.571Z","priority":"6","pid":"2830187","message":" 16:16:36.351335 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.571Z","priority":"6","pid":"2830187","message":" 16:16:36.351360 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.572Z","priority":"6","pid":"2830187","message":" 16:16:36.351387 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.572Z","priority":"6","pid":"2830187","message":" 16:16:36.351579 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.572Z","priority":"6","pid":"2830187","message":" 16:16:36.351597 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.572Z","priority":"6","pid":"2830187","message":" 16:16:36.351792 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.573Z","priority":"6","pid":"2830187","message":" 16:16:36.351812 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.842Z","priority":"6","pid":"2830187","message":" 16:16:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind254 ../src/curl -q --output log/curl254.out  --include --trace-ascii log/trace254 --trace-time -g \"ftp://[::1]:42999/\" --disable-epsv > log/stdout254 2> log/stderr254"}

data: {"time":"2026-09-19T16:16:36.857Z","priority":"6","pid":"2830187","message":"36.351982 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.858Z","priority":"6","pid":"2830187","message":" 16:16:36.352098 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.859Z","priority":"6","pid":"2830187","message":" 16:16:36.352114 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.859Z","priority":"6","pid":"2830187","message":" 16:16:36.356319 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.859Z","priority":"6","pid":"2830187","message":" 16:16:36.356343 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.859Z","priority":"6","pid":"2830187","message":" 16:16:36.356374 '229 Entering Passive Mode (|||33131|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.860Z","priority":"6","pid":"2830187","message":" 16:16:36.356921 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.860Z","priority":"6","pid":"2830187","message":" 16:16:36.356941 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.860Z","priority":"6","pid":"2830187","message":" 16:16:36.357267 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.861Z","priority":"6","pid":"2830187","message":" 16:16:36.357289 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.861Z","priority":"6","pid":"2830187","message":" 16:16:36.357365 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.862Z","priority":"6","pid":"2830187","message":" 16:16:36.357520 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.862Z","priority":"6","pid":"2830187","message":" 16:16:36.357542 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.863Z","priority":"6","pid":"2830187","message":" 16:16:36.357765 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.863Z","priority":"6","pid":"2830187","message":" 16:16:36.357783 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.864Z","priority":"6","pid":"2830187","message":" 16:16:36.357798 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.864Z","priority":"6","pid":"2830187","message":" 16:16:36.357893 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.865Z","priority":"6","pid":"2830187","message":" 16:16:36.357909 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.865Z","priority":"6","pid":"2830187","message":" 16:16:36.358180 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.865Z","priority":"6","pid":"2830187","message":" 16:16:36.358195 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.866Z","priority":"6","pid":"2830187","message":" 16:16:36.358208 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.866Z","priority":"6","pid":"2830187","message":" 16:16:36.359497 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.867Z","priority":"6","pid":"2830187","message":" 16:16:36.359525 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.867Z","priority":"6","pid":"2830187","message":" 16:16:36.359539 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.868Z","priority":"6","pid":"2830187","message":" 16:16:36.399437 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.868Z","priority":"6","pid":"2830187","message":" 16:16:36.399509 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.868Z","priority":"6","pid":"2830187","message":" 16:16:36.399923 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.870Z","priority":"6","pid":"2830187","message":" 16:16:36.399976 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.870Z","priority":"6","pid":"2830187","message":" 16:16:36.399994 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.870Z","priority":"6","pid":"2830187","message":" 16:16:36.400816 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:36.870Z","priority":"6","pid":"2830187","message":" 16:16:36.401150 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:36.870Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_sockctrl.log"}

data: {"time":"2026-09-19T16:16:36.871Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_sockdata.log"}

data: {"time":"2026-09-19T16:16:36.871Z","priority":"6","pid":"2830187","message":" 16:16:36.355652 Running IPv6 version"}

data: {"time":"2026-09-19T16:16:36.872Z","priority":"6","pid":"2830187","message":" 16:16:36.355837 Listening on port 33131"}

data: {"time":"2026-09-19T16:16:36.872Z","priority":"6","pid":"2830187","message":" 16:16:36.355892 Wrote pid 93785 to log/server/ftp_ipv6_sockdata.pid"}

data: {"time":"2026-09-19T16:16:36.872Z","priority":"6","pid":"2830187","message":" 16:16:36.355931 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:36.873Z","priority":"6","pid":"2830187","message":" 16:16:36.356141 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:36.873Z","priority":"6","pid":"2830187","message":" 16:16:36.356858 ====> Client connect"}

data: {"time":"2026-09-19T16:16:36.874Z","priority":"6","pid":"2830187","message":" 16:16:36.358136 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.874Z","priority":"6","pid":"2830187","message":" 16:16:36.358161 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.874Z","priority":"6","pid":"2830187","message":" 16:16:36.358253 'WE ROOLZ: 93719\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.874Z","priority":"6","pid":"2830187","message":" 16:16:36.358686 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:36.875Z","priority":"6","pid":"2830187","message":" 16:16:36.358718 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:36.875Z","priority":"6","pid":"2830187","message":" 16:16:36.358884 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:36.875Z","priority":"6","pid":"2830187","message":" 16:16:36.358899 quits"}

data: {"time":"2026-09-19T16:16:36.876Z","priority":"6","pid":"2830187","message":" 16:16:36.359059 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:36.876Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_sockdata.log"}

data: {"time":"2026-09-19T16:16:36.876Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:36.877Z","priority":"6","pid":"2830187","message":" Testnum 253"}

data: {"time":"2026-09-19T16:16:36.877Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:36.877Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind253"}

data: {"time":"2026-09-19T16:16:36.878Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:36.878Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:36.878Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:36.879Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.879Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:36.879Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:36.880Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:36.880Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:36.881Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:36.881Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.881Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:36.882Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:36.883Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:36.883Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:36.883Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:36.884Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:36.884Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:36.884Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.885Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:36.885Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:36.885Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.886Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:36.886Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:36.887Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:36.887Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:36.888Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:36.889Z","priority":"6","pid":"2830187","message":"=== End of file valgrind253"}

data: {"time":"2026-09-19T16:16:36.889Z","priority":"6","pid":"2830187","message":"test 0254 [FTP IPv6 dir list PASV and --disable-epsv]"}

data: {"time":"2026-09-19T16:16:36.889Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind254 ../src/curl -q --output log/curl254.out  --include --trace-ascii log/trace254 --trace-time -g \"ftp://[::1]:42999/\" --disable-epsv > log/stdout254 2> log/stderr254"}

data: {"time":"2026-09-19T16:16:36.890Z","priority":"6","pid":"2830187","message":" 254: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:36.890Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:36.891Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:36.891Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 254"}

data: {"time":"2026-09-19T16:16:36.891Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:36.893Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind254 ../src/curl -q --output log/curl254.out  --include --trace-ascii log/trace254 --trace-time -g \"ftp://[::1]:42999/\" --disable-epsv > log/stdout254 2> log/stderr254"}

data: {"time":"2026-09-19T16:16:36.893Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:36.893Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:36.894Z","priority":"6","pid":"2830187","message":" 16:16:36.617760 ====> Client connect"}

data: {"time":"2026-09-19T16:16:36.895Z","priority":"6","pid":"2830187","message":" 16:16:36.618523 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.896Z","priority":"6","pid":"2830187","message":" 16:16:36.618728 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:36.896Z","priority":"6","pid":"2830187","message":" 16:16:36.618980 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.896Z","priority":"6","pid":"2830187","message":" 16:16:36.619097 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:36.896Z","priority":"6","pid":"2830187","message":" 16:16:36.619208 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.896Z","priority":"6","pid":"2830187","message":" 16:16:36.619418 < \"PWD\""}

data: {"time":"2026-09-19T16:16:36.897Z","priority":"6","pid":"2830187","message":" 16:16:36.619483 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.897Z","priority":"6","pid":"2830187","message":" 16:16:36.619786 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:36.898Z","priority":"6","pid":"2830187","message":" 16:16:36.619851 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:36.898Z","priority":"6","pid":"2830187","message":" 16:16:36.619874 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:36.899Z","priority":"6","pid":"2830187","message":" 16:16:36.623178 DATA sockfilt for passive data channel started (pid 93850)"}

data: {"time":"2026-09-19T16:16:36.899Z","priority":"6","pid":"2830187","message":" 16:16:36.623480 DATA sockfilt for passive data channel listens on port 40423"}

data: {"time":"2026-09-19T16:16:36.900Z","priority":"6","pid":"2830187","message":" 16:16:36.623568 > \"229 Entering Passive Mode (|||40423|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.901Z","priority":"6","pid":"2830187","message":" 16:16:36.623605 Client has been notified that upcoming DATA connection is awaited on port 40423"}

data: {"time":"2026-09-19T16:16:36.901Z","priority":"6","pid":"2830187","message":" 16:16:36.624121 Client connects to port 40423"}

data: {"time":"2026-09-19T16:16:36.901Z","priority":"6","pid":"2830187","message":" 16:16:36.624171 ====> Client established passive DATA connection on port 40423"}

data: {"time":"2026-09-19T16:16:36.901Z","priority":"6","pid":"2830187","message":" 16:16:36.624318 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:36.902Z","priority":"6","pid":"2830187","message":" 16:16:36.624441 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.902Z","priority":"6","pid":"2830187","message":" 16:16:36.624757 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:36.902Z","priority":"6","pid":"2830187","message":" 16:16:36.624840 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.903Z","priority":"6","pid":"2830187","message":" 16:16:36.625147 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:36.903Z","priority":"6","pid":"2830187","message":" 16:16:36.625209 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.904Z","priority":"6","pid":"2830187","message":" 16:16:36.625577 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:36.904Z","priority":"6","pid":"2830187","message":" 16:16:36.625606 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:36.904Z","priority":"6","pid":"2830187","message":" 16:16:36.625852 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:36.905Z","priority":"6","pid":"2830187","message":" 16:16:36.625890 DATA sockfilt for passive data channel quits (pid 93850)"}

data: {"time":"2026-09-19T16:16:36.905Z","priority":"6","pid":"2830187","message":" 16:16:36.626326 DATA sockfilt for passive data channel quit (pid 93850)"}

data: {"time":"2026-09-19T16:16:36.906Z","priority":"6","pid":"2830187","message":" 16:16:36.626393 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:36.906Z","priority":"6","pid":"2830187","message":" 16:16:36.626435 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.907Z","priority":"6","pid":"2830187","message":" 16:16:36.667082 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:36.907Z","priority":"6","pid":"2830187","message":" 16:16:36.667168 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:36.908Z","priority":"6","pid":"2830187","message":" 16:16:36.668165 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:36.908Z","priority":"6","pid":"2830187","message":" 16:16:36.668414 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:36.908Z","priority":"6","pid":"2830187","message":" 16:16:36.668604 Awaiting input"}

data: {"time":"2026-09-19T16:16:36.908Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:36.909Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_sockctrl.log"}

data: {"time":"2026-09-19T16:16:36.909Z","priority":"6","pid":"2830187","message":" 16:16:36.687194 ====> Client connect"}

data: {"time":"2026-09-19T16:16:36.910Z","priority":"6","pid":"2830187","message":" 16:16:36.687814 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.910Z","priority":"6","pid":"2830187","message":" 16:16:36.687843 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.911Z","priority":"6","pid":"2830187","message":" 16:16:36.687871 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:36.911Z","priority":"6","pid":"2830187","message":" 16:16:36.687887 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.912Z","priority":"6","pid":"2830187","message":" 16:16:36.687899 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.912Z","priority":"6","pid":"2830187","message":" 16:16:36.688048 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.913Z","priority":"6","pid":"2830187","message":" 16:16:36.688063 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.913Z","priority":"6","pid":"2830187","message":" 16:16:36.688392 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.913Z","priority":"6","pid":"2830187","message":" 16:16:36.688414 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.914Z","priority":"6","pid":"2830187","message":" 16:16:36.688438 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.914Z","priority":"6","pid":"2830187","message":" 16:16:36.688526 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.915Z","priority":"6","pid":"2830187","message":" 16:16:36.688540 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.915Z","priority":"6","pid":"2830187","message":" 16:16:36.688733 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.915Z","priority":"6","pid":"2830187","message":" 16:16:36.688748 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.917Z","priority":"6","pid":"2830187","message":" 16:16:36.688770 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.917Z","priority":"6","pid":"2830187","message":" 16:16:36.688914 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.917Z","priority":"6","pid":"2830187","message":" 16:16:36.689121 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.917Z","priority":"6","pid":"2830187","message":" 16:16:36.689146 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.917Z","priority":"6","pid":"2830187","message":" 16:16:36.689159 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.918Z","priority":"6","pid":"2830187","message":" 16:16:36.689175 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.918Z","priority":"6","pid":"2830187","message":" 16:16:36.689275 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.919Z","priority":"6","pid":"2830187","message":" 16:16:36.689291 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.919Z","priority":"6","pid":"2830187","message":" 16:16:36.693271 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.920Z","priority":"6","pid":"2830187","message":" 16:16:36.693297 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:36.920Z","priority":"6","pid":"2830187","message":" 16:16:36.693312 '229 Entering Passive Mode (|||40423|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.920Z","priority":"6","pid":"2830187","message":" 16:16:36.693667 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:36.921Z","priority":"6","pid":"2830187","message":" 16:16:36.693684 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:36.921Z","priority":"6","pid":"2830187","message":" 16:16:36.693992 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:36.921Z","priority":"6","pid":"2830187","message":" 16:16:36.694009 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.200Z","priority":"6","pid":"2830187","message":" 16:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind255 ../src/curl -q --output log/curl255.out  --include --trace-ascii log/trace255 --trace-time -g \"ftp://[::1]:42999/\" -P - --disable-eprt > log/stdout255 2> log/stderr255"}

data: {"time":"2026-09-19T16:16:37.204Z","priority":"6","pid":"2830187","message":"16:36.694077 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.204Z","priority":"6","pid":"2830187","message":" 16:16:36.694243 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.205Z","priority":"6","pid":"2830187","message":" 16:16:36.694268 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.205Z","priority":"6","pid":"2830187","message":" 16:16:36.694473 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.206Z","priority":"6","pid":"2830187","message":" 16:16:36.694489 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.206Z","priority":"6","pid":"2830187","message":" 16:16:36.694501 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.206Z","priority":"6","pid":"2830187","message":" 16:16:36.694660 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.207Z","priority":"6","pid":"2830187","message":" 16:16:36.694680 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.207Z","priority":"6","pid":"2830187","message":" 16:16:36.694909 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.207Z","priority":"6","pid":"2830187","message":" 16:16:36.694925 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.208Z","priority":"6","pid":"2830187","message":" 16:16:36.694954 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.208Z","priority":"6","pid":"2830187","message":" 16:16:36.696069 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.208Z","priority":"6","pid":"2830187","message":" 16:16:36.696087 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.209Z","priority":"6","pid":"2830187","message":" 16:16:36.696100 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.209Z","priority":"6","pid":"2830187","message":" 16:16:36.736465 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.209Z","priority":"6","pid":"2830187","message":" 16:16:36.736539 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.210Z","priority":"6","pid":"2830187","message":" 16:16:36.736807 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.210Z","priority":"6","pid":"2830187","message":" 16:16:36.736842 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.210Z","priority":"6","pid":"2830187","message":" 16:16:36.736854 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.210Z","priority":"6","pid":"2830187","message":" 16:16:36.737662 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:37.211Z","priority":"6","pid":"2830187","message":" 16:16:36.737853 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:37.211Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_sockctrl.log"}

data: {"time":"2026-09-19T16:16:37.212Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_sockdata.log"}

data: {"time":"2026-09-19T16:16:37.212Z","priority":"6","pid":"2830187","message":" 16:16:36.692504 Running IPv6 version"}

data: {"time":"2026-09-19T16:16:37.212Z","priority":"6","pid":"2830187","message":" 16:16:36.692634 Listening on port 40423"}

data: {"time":"2026-09-19T16:16:37.212Z","priority":"6","pid":"2830187","message":" 16:16:36.692675 Wrote pid 93850 to log/server/ftp_ipv6_sockdata.pid"}

data: {"time":"2026-09-19T16:16:37.213Z","priority":"6","pid":"2830187","message":" 16:16:36.692714 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:37.213Z","priority":"6","pid":"2830187","message":" 16:16:36.692901 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:37.214Z","priority":"6","pid":"2830187","message":" 16:16:36.693602 ====> Client connect"}

data: {"time":"2026-09-19T16:16:37.214Z","priority":"6","pid":"2830187","message":" 16:16:36.694864 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.215Z","priority":"6","pid":"2830187","message":" 16:16:36.694889 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.215Z","priority":"6","pid":"2830187","message":" 16:16:36.695003 'WE ROOLZ: 93719\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.215Z","priority":"6","pid":"2830187","message":" 16:16:36.695352 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:37.216Z","priority":"6","pid":"2830187","message":" 16:16:36.695379 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:37.217Z","priority":"6","pid":"2830187","message":" 16:16:36.695524 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:37.217Z","priority":"6","pid":"2830187","message":" 16:16:36.695537 quits"}

data: {"time":"2026-09-19T16:16:37.217Z","priority":"6","pid":"2830187","message":" 16:16:36.695653 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:37.217Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_sockdata.log"}

data: {"time":"2026-09-19T16:16:37.217Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:37.217Z","priority":"6","pid":"2830187","message":" Testnum 254"}

data: {"time":"2026-09-19T16:16:37.217Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:37.218Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind254"}

data: {"time":"2026-09-19T16:16:37.218Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:37.219Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:37.219Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:37.219Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.220Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:37.220Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:37.220Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:37.221Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:37.221Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:37.222Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.222Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:37.222Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:37.223Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:37.223Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:37.224Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:37.224Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:37.225Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:37.225Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.225Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:37.226Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:37.226Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.226Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:37.227Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:37.227Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:37.227Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.228Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:37.228Z","priority":"6","pid":"2830187","message":"=== End of file valgrind254"}

data: {"time":"2026-09-19T16:16:37.229Z","priority":"6","pid":"2830187","message":"test 0255 [FTP IPv6 dir list with EPRT and --disable-eprt]"}

data: {"time":"2026-09-19T16:16:37.230Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind255 ../src/curl -q --output log/curl255.out  --include --trace-ascii log/trace255 --trace-time -g \"ftp://[::1]:42999/\" -P - --disable-eprt > log/stdout255 2> log/stderr255"}

data: {"time":"2026-09-19T16:16:37.230Z","priority":"6","pid":"2830187","message":" 255: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:37.231Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:37.231Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:37.232Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 255"}

data: {"time":"2026-09-19T16:16:37.232Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:37.233Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind255 ../src/curl -q --output log/curl255.out  --include --trace-ascii log/trace255 --trace-time -g \"ftp://[::1]:42999/\" -P - --disable-eprt > log/stdout255 2> log/stderr255"}

data: {"time":"2026-09-19T16:16:37.234Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:37.236Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:37.236Z","priority":"6","pid":"2830187","message":" 16:16:36.964211 ====> Client connect"}

data: {"time":"2026-09-19T16:16:37.236Z","priority":"6","pid":"2830187","message":" 16:16:36.965226 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.237Z","priority":"6","pid":"2830187","message":" 16:16:36.965653 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:37.237Z","priority":"6","pid":"2830187","message":" 16:16:36.965798 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.237Z","priority":"6","pid":"2830187","message":" 16:16:36.966145 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:37.238Z","priority":"6","pid":"2830187","message":" 16:16:36.966199 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.238Z","priority":"6","pid":"2830187","message":" 16:16:36.966678 < \"PWD\""}

data: {"time":"2026-09-19T16:16:37.238Z","priority":"6","pid":"2830187","message":" 16:16:36.966750 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.239Z","priority":"6","pid":"2830187","message":" 16:16:36.967088 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:37.239Z","priority":"6","pid":"2830187","message":" 16:16:36.967135 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:37.239Z","priority":"6","pid":"2830187","message":" 16:16:36.967156 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:37.240Z","priority":"6","pid":"2830187","message":" 16:16:36.971756 DATA sockfilt for passive data channel started (pid 93915)"}

data: {"time":"2026-09-19T16:16:37.240Z","priority":"6","pid":"2830187","message":" 16:16:36.972062 DATA sockfilt for passive data channel listens on port 37255"}

data: {"time":"2026-09-19T16:16:37.241Z","priority":"6","pid":"2830187","message":" 16:16:36.972378 > \"229 Entering Passive Mode (|||37255|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.241Z","priority":"6","pid":"2830187","message":" 16:16:36.972444 Client has been notified that upcoming DATA connection is awaited on port 37255"}

data: {"time":"2026-09-19T16:16:37.242Z","priority":"6","pid":"2830187","message":" 16:16:36.972899 Client connects to port 37255"}

data: {"time":"2026-09-19T16:16:37.242Z","priority":"6","pid":"2830187","message":" 16:16:36.972966 ====> Client established passive DATA connection on port 37255"}

data: {"time":"2026-09-19T16:16:37.242Z","priority":"6","pid":"2830187","message":" 16:16:36.973248 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:37.243Z","priority":"6","pid":"2830187","message":" 16:16:36.973427 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.243Z","priority":"6","pid":"2830187","message":" 16:16:36.973781 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:37.243Z","priority":"6","pid":"2830187","message":" 16:16:36.973858 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.244Z","priority":"6","pid":"2830187","message":" 16:16:36.974206 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:37.244Z","priority":"6","pid":"2830187","message":" 16:16:36.974327 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.245Z","priority":"6","pid":"2830187","message":" 16:16:36.974520 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:37.245Z","priority":"6","pid":"2830187","message":" 16:16:36.974547 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:37.245Z","priority":"6","pid":"2830187","message":" 16:16:36.975043 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:37.246Z","priority":"6","pid":"2830187","message":" 16:16:36.975112 DATA sockfilt for passive data channel quits (pid 93915)"}

data: {"time":"2026-09-19T16:16:37.246Z","priority":"6","pid":"2830187","message":" 16:16:36.975758 DATA sockfilt for passive data channel quit (pid 93915)"}

data: {"time":"2026-09-19T16:16:37.247Z","priority":"6","pid":"2830187","message":" 16:16:36.975807 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:37.247Z","priority":"6","pid":"2830187","message":" 16:16:36.975950 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.248Z","priority":"6","pid":"2830187","message":" 16:16:37.016122 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:37.248Z","priority":"6","pid":"2830187","message":" 16:16:37.016220 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:37.248Z","priority":"6","pid":"2830187","message":" 16:16:37.017220 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:37.248Z","priority":"6","pid":"2830187","message":" 16:16:37.017391 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:37.249Z","priority":"6","pid":"2830187","message":" 16:16:37.017518 Awaiting input"}

data: {"time":"2026-09-19T16:16:37.249Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:37.249Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_sockctrl.log"}

data: {"time":"2026-09-19T16:16:37.250Z","priority":"6","pid":"2830187","message":" 16:16:37.033564 ====> Client connect"}

data: {"time":"2026-09-19T16:16:37.250Z","priority":"6","pid":"2830187","message":" 16:16:37.034425 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.250Z","priority":"6","pid":"2830187","message":" 16:16:37.034494 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.251Z","priority":"6","pid":"2830187","message":" 16:16:37.034530 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:37.251Z","priority":"6","pid":"2830187","message":" 16:16:37.034545 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.252Z","priority":"6","pid":"2830187","message":" 16:16:37.034555 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.253Z","priority":"6","pid":"2830187","message":" 16:16:37.034729 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.253Z","priority":"6","pid":"2830187","message":" 16:16:37.034754 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.253Z","priority":"6","pid":"2830187","message":" 16:16:37.035315 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.253Z","priority":"6","pid":"2830187","message":" 16:16:37.035345 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.254Z","priority":"6","pid":"2830187","message":" 16:16:37.035428 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.255Z","priority":"6","pid":"2830187","message":" 16:16:37.035556 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.255Z","priority":"6","pid":"2830187","message":" 16:16:37.035576 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.255Z","priority":"6","pid":"2830187","message":" 16:16:37.035821 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.255Z","priority":"6","pid":"2830187","message":" 16:16:37.035844 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.256Z","priority":"6","pid":"2830187","message":" 16:16:37.035857 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.256Z","priority":"6","pid":"2830187","message":" 16:16:37.036108 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.257Z","priority":"6","pid":"2830187","message":" 16:16:37.036136 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.257Z","priority":"6","pid":"2830187","message":" 16:16:37.036373 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.257Z","priority":"6","pid":"2830187","message":" 16:16:37.036392 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.258Z","priority":"6","pid":"2830187","message":" 16:16:37.036405 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.258Z","priority":"6","pid":"2830187","message":" 16:16:37.036527 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.258Z","priority":"6","pid":"2830187","message":" 16:16:37.036557 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.259Z","priority":"6","pid":"2830187","message":" 16:16:37.041739 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.260Z","priority":"6","pid":"2830187","message":" 16:16:37.041773 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.260Z","priority":"6","pid":"2830187","message":" 16:16:37.041804 '229 Entering Passive Mode (|||37255|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.260Z","priority":"6","pid":"2830187","message":" 16:16:37.042638 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.261Z","priority":"6","pid":"2830187","message":" 16:16:37.042663 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.261Z","priority":"6","pid":"2830187","message":" 16:16:37.042940 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.261Z","priority":"6","pid":"2830187","message":" 16:16:37.042967 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.262Z","priority":"6","pid":"2830187","message":" 16:16:37.043062 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.262Z","priority":"6","pid":"2830187","message":" 16:16:37.043191 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.262Z","priority":"6","pid":"2830187","message":" 16:16:37.043214 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.263Z","priority":"6","pid":"2830187","message":" 16:16:37.043514 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.263Z","priority":"6","pid":"2830187","message":" 16:16:37.043541 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.263Z","priority":"6","pid":"2830187","message":" 16:16:37.043554 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.264Z","priority":"6","pid":"2830187","message":" 16:16:37.043652 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.264Z","priority":"6","pid":"2830187","message":" 16:16:37.043671 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.265Z","priority":"6","pid":"2830187","message":" 16:16:37.043858 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.488Z","priority":"6","pid":"2830187","message":" 16:16:37.043880 > 29 bytes data, seCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind256 ../src/curl -q --include --trace-ascii log/trace256 --trace-time -x http://127.0.0.1:36137 http://127.0.0.1:36137/want/256 -C - --no-include -o log/fewl256.txt -U daniel:stenberg > log/stdout256 2> log/stderr256"}

data: {"time":"2026-09-19T16:16:37.731Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind257 ../src/curl -q --output log/curl257.out  --include --trace-ascii log/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:36137 --netrc-optional --netrc-file log/netrc257 > log/stdout257 2> log/stderr257"}

data: {"time":"2026-09-19T16:16:37.736Z","priority":"6","pid":"2830187","message":"rver => client"}

data: {"time":"2026-09-19T16:16:37.736Z","priority":"6","pid":"2830187","message":" 16:16:37.044165 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.736Z","priority":"6","pid":"2830187","message":" 16:16:37.045465 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.737Z","priority":"6","pid":"2830187","message":" 16:16:37.045489 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.737Z","priority":"6","pid":"2830187","message":" 16:16:37.045579 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.737Z","priority":"6","pid":"2830187","message":" 16:16:37.085335 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:37.737Z","priority":"6","pid":"2830187","message":" 16:16:37.085449 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.738Z","priority":"6","pid":"2830187","message":" 16:16:37.085863 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.738Z","priority":"6","pid":"2830187","message":" 16:16:37.085886 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.738Z","priority":"6","pid":"2830187","message":" 16:16:37.085898 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.739Z","priority":"6","pid":"2830187","message":" 16:16:37.086722 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:37.740Z","priority":"6","pid":"2830187","message":" 16:16:37.086863 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:37.740Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_sockctrl.log"}

data: {"time":"2026-09-19T16:16:37.742Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_ipv6_sockdata.log"}

data: {"time":"2026-09-19T16:16:37.743Z","priority":"6","pid":"2830187","message":" 16:16:36.040772 Running IPv6 version"}

data: {"time":"2026-09-19T16:16:37.743Z","priority":"6","pid":"2830187","message":" 16:16:36.041109 Listening on port 37255"}

data: {"time":"2026-09-19T16:16:37.743Z","priority":"6","pid":"2830187","message":" 16:16:36.041199 Wrote pid 93915 to log/server/ftp_ipv6_sockdata.pid"}

data: {"time":"2026-09-19T16:16:37.743Z","priority":"6","pid":"2830187","message":" 16:16:36.041237 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:37.744Z","priority":"6","pid":"2830187","message":" 16:16:36.041485 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:37.744Z","priority":"6","pid":"2830187","message":" 16:16:36.042308 ====> Client connect"}

data: {"time":"2026-09-19T16:16:37.745Z","priority":"6","pid":"2830187","message":" 16:16:36.044303 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:37.745Z","priority":"6","pid":"2830187","message":" 16:16:36.044343 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:37.746Z","priority":"6","pid":"2830187","message":" 16:16:36.044357 'WE ROOLZ: 93719\\r\\n'"}

data: {"time":"2026-09-19T16:16:37.747Z","priority":"6","pid":"2830187","message":" 16:16:36.044410 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:37.747Z","priority":"6","pid":"2830187","message":" 16:16:36.044429 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:37.748Z","priority":"6","pid":"2830187","message":" 16:16:36.044809 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:37.748Z","priority":"6","pid":"2830187","message":" 16:16:36.044834 quits"}

data: {"time":"2026-09-19T16:16:37.748Z","priority":"6","pid":"2830187","message":" 16:16:36.045028 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:37.748Z","priority":"6","pid":"2830187","message":"=== End of file ftp_ipv6_sockdata.log"}

data: {"time":"2026-09-19T16:16:37.749Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:37.749Z","priority":"6","pid":"2830187","message":" Testnum 255"}

data: {"time":"2026-09-19T16:16:37.749Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:37.750Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind255"}

data: {"time":"2026-09-19T16:16:37.750Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:37.750Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:37.751Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:37.751Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.751Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:37.752Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:37.752Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:37.753Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:37.753Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:37.754Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.754Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:37.754Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:37.755Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:37.755Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:37.756Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:37.756Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:37.757Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:37.757Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.757Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:37.758Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:37.758Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.758Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:37.759Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:37.760Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:37.760Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.760Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:37.760Z","priority":"6","pid":"2830187","message":"=== End of file valgrind255"}

data: {"time":"2026-09-19T16:16:37.761Z","priority":"6","pid":"2830187","message":"test 0256 [HTTP resume request over proxy with auth without server supporting it]"}

data: {"time":"2026-09-19T16:16:37.762Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind256 ../src/curl -q --include --trace-ascii log/trace256 --trace-time -x http://127.0.0.1:36137 http://127.0.0.1:36137/want/256 -C - --no-include -o log/fewl256.txt -U daniel:stenberg > log/stdout256 2> log/stderr256"}

data: {"time":"2026-09-19T16:16:37.763Z","priority":"6","pid":"2830187","message":" 256: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:37.764Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:37.764Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:37.764Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 256"}

data: {"time":"2026-09-19T16:16:37.765Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:37.766Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind256 ../src/curl -q --include --trace-ascii log/trace256 --trace-time -x http://127.0.0.1:36137 http://127.0.0.1:36137/want/256 -C - --no-include -o log/fewl256.txt -U daniel:stenberg > log/stdout256 2> log/stderr256"}

data: {"time":"2026-09-19T16:16:37.766Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:37.767Z","priority":"6","pid":"2830187","message":"=== Start of file fewl256.txt"}

data: {"time":"2026-09-19T16:16:37.767Z","priority":"6","pid":"2830187","message":" This text is here to simulate a partly downloaded file to resume"}

data: {"time":"2026-09-19T16:16:37.768Z","priority":"6","pid":"2830187","message":" download on."}

data: {"time":"2026-09-19T16:16:37.768Z","priority":"6","pid":"2830187","message":"=== End of file fewl256.txt"}

data: {"time":"2026-09-19T16:16:37.768Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:37.769Z","priority":"6","pid":"2830187","message":" 16:16:37.375484 ====> Client connect"}

data: {"time":"2026-09-19T16:16:37.769Z","priority":"6","pid":"2830187","message":" 16:16:37.375543 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:37.769Z","priority":"6","pid":"2830187","message":" 16:16:37.375832 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:37.769Z","priority":"6","pid":"2830187","message":" 16:16:37.375867 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:37.770Z","priority":"6","pid":"2830187","message":" 16:16:37.375887 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:37.770Z","priority":"6","pid":"2830187","message":" 16:16:37.376009 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:37.771Z","priority":"6","pid":"2830187","message":" 16:16:37.376073 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:37.771Z","priority":"6","pid":"2830187","message":" 16:16:37.376100 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:37.772Z","priority":"6","pid":"2830187","message":" 16:16:37.376255 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:37.772Z","priority":"6","pid":"2830187","message":" 16:16:37.376306 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:37.772Z","priority":"6","pid":"2830187","message":" 16:16:37.376318 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:37.773Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:37.773Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:37.773Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:37.773Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43758"}

data: {"time":"2026-09-19T16:16:37.774Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:37.774Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:37.775Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:37.775Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:37.775Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:37.775Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:37.775Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:37.775Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:37.776Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:37.776Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:37.776Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:37.777Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:37.777Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:37.777Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:37.777Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:37.777Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:37.777Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:37.778Z","priority":"6","pid":"2830187","message":" Testnum 256"}

data: {"time":"2026-09-19T16:16:37.778Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:37.779Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:37.779Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:37.779Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:37.779Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:37.779Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:37.780Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind256"}

data: {"time":"2026-09-19T16:16:37.780Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:37.780Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:37.781Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:37.781Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.781Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:37.782Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:37.782Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:37.783Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:37.783Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:37.783Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.783Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:37.784Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:37.784Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:37.785Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:37.785Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:37.785Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:37.786Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:37.786Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.786Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:37.787Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:37.787Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.788Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:37.788Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:37.788Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:37.788Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:37.789Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:37.789Z","priority":"6","pid":"2830187","message":"=== End of file valgrind256"}

data: {"time":"2026-09-19T16:16:37.789Z","priority":"6","pid":"2830187","message":"test 0257 [HTTP Location: following with --netrc-optional]"}

data: {"time":"2026-09-19T16:16:37.791Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind257 ../src/curl -q --output log/curl257.out  --include --trace-ascii log/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:36137 --netrc-optional --netrc-file log/netrc257 > log/stdout257 2> log/stderr257"}

data: {"time":"2026-09-19T16:16:37.792Z","priority":"6","pid":"2830187","message":" 257: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:37.792Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:37.792Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:37.792Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 257"}

data: {"time":"2026-09-19T16:16:37.793Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:37.794Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind257 ../src/curl -q --output log/curl257.out  --include --trace-ascii log/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:36137 --netrc-optional --netrc-file log/netrc257 > log/stdout257 2> log/stderr257"}

data: {"time":"2026-09-19T16:16:37.794Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:37.795Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:37.796Z","priority":"6","pid":"2830187","message":" 16:16:37.607718 ====> Client connect"}

data: {"time":"2026-09-19T16:16:37.796Z","priority":"6","pid":"2830187","message":" 16:16:37.607763 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:37.796Z","priority":"6","pid":"2830187","message":" 16:16:37.607971 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:37.796Z","priority":"6","pid":"2830187","message":" 16:16:37.607988 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:37.796Z","priority":"6","pid":"2830187","message":" 16:16:37.608004 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:38.040Z","priority":"6","pid":"2830187","message":" 16:16:37.608014 Are-we-friendly questCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind258 ../src/curl -q --output log/curl258.out  --include --trace-ascii log/trace258 --trace-time -x http://127.0.0.1:36137 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/test258.txt -H \"Expect:\" -U uuuser:pppassword --proxy-anyauth > log/stdout258 2> log/stderr258"}

data: {"time":"2026-09-19T16:16:38.302Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind259 ../src/curl -q --output log/curl259.out  --include --trace-ascii log/trace259 --trace-time -x http://127.0.0.1:36137 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/test259.txt -U uuuser:pppassword --proxy-anyauth -H \"Expect: 100-continue\" > log/stdout259 2> log/stderr259"}

data: {"time":"2026-09-19T16:16:38.308Z","priority":"6","pid":"2830187","message":"ion received"}

data: {"time":"2026-09-19T16:16:38.309Z","priority":"6","pid":"2830187","message":" 16:16:37.608049 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:38.309Z","priority":"6","pid":"2830187","message":" 16:16:37.608069 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:38.309Z","priority":"6","pid":"2830187","message":" 16:16:37.608185 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:38.310Z","priority":"6","pid":"2830187","message":" 16:16:37.608197 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:38.311Z","priority":"6","pid":"2830187","message":" 16:16:37.608206 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:38.311Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:38.311Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:38.311Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:38.311Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43760"}

data: {"time":"2026-09-19T16:16:38.311Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:38.312Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:38.312Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:38.312Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:38.312Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:38.312Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:38.313Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:38.313Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:38.313Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:38.313Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:38.314Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:38.314Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:38.314Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:38.314Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:38.314Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:38.314Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:38.315Z","priority":"6","pid":"2830187","message":"=== Start of file netrc257"}

data: {"time":"2026-09-19T16:16:38.315Z","priority":"6","pid":"2830187","message":" machine supersite.com login user1 password passwd1"}

data: {"time":"2026-09-19T16:16:38.315Z","priority":"6","pid":"2830187","message":" machine anotherone.com login user2 password passwd2"}

data: {"time":"2026-09-19T16:16:38.315Z","priority":"6","pid":"2830187","message":"=== End of file netrc257"}

data: {"time":"2026-09-19T16:16:38.315Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:38.316Z","priority":"6","pid":"2830187","message":" Testnum 257"}

data: {"time":"2026-09-19T16:16:38.316Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:38.316Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:38.316Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:38.317Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:38.317Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:38.317Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:38.317Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind257"}

data: {"time":"2026-09-19T16:16:38.318Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:38.318Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:38.318Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:38.318Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.319Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:38.319Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:38.319Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:38.320Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:38.320Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:38.320Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.321Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:38.321Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:38.321Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:38.322Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:38.323Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:38.323Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:38.323Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:38.323Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.323Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:38.324Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:38.324Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.324Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:38.325Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:38.325Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:38.325Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.326Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:38.326Z","priority":"6","pid":"2830187","message":"=== End of file valgrind257"}

data: {"time":"2026-09-19T16:16:38.326Z","priority":"6","pid":"2830187","message":"test 0258 [HTTP multipart POST without Expect: using proxy anyauth (Digest)]"}

data: {"time":"2026-09-19T16:16:38.329Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind258 ../src/curl -q --output log/curl258.out  --include --trace-ascii log/trace258 --trace-time -x http://127.0.0.1:36137 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/test258.txt -H \"Expect:\" -U uuuser:pppassword --proxy-anyauth > log/stdout258 2> log/stderr258"}

data: {"time":"2026-09-19T16:16:38.329Z","priority":"6","pid":"2830187","message":" 258: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:38.330Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:38.330Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:38.331Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 258"}

data: {"time":"2026-09-19T16:16:38.331Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:38.332Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind258 ../src/curl -q --output log/curl258.out  --include --trace-ascii log/trace258 --trace-time -x http://127.0.0.1:36137 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/test258.txt -H \"Expect:\" -U uuuser:pppassword --proxy-anyauth > log/stdout258 2> log/stderr258"}

data: {"time":"2026-09-19T16:16:38.332Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:38.333Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:38.333Z","priority":"6","pid":"2830187","message":" 16:16:37.907579 ====> Client connect"}

data: {"time":"2026-09-19T16:16:38.333Z","priority":"6","pid":"2830187","message":" 16:16:37.907633 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:38.334Z","priority":"6","pid":"2830187","message":" 16:16:37.907772 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:38.334Z","priority":"6","pid":"2830187","message":" 16:16:37.907794 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:38.334Z","priority":"6","pid":"2830187","message":" 16:16:37.907815 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:38.335Z","priority":"6","pid":"2830187","message":" 16:16:37.907828 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:38.335Z","priority":"6","pid":"2830187","message":" 16:16:37.907908 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:38.336Z","priority":"6","pid":"2830187","message":" 16:16:37.907939 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:38.336Z","priority":"6","pid":"2830187","message":" 16:16:37.908004 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:38.336Z","priority":"6","pid":"2830187","message":" 16:16:37.908015 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:38.337Z","priority":"6","pid":"2830187","message":" 16:16:37.908024 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:38.337Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:38.338Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:38.338Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:38.338Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43774"}

data: {"time":"2026-09-19T16:16:38.339Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:38.339Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:38.339Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:38.339Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:38.339Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:38.340Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:38.340Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:38.341Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:38.341Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:38.341Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:38.341Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:38.341Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:38.341Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:38.341Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:38.341Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:38.342Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:38.342Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:38.342Z","priority":"6","pid":"2830187","message":" Testnum 258"}

data: {"time":"2026-09-19T16:16:38.342Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:38.343Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:38.343Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:38.343Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:38.343Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:38.344Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:38.344Z","priority":"6","pid":"2830187","message":"=== Start of file test258.txt"}

data: {"time":"2026-09-19T16:16:38.344Z","priority":"6","pid":"2830187","message":" foo-"}

data: {"time":"2026-09-19T16:16:38.344Z","priority":"6","pid":"2830187","message":" This is a moo-"}

data: {"time":"2026-09-19T16:16:38.345Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:16:38.345Z","priority":"6","pid":"2830187","message":"=== End of file test258.txt"}

data: {"time":"2026-09-19T16:16:38.346Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind258"}

data: {"time":"2026-09-19T16:16:38.346Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:38.346Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:38.346Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:38.346Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.347Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:38.347Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:38.348Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:38.348Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:38.348Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:38.349Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.349Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:38.349Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:38.350Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:38.350Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:38.351Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:38.351Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:38.352Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:38.352Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.352Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:38.352Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:38.352Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.353Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:38.353Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:38.353Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:38.354Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.354Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:38.355Z","priority":"6","pid":"2830187","message":"=== End of file valgrind258"}

data: {"time":"2026-09-19T16:16:38.355Z","priority":"6","pid":"2830187","message":"test 0259 [HTTP POST multipart with Expect: header using proxy anyauth (Digest)]"}

data: {"time":"2026-09-19T16:16:38.357Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind259 ../src/curl -q --output log/curl259.out  --include --trace-ascii log/trace259 --trace-time -x http://127.0.0.1:36137 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/test259.txt -U uuuser:pppassword --proxy-anyauth -H \"Expect: 100-continue\" > log/stdout259 2> log/stderr259"}

data: {"time":"2026-09-19T16:16:38.358Z","priority":"6","pid":"2830187","message":" 259: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:38.358Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:38.359Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:38.359Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 259"}

data: {"time":"2026-09-19T16:16:38.359Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:38.361Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind259 ../src/curl -q --output log/curl259.out  --include --trace-ascii log/trace259 --trace-time -x http://127.0.0.1:36137 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/test259.txt -U uuuser:pppassword --proxy-anyauth -H \"Expect: 100-continue\" > log/stdout259 2> log/stderr259"}

data: {"time":"2026-09-19T16:16:38.361Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:38.362Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:38.362Z","priority":"6","pid":"2830187","message":" 16:16:38.165565 ====> Client connect"}

data: {"time":"2026-09-19T16:16:38.548Z","priority":"6","pid":"2830187","message":" 16:16:38.1656CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind260 ../src/curl -q --output log/curl260.out  --include --trace-ascii log/trace260 --trace-time \"http://127.0.0.1:36137?260\" > log/stdout260 2> log/stderr260"}

data: {"time":"2026-09-19T16:16:38.795Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind261 ../src/curl -q --output log/curl261.out  --include --trace-ascii log/trace261 --trace-time ftp://127.0.0.1:40021/261 > log/stdout261 2> log/stderr261"}

data: {"time":"2026-09-19T16:16:38.798Z","priority":"6","pid":"2830187","message":"13 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:38.798Z","priority":"6","pid":"2830187","message":" 16:16:38.165731 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:38.798Z","priority":"6","pid":"2830187","message":" 16:16:38.165745 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:38.799Z","priority":"6","pid":"2830187","message":" 16:16:38.165758 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:38.799Z","priority":"6","pid":"2830187","message":" 16:16:38.165766 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:38.799Z","priority":"6","pid":"2830187","message":" 16:16:38.165794 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:38.800Z","priority":"6","pid":"2830187","message":" 16:16:38.165811 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:38.800Z","priority":"6","pid":"2830187","message":" 16:16:38.165856 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:38.801Z","priority":"6","pid":"2830187","message":" 16:16:38.166944 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:38.801Z","priority":"6","pid":"2830187","message":" 16:16:38.166956 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:38.801Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:38.802Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:38.802Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:38.802Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43786"}

data: {"time":"2026-09-19T16:16:38.803Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:38.803Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:38.803Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:38.804Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:38.804Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:38.804Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:38.804Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:38.805Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:38.805Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:38.805Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:38.805Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:38.806Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:38.806Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:38.807Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:38.807Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:38.808Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:38.808Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:38.808Z","priority":"6","pid":"2830187","message":" Testnum 259"}

data: {"time":"2026-09-19T16:16:38.808Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:38.808Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:38.809Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:38.809Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:38.809Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:38.810Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:38.810Z","priority":"6","pid":"2830187","message":"=== Start of file test259.txt"}

data: {"time":"2026-09-19T16:16:38.810Z","priority":"6","pid":"2830187","message":" foo-"}

data: {"time":"2026-09-19T16:16:38.811Z","priority":"6","pid":"2830187","message":" This is a moo-"}

data: {"time":"2026-09-19T16:16:38.811Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:16:38.811Z","priority":"6","pid":"2830187","message":"=== End of file test259.txt"}

data: {"time":"2026-09-19T16:16:38.812Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind259"}

data: {"time":"2026-09-19T16:16:38.812Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:38.813Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:38.813Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:38.813Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.813Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:38.813Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:38.814Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:38.814Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:38.814Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:38.814Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.815Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:38.815Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:38.816Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:38.816Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:38.816Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:38.817Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:38.817Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:38.817Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.818Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:38.818Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:38.818Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.819Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:38.819Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:38.819Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:38.820Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.820Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:38.820Z","priority":"6","pid":"2830187","message":"=== End of file valgrind259"}

data: {"time":"2026-09-19T16:16:38.820Z","priority":"6","pid":"2830187","message":"test 0260 [HTTP GET URL without slash but with question mark]"}

data: {"time":"2026-09-19T16:16:38.821Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind260 ../src/curl -q --output log/curl260.out  --include --trace-ascii log/trace260 --trace-time \"http://127.0.0.1:36137?260\" > log/stdout260 2> log/stderr260"}

data: {"time":"2026-09-19T16:16:38.821Z","priority":"6","pid":"2830187","message":" 260: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:38.822Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:38.822Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:38.822Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 260"}

data: {"time":"2026-09-19T16:16:38.823Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:38.824Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind260 ../src/curl -q --output log/curl260.out  --include --trace-ascii log/trace260 --trace-time \"http://127.0.0.1:36137?260\" > log/stdout260 2> log/stderr260"}

data: {"time":"2026-09-19T16:16:38.824Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:38.824Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:38.825Z","priority":"6","pid":"2830187","message":" 16:16:38.468044 ====> Client connect"}

data: {"time":"2026-09-19T16:16:38.825Z","priority":"6","pid":"2830187","message":" 16:16:38.468102 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:38.825Z","priority":"6","pid":"2830187","message":" 16:16:38.468252 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:38.826Z","priority":"6","pid":"2830187","message":" 16:16:38.468268 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:38.826Z","priority":"6","pid":"2830187","message":" 16:16:38.468284 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:38.826Z","priority":"6","pid":"2830187","message":" 16:16:38.468294 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:38.827Z","priority":"6","pid":"2830187","message":" 16:16:38.468329 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:38.827Z","priority":"6","pid":"2830187","message":" 16:16:38.468349 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:38.827Z","priority":"6","pid":"2830187","message":" 16:16:38.468403 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:38.828Z","priority":"6","pid":"2830187","message":" 16:16:38.468413 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:38.828Z","priority":"6","pid":"2830187","message":" 16:16:38.468422 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:38.828Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:38.829Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:38.829Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:38.829Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43802"}

data: {"time":"2026-09-19T16:16:38.829Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:38.829Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:38.830Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:38.830Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:38.830Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:38.830Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:38.831Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:38.831Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:38.831Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:38.832Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:38.832Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:38.832Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:38.832Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:38.832Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:38.832Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:38.832Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:38.832Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:38.833Z","priority":"6","pid":"2830187","message":" Testnum 260"}

data: {"time":"2026-09-19T16:16:38.833Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:38.833Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:38.833Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:38.833Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:38.834Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:38.834Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:38.834Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind260"}

data: {"time":"2026-09-19T16:16:38.834Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:38.834Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:38.835Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:38.835Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.835Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:38.835Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:38.836Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:38.836Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:38.837Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:38.837Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.837Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:38.838Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:38.838Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:38.839Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:38.839Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:38.840Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:38.840Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:38.840Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.841Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:38.841Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:38.841Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.842Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:38.842Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:38.842Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:38.842Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:38.843Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:38.843Z","priority":"6","pid":"2830187","message":"=== End of file valgrind260"}

data: {"time":"2026-09-19T16:16:38.843Z","priority":"6","pid":"2830187","message":"test 0261 [FTP RETR with 226 response code to TYPE]"}

data: {"time":"2026-09-19T16:16:38.844Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind261 ../src/curl -q --output log/curl261.out  --include --trace-ascii log/trace261 --trace-time ftp://127.0.0.1:40021/261 > log/stdout261 2> log/stderr261"}

data: {"time":"2026-09-19T16:16:38.845Z","priority":"6","pid":"2830187","message":" 261: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:38.845Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:38.845Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:38.846Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 261"}

data: {"time":"2026-09-19T16:16:38.846Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:38.847Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind261 ../src/curl -q --output log/curl261.out  --include --trace-ascii log/trace261 --trace-time ftp://127.0.0.1:40021/261 > log/stdout261 2> log/stderr261"}

data: {"time":"2026-09-19T16:16:38.848Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:38.848Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:38.848Z","priority":"6","pid":"2830187","message":" 16:16:38.590948 ====> Client connect"}

data: {"time":"2026-09-19T16:16:38.849Z","priority":"6","pid":"2830187","message":" 16:16:38.591312 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:38.849Z","priority":"6","pid":"2830187","message":" 16:16:38.591938 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:38.849Z","priority":"6","pid":"2830187","message":" 16:16:38.592203 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:38.850Z","priority":"6","pid":"2830187","message":" 16:16:38.592323 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:38.850Z","priority":"6","pid":"2830187","message":" 16:16:38.592524 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:38.850Z","priority":"6","pid":"2830187","message":" 16:16:38.592668 < \"PWD\""}

data: {"time":"2026-09-19T16:16:38.851Z","priority":"6","pid":"2830187","message":" 16:16:38.592713 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:38.851Z","priority":"6","pid":"2830187","message":" 16:16:38.592953 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:38.851Z","priority":"6","pid":"2830187","message":" 16:16:38.592993 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:39.046Z","priority":"6","pid":"2830187","message":" 16:16:38.593016 DATCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind262 ../src/curl -q --output log/curl262.out  --include --trace-ascii log/trace262 --trace-time http://127.0.0.1:36137/262 > log/stdout262 2> log/stderr262"}

data: {"time":"2026-09-19T16:16:39.057Z","priority":"6","pid":"2830187","message":"A sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:39.058Z","priority":"6","pid":"2830187","message":" 16:16:38.596142 DATA sockfilt for passive data channel started (pid 94322)"}

data: {"time":"2026-09-19T16:16:39.058Z","priority":"6","pid":"2830187","message":" 16:16:38.596424 DATA sockfilt for passive data channel listens on port 38717"}

data: {"time":"2026-09-19T16:16:39.059Z","priority":"6","pid":"2830187","message":" 16:16:38.596503 > \"229 Entering Passive Mode (|||38717|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:39.060Z","priority":"6","pid":"2830187","message":" 16:16:38.596527 Client has been notified that upcoming DATA connection is awaited on port 38717"}

data: {"time":"2026-09-19T16:16:39.060Z","priority":"6","pid":"2830187","message":" 16:16:38.597093 Client connects to port 38717"}

data: {"time":"2026-09-19T16:16:39.060Z","priority":"6","pid":"2830187","message":" 16:16:38.597161 ====> Client established passive DATA connection on port 38717"}

data: {"time":"2026-09-19T16:16:39.061Z","priority":"6","pid":"2830187","message":" 16:16:38.597307 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:39.062Z","priority":"6","pid":"2830187","message":" 16:16:38.597594 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:39.062Z","priority":"6","pid":"2830187","message":" 16:16:38.597733 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:39.062Z","priority":"6","pid":"2830187","message":" 16:16:38.597802 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:39.062Z","priority":"6","pid":"2830187","message":" 16:16:38.598075 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:39.062Z","priority":"6","pid":"2830187","message":" 16:16:38.598249 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:39.063Z","priority":"6","pid":"2830187","message":" 16:16:38.598561 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:39.063Z","priority":"6","pid":"2830187","message":" 16:16:38.598585 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:39.063Z","priority":"6","pid":"2830187","message":" 16:16:38.598721 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:39.064Z","priority":"6","pid":"2830187","message":" 16:16:38.598755 DATA sockfilt for passive data channel quits (pid 94322)"}

data: {"time":"2026-09-19T16:16:39.064Z","priority":"6","pid":"2830187","message":" 16:16:38.599203 DATA sockfilt for passive data channel quit (pid 94322)"}

data: {"time":"2026-09-19T16:16:39.065Z","priority":"6","pid":"2830187","message":" 16:16:38.599269 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:39.065Z","priority":"6","pid":"2830187","message":" 16:16:38.599324 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:39.066Z","priority":"6","pid":"2830187","message":" 16:16:38.639095 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:39.066Z","priority":"6","pid":"2830187","message":" 16:16:38.639189 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:39.066Z","priority":"6","pid":"2830187","message":" 16:16:38.640259 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:39.067Z","priority":"6","pid":"2830187","message":" 16:16:38.640470 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:39.067Z","priority":"6","pid":"2830187","message":" 16:16:38.640639 Awaiting input"}

data: {"time":"2026-09-19T16:16:39.068Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:39.068Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:39.068Z","priority":"6","pid":"2830187","message":" 16:16:38.660258 ====> Client connect"}

data: {"time":"2026-09-19T16:16:39.069Z","priority":"6","pid":"2830187","message":" 16:16:38.660972 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.069Z","priority":"6","pid":"2830187","message":" 16:16:38.661015 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.069Z","priority":"6","pid":"2830187","message":" 16:16:38.661033 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:39.070Z","priority":"6","pid":"2830187","message":" 16:16:38.661047 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.070Z","priority":"6","pid":"2830187","message":" 16:16:38.661059 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.071Z","priority":"6","pid":"2830187","message":" 16:16:38.661185 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:39.072Z","priority":"6","pid":"2830187","message":" 16:16:38.661200 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.072Z","priority":"6","pid":"2830187","message":" 16:16:38.661497 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.072Z","priority":"6","pid":"2830187","message":" 16:16:38.661516 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.072Z","priority":"6","pid":"2830187","message":" 16:16:38.661534 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.072Z","priority":"6","pid":"2830187","message":" 16:16:38.661649 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:39.073Z","priority":"6","pid":"2830187","message":" 16:16:38.661673 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.073Z","priority":"6","pid":"2830187","message":" 16:16:38.661914 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.074Z","priority":"6","pid":"2830187","message":" 16:16:38.661931 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.074Z","priority":"6","pid":"2830187","message":" 16:16:38.661952 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.074Z","priority":"6","pid":"2830187","message":" 16:16:38.662081 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:39.075Z","priority":"6","pid":"2830187","message":" 16:16:38.662096 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.075Z","priority":"6","pid":"2830187","message":" 16:16:38.662244 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.076Z","priority":"6","pid":"2830187","message":" 16:16:38.662257 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.076Z","priority":"6","pid":"2830187","message":" 16:16:38.662270 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.077Z","priority":"6","pid":"2830187","message":" 16:16:38.662354 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:39.077Z","priority":"6","pid":"2830187","message":" 16:16:38.662376 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.077Z","priority":"6","pid":"2830187","message":" 16:16:38.666075 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.078Z","priority":"6","pid":"2830187","message":" 16:16:38.666098 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.078Z","priority":"6","pid":"2830187","message":" 16:16:38.666113 '229 Entering Passive Mode (|||38717|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.079Z","priority":"6","pid":"2830187","message":" 16:16:38.666454 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:39.079Z","priority":"6","pid":"2830187","message":" 16:16:38.666489 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.079Z","priority":"6","pid":"2830187","message":" 16:16:38.666889 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.080Z","priority":"6","pid":"2830187","message":" 16:16:38.666910 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.080Z","priority":"6","pid":"2830187","message":" 16:16:38.666934 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.081Z","priority":"6","pid":"2830187","message":" 16:16:38.667041 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:39.081Z","priority":"6","pid":"2830187","message":" 16:16:38.667059 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.082Z","priority":"6","pid":"2830187","message":" 16:16:38.667368 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.082Z","priority":"6","pid":"2830187","message":" 16:16:38.667387 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.082Z","priority":"6","pid":"2830187","message":" 16:16:38.667398 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.083Z","priority":"6","pid":"2830187","message":" 16:16:38.667473 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:39.083Z","priority":"6","pid":"2830187","message":" 16:16:38.667487 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.083Z","priority":"6","pid":"2830187","message":" 16:16:38.667626 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.084Z","priority":"6","pid":"2830187","message":" 16:16:38.667639 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.084Z","priority":"6","pid":"2830187","message":" 16:16:38.667655 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.084Z","priority":"6","pid":"2830187","message":" 16:16:38.668896 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.085Z","priority":"6","pid":"2830187","message":" 16:16:38.668916 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.085Z","priority":"6","pid":"2830187","message":" 16:16:38.668929 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.085Z","priority":"6","pid":"2830187","message":" 16:16:38.708364 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:39.086Z","priority":"6","pid":"2830187","message":" 16:16:38.708441 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.086Z","priority":"6","pid":"2830187","message":" 16:16:38.708738 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.086Z","priority":"6","pid":"2830187","message":" 16:16:38.708770 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.087Z","priority":"6","pid":"2830187","message":" 16:16:38.708785 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.087Z","priority":"6","pid":"2830187","message":" 16:16:38.709657 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:39.088Z","priority":"6","pid":"2830187","message":" 16:16:38.709879 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:39.088Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:39.088Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:39.088Z","priority":"6","pid":"2830187","message":" 16:16:38.665304 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:39.088Z","priority":"6","pid":"2830187","message":" 16:16:38.665486 Listening on port 38717"}

data: {"time":"2026-09-19T16:16:39.089Z","priority":"6","pid":"2830187","message":" 16:16:38.665536 Wrote pid 94322 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:39.089Z","priority":"6","pid":"2830187","message":" 16:16:38.665590 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:39.090Z","priority":"6","pid":"2830187","message":" 16:16:38.665746 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:39.090Z","priority":"6","pid":"2830187","message":" 16:16:38.666537 ====> Client connect"}

data: {"time":"2026-09-19T16:16:39.090Z","priority":"6","pid":"2830187","message":" 16:16:38.667826 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:39.090Z","priority":"6","pid":"2830187","message":" 16:16:38.667859 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:39.091Z","priority":"6","pid":"2830187","message":" 16:16:38.667877 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:39.091Z","priority":"6","pid":"2830187","message":" 16:16:38.668132 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:39.091Z","priority":"6","pid":"2830187","message":" 16:16:38.668157 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:39.092Z","priority":"6","pid":"2830187","message":" 16:16:38.668286 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:39.092Z","priority":"6","pid":"2830187","message":" 16:16:38.668299 quits"}

data: {"time":"2026-09-19T16:16:39.092Z","priority":"6","pid":"2830187","message":" 16:16:38.668417 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:39.093Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:39.093Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:39.093Z","priority":"6","pid":"2830187","message":" REPLY TYPE 226 Kind of on the positive side"}

data: {"time":"2026-09-19T16:16:39.093Z","priority":"6","pid":"2830187","message":" Testnum 261"}

data: {"time":"2026-09-19T16:16:39.094Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:39.094Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind261"}

data: {"time":"2026-09-19T16:16:39.095Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:39.095Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:39.095Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:39.095Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.096Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:39.097Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:39.097Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:39.097Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:39.097Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:39.097Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.098Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:39.099Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:39.100Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:39.100Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:39.100Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:39.100Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:39.101Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:39.101Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.101Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:39.101Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:39.102Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.102Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:39.102Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:39.103Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:39.103Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.104Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:39.104Z","priority":"6","pid":"2830187","message":"=== End of file valgrind261"}

data: {"time":"2026-09-19T16:16:39.104Z","priority":"6","pid":"2830187","message":"test 0262 [Reject HTTP response with binary zero in header]"}

data: {"time":"2026-09-19T16:16:39.105Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind262 ../src/curl -q --output log/curl262.out  --include --trace-ascii log/trace262 --trace-time http://127.0.0.1:36137/262 > log/stdout262 2> log/stderr262"}

data: {"time":"2026-09-19T16:16:39.105Z","priority":"6","pid":"2830187","message":" 262: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:39.106Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:39.106Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:39.106Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 262"}

data: {"time":"2026-09-19T16:16:39.107Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:39.108Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind262 ../src/curl -q --output log/curl262.out  --include --trace-ascii log/trace262 --trace-time http://127.0.0.1:36137/262 > log/stdout262 2> log/stderr262"}

data: {"time":"2026-09-19T16:16:39.108Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:39.109Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:39.109Z","priority":"6","pid":"2830187","message":" 16:16:38.955320 ====> Client connect"}

data: {"time":"2026-09-19T16:16:39.109Z","priority":"6","pid":"2830187","message":" 16:16:38.955362 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:39.110Z","priority":"6","pid":"2830187","message":" 16:16:38.955477 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:39.110Z","priority":"6","pid":"2830187","message":" 16:16:38.955490 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:39.110Z","priority":"6","pid":"2830187","message":" 16:16:38.955504 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:39.111Z","priority":"6","pid":"2830187","message":" 16:16:38.955511 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:39.111Z","priority":"6","pid":"2830187","message":" 16:16:38.955539 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:39.111Z","priority":"6","pid":"2830187","message":" 16:16:38.955565 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:39.112Z","priority":"6","pid":"2830187","message":" 16:16:38.955613 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:39.112Z","priority":"6","pid":"2830187","message":" 16:16:38.955621 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:39.113Z","priority":"6","pid":"2830187","message":" 16:16:38.955628 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:39.113Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:39.113Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:39.113Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:39.114Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43804"}

data: {"time":"2026-09-19T16:16:39.114Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:39.115Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:39.115Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:39.115Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:39.115Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:39.116Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:39.116Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:39.116Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:39.117Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:39.117Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:39.117Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:39.117Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:39.117Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:39.118Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:39.325Z","priority":"6","pid":"2830187","message":" CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind263 ../src/curl -q --output log/curl263.out  --include --trace-ascii log/trace263 --trace-time -g -x \"http://[::1]:34213\" http://veryveryremotesite.com/263 > log/stdout263 2> log/stderr263"}

data: {"time":"2026-09-19T16:16:39.564Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind264 ../src/curl -q --output log/curl264.out  --include --trace-ascii log/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:36137 > log/stdout264 2> log/stderr264"}

data: {"time":"2026-09-19T16:16:39.568Z","priority":"6","pid":"2830187","message":"WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:39.568Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:39.569Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:39.569Z","priority":"6","pid":"2830187","message":" Testnum 262"}

data: {"time":"2026-09-19T16:16:39.570Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:39.570Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:39.570Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:39.570Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:39.570Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:39.570Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:39.571Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind262"}

data: {"time":"2026-09-19T16:16:39.571Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:39.571Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:39.572Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:39.572Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.572Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:39.573Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:39.574Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:39.574Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:39.574Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:39.574Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.576Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:39.577Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:39.579Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:39.580Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:39.581Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:39.581Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:39.582Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:39.582Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.583Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:39.583Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:39.584Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.584Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:39.585Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:39.586Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:39.586Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.586Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:39.586Z","priority":"6","pid":"2830187","message":"=== End of file valgrind262"}

data: {"time":"2026-09-19T16:16:39.587Z","priority":"6","pid":"2830187","message":"test 0263 [HTTP-IPv6 GET with proxy specified using IPv6-numerical address]"}

data: {"time":"2026-09-19T16:16:39.588Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind263 ../src/curl -q --output log/curl263.out  --include --trace-ascii log/trace263 --trace-time -g -x \"http://[::1]:34213\" http://veryveryremotesite.com/263 > log/stdout263 2> log/stderr263"}

data: {"time":"2026-09-19T16:16:39.589Z","priority":"6","pid":"2830187","message":" 263: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:39.589Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:39.590Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:39.590Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 263"}

data: {"time":"2026-09-19T16:16:39.590Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:39.592Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind263 ../src/curl -q --output log/curl263.out  --include --trace-ascii log/trace263 --trace-time -g -x \"http://[::1]:34213\" http://veryveryremotesite.com/263 > log/stdout263 2> log/stderr263"}

data: {"time":"2026-09-19T16:16:39.593Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:39.593Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:39.593Z","priority":"6","pid":"2830187","message":" 16:16:39.224432 ====> Client connect"}

data: {"time":"2026-09-19T16:16:39.594Z","priority":"6","pid":"2830187","message":" 16:16:39.224489 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:39.594Z","priority":"6","pid":"2830187","message":" 16:16:39.224631 Read 89 bytes"}

data: {"time":"2026-09-19T16:16:39.594Z","priority":"6","pid":"2830187","message":" 16:16:39.224646 Process 89 bytes request"}

data: {"time":"2026-09-19T16:16:39.595Z","priority":"6","pid":"2830187","message":" 16:16:39.224660 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:39.595Z","priority":"6","pid":"2830187","message":" 16:16:39.224668 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:39.596Z","priority":"6","pid":"2830187","message":" 16:16:39.224698 Wrote request (89 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:39.596Z","priority":"6","pid":"2830187","message":" 16:16:39.224716 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:39.597Z","priority":"6","pid":"2830187","message":" 16:16:39.224762 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:39.597Z","priority":"6","pid":"2830187","message":" 16:16:39.224771 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:39.598Z","priority":"6","pid":"2830187","message":" 16:16:39.224778 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:39.598Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:16:39.598Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:16:39.599Z","priority":"6","pid":"2830187","message":" *   Trying [::1]:34213..."}

data: {"time":"2026-09-19T16:16:39.599Z","priority":"6","pid":"2830187","message":" * Established connection to [::1] (::1 port 34213) from ::1 port 46812"}

data: {"time":"2026-09-19T16:16:39.599Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:39.600Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:39.600Z","priority":"6","pid":"2830187","message":" > Host: [::1]:34213"}

data: {"time":"2026-09-19T16:16:39.600Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:39.601Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:39.601Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:39.601Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:39.601Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:39.601Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:39.601Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:39.602Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:39.602Z","priority":"6","pid":"2830187","message":" * Connection #0 to host [::1]:34213 left intact"}

data: {"time":"2026-09-19T16:16:39.602Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:16:39.602Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:16:39.603Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:16:39.603Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:16:39.603Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:39.604Z","priority":"6","pid":"2830187","message":" Testnum 263"}

data: {"time":"2026-09-19T16:16:39.604Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:39.604Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:39.604Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:39.605Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:39.605Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:16:39.605Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:39.606Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind263"}

data: {"time":"2026-09-19T16:16:39.606Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:39.607Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:39.607Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:39.607Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.607Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:39.608Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:39.608Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:39.608Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:39.609Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:39.609Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.610Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:39.610Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:39.610Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:39.611Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:39.611Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:39.612Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:39.612Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:39.612Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.613Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:39.613Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:39.613Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.614Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:39.614Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:39.615Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:39.615Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.615Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:39.616Z","priority":"6","pid":"2830187","message":"=== End of file valgrind263"}

data: {"time":"2026-09-19T16:16:39.616Z","priority":"6","pid":"2830187","message":"test 0264 [HTTP with proxy string including http:// and user+password]"}

data: {"time":"2026-09-19T16:16:39.618Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind264 ../src/curl -q --output log/curl264.out  --include --trace-ascii log/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:36137 > log/stdout264 2> log/stderr264"}

data: {"time":"2026-09-19T16:16:39.619Z","priority":"6","pid":"2830187","message":" 264: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:39.619Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:39.619Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:39.619Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 264"}

data: {"time":"2026-09-19T16:16:39.619Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:39.621Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind264 ../src/curl -q --output log/curl264.out  --include --trace-ascii log/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:36137 > log/stdout264 2> log/stderr264"}

data: {"time":"2026-09-19T16:16:39.622Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:39.622Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:39.622Z","priority":"6","pid":"2830187","message":" 16:16:39.447879 ====> Client connect"}

data: {"time":"2026-09-19T16:16:39.623Z","priority":"6","pid":"2830187","message":" 16:16:39.447939 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:39.623Z","priority":"6","pid":"2830187","message":" 16:16:39.448110 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:39.623Z","priority":"6","pid":"2830187","message":" 16:16:39.448127 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:39.624Z","priority":"6","pid":"2830187","message":" 16:16:39.448145 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:39.624Z","priority":"6","pid":"2830187","message":" 16:16:39.448156 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:39.625Z","priority":"6","pid":"2830187","message":" 16:16:39.448197 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:39.625Z","priority":"6","pid":"2830187","message":" 16:16:39.448221 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:39.625Z","priority":"6","pid":"2830187","message":" 16:16:39.448285 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:39.626Z","priority":"6","pid":"2830187","message":" 16:16:39.448297 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:39.626Z","priority":"6","pid":"2830187","message":" 16:16:39.448307 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:39.626Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:39.627Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:39.627Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:39.627Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43812"}

data: {"time":"2026-09-19T16:16:39.628Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:39.628Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:39.628Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:39.628Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:39.629Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:39.629Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:39.629Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:39.629Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:39.629Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:39.630Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:39.630Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:39.630Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:39.630Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:39.631Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:39.631Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:39.631Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:39.631Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:39.631Z","priority":"6","pid":"2830187","message":" Testnum 264"}

data: {"time":"2026-09-19T16:16:39.632Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:39.632Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:39.632Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:39.633Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:39.633Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:39.633Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:39.633Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind264"}

data: {"time":"2026-09-19T16:16:39.633Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:39.634Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:39.634Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:39.634Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:39.891Z","priority":"6","pid":"2830187","message":" CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind266 ../src/curl -q --output log/curl266.out  --include --trace-ascii log/trace266 --trace-time http://127.0.0.1:36137/266 -D log/heads266 > log/stdout266 2> log/stderr266"}

data: {"time":"2026-09-19T16:16:40.165Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind268 ../src/curl -q --output log/curl268.out  --include --trace-ascii log/trace268 --trace-time http://127.0.0.1:36137/268 --variable hello@log/junk --expand-data {{hello:json}} > log/stdout268 2> log/stderr268"}

data: {"time":"2026-09-19T16:16:40.176Z","priority":"6","pid":"2830187","message":"valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:40.176Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:40.177Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:40.178Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:40.178Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:40.179Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.180Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:40.181Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:40.181Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:40.182Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:40.182Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:40.183Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:40.184Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:40.185Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.185Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:40.186Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:40.187Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.188Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:40.188Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:40.188Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:40.189Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.189Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:40.190Z","priority":"6","pid":"2830187","message":"=== End of file valgrind264"}

data: {"time":"2026-09-19T16:16:40.191Z","priority":"6","pid":"2830187","message":"test 0266 [HTTP GET with chunked Transfer-Encoding and chunked trailer]"}

data: {"time":"2026-09-19T16:16:40.193Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind266 ../src/curl -q --output log/curl266.out  --include --trace-ascii log/trace266 --trace-time http://127.0.0.1:36137/266 -D log/heads266 > log/stdout266 2> log/stderr266"}

data: {"time":"2026-09-19T16:16:40.194Z","priority":"6","pid":"2830187","message":" 266: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:40.195Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:40.196Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:40.197Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 266"}

data: {"time":"2026-09-19T16:16:40.198Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:40.201Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind266 ../src/curl -q --output log/curl266.out  --include --trace-ascii log/trace266 --trace-time http://127.0.0.1:36137/266 -D log/heads266 > log/stdout266 2> log/stderr266"}

data: {"time":"2026-09-19T16:16:40.201Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:40.202Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:40.202Z","priority":"6","pid":"2830187","message":" 16:16:39.754546 ====> Client connect"}

data: {"time":"2026-09-19T16:16:40.204Z","priority":"6","pid":"2830187","message":" 16:16:39.754595 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:40.204Z","priority":"6","pid":"2830187","message":" 16:16:39.754624 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:40.205Z","priority":"6","pid":"2830187","message":" 16:16:39.754635 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:40.206Z","priority":"6","pid":"2830187","message":" 16:16:39.754651 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:40.206Z","priority":"6","pid":"2830187","message":" 16:16:39.754660 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:40.207Z","priority":"6","pid":"2830187","message":" 16:16:39.754690 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:40.207Z","priority":"6","pid":"2830187","message":" 16:16:39.754718 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:40.209Z","priority":"6","pid":"2830187","message":" 16:16:39.754974 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:40.209Z","priority":"6","pid":"2830187","message":" 16:16:39.754988 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:40.210Z","priority":"6","pid":"2830187","message":" 16:16:39.754997 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:40.210Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:40.211Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:40.211Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:40.213Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43828"}

data: {"time":"2026-09-19T16:16:40.213Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:40.214Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:40.214Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:40.215Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:40.216Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:40.216Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:40.216Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:40.217Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:40.217Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:40.218Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:40.218Z","priority":"6","pid":"2830187","message":" { [1 bytes data]"}

data: {"time":"2026-09-19T16:16:40.219Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:40.219Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:40.219Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:40.219Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:40.219Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:40.220Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:40.220Z","priority":"6","pid":"2830187","message":" writedelay: 10"}

data: {"time":"2026-09-19T16:16:40.220Z","priority":"6","pid":"2830187","message":" Testnum 266"}

data: {"time":"2026-09-19T16:16:40.221Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:40.221Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:40.221Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:40.221Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:40.222Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:40.222Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:40.222Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind266"}

data: {"time":"2026-09-19T16:16:40.223Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:40.223Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:40.225Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:40.231Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:40.232Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:40.232Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:40.232Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:40.232Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.234Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:40.234Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:40.234Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.234Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:40.234Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:40.234Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:40.234Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.236Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:40.236Z","priority":"6","pid":"2830187","message":"=== End of file valgrind266"}

data: {"time":"2026-09-19T16:16:40.236Z","priority":"6","pid":"2830187","message":"test 0268 [JSON encoding of Unicode string]"}

data: {"time":"2026-09-19T16:16:40.237Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind268 ../src/curl -q --output log/curl268.out  --include --trace-ascii log/trace268 --trace-time http://127.0.0.1:36137/268 --variable hello@log/junk --expand-data {{hello:json}} > log/stdout268 2> log/stderr268"}

data: {"time":"2026-09-19T16:16:40.238Z","priority":"6","pid":"2830187","message":" 268: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:40.239Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:40.240Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:40.240Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 268"}

data: {"time":"2026-09-19T16:16:40.241Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:40.243Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind268 ../src/curl -q --output log/curl268.out  --include --trace-ascii log/trace268 --trace-time http://127.0.0.1:36137/268 --variable hello@log/junk --expand-data {{hello:json}} > log/stdout268 2> log/stderr268"}

data: {"time":"2026-09-19T16:16:40.243Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:40.244Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:40.244Z","priority":"6","pid":"2830187","message":" 16:16:40.040340 ====> Client connect"}

data: {"time":"2026-09-19T16:16:40.244Z","priority":"6","pid":"2830187","message":" 16:16:40.040407 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:40.245Z","priority":"6","pid":"2830187","message":" 16:16:40.040660 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:40.245Z","priority":"6","pid":"2830187","message":" 16:16:40.040686 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:40.246Z","priority":"6","pid":"2830187","message":" 16:16:40.040703 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:40.246Z","priority":"6","pid":"2830187","message":" 16:16:40.040714 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:40.247Z","priority":"6","pid":"2830187","message":" 16:16:40.040763 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:40.247Z","priority":"6","pid":"2830187","message":" 16:16:40.040829 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:40.248Z","priority":"6","pid":"2830187","message":" 16:16:40.040944 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:40.248Z","priority":"6","pid":"2830187","message":" 16:16:40.040958 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:40.249Z","priority":"6","pid":"2830187","message":" 16:16:40.040968 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:40.249Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:40.249Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:40.249Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:40.250Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43836"}

data: {"time":"2026-09-19T16:16:40.251Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:40.251Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:40.252Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:40.253Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:40.253Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:40.253Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:40.253Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:40.253Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:40.253Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:40.253Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:40.254Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:40.254Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:40.254Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:40.254Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:40.255Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:40.255Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:40.255Z","priority":"6","pid":"2830187","message":"=== Start of file junk"}

data: {"time":"2026-09-19T16:16:40.255Z","priority":"6","pid":"2830187","message":" “"}

data: {"time":"2026-09-19T16:16:40.256Z","priority":"6","pid":"2830187","message":"=== End of file junk"}

data: {"time":"2026-09-19T16:16:40.257Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:40.257Z","priority":"6","pid":"2830187","message":" Testnum 268"}

data: {"time":"2026-09-19T16:16:40.257Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:40.258Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:40.259Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:40.259Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:40.259Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:40.259Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:40.260Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind268"}

data: {"time":"2026-09-19T16:16:40.260Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:40.260Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:40.261Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:40.263Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.264Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:40.264Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:40.267Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:40.267Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:40.269Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:40.269Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.269Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:40.270Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:40.500Z","priority":"6","pid":"2830187","message":" valgrind:  fCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind269 ../src/curl -q --output log/curl269.out  --include --trace-ascii log/trace269 --trace-time http://127.0.0.1:36137/269 --ignore-content-length > log/stdout269 2> log/stderr269"}

data: {"time":"2026-09-19T16:16:40.798Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind270 ../src/curl -q --output log/curl270.out  --include --trace-ascii log/trace270 --trace-time ftp://127.0.0.1:40021/270 --ftp-skip-pasv-ip --disable-epsv > log/stdout270 2> log/stderr270"}

data: {"time":"2026-09-19T16:16:40.820Z","priority":"6","pid":"2830187","message":"or your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:40.820Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:40.821Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:40.821Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:40.822Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:40.822Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.822Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:40.823Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:40.823Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.824Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:40.824Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:40.824Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:40.825Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.825Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:40.825Z","priority":"6","pid":"2830187","message":"=== End of file valgrind268"}

data: {"time":"2026-09-19T16:16:40.826Z","priority":"6","pid":"2830187","message":"test 0269 [HTTP --ignore-content-length]"}

data: {"time":"2026-09-19T16:16:40.827Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind269 ../src/curl -q --output log/curl269.out  --include --trace-ascii log/trace269 --trace-time http://127.0.0.1:36137/269 --ignore-content-length > log/stdout269 2> log/stderr269"}

data: {"time":"2026-09-19T16:16:40.828Z","priority":"6","pid":"2830187","message":" 269: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:40.828Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:40.829Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:40.829Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 269"}

data: {"time":"2026-09-19T16:16:40.829Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:40.831Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind269 ../src/curl -q --output log/curl269.out  --include --trace-ascii log/trace269 --trace-time http://127.0.0.1:36137/269 --ignore-content-length > log/stdout269 2> log/stderr269"}

data: {"time":"2026-09-19T16:16:40.832Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:40.832Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:40.832Z","priority":"6","pid":"2830187","message":" 16:16:40.383060 ====> Client connect"}

data: {"time":"2026-09-19T16:16:40.833Z","priority":"6","pid":"2830187","message":" 16:16:40.383103 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:40.833Z","priority":"6","pid":"2830187","message":" 16:16:40.383318 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:40.834Z","priority":"6","pid":"2830187","message":" 16:16:40.383342 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:40.834Z","priority":"6","pid":"2830187","message":" 16:16:40.383361 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:40.834Z","priority":"6","pid":"2830187","message":" 16:16:40.383374 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:40.835Z","priority":"6","pid":"2830187","message":" 16:16:40.383424 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:40.836Z","priority":"6","pid":"2830187","message":" 16:16:40.383446 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:40.836Z","priority":"6","pid":"2830187","message":" 16:16:40.383532 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:40.836Z","priority":"6","pid":"2830187","message":" 16:16:40.383543 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:40.836Z","priority":"6","pid":"2830187","message":" 16:16:40.383552 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:40.836Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:40.837Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:40.837Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:40.838Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43848"}

data: {"time":"2026-09-19T16:16:40.838Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:40.838Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:40.839Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:40.839Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:40.839Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:40.839Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:40.840Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:40.840Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:40.840Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:40.840Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:40.840Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:40.841Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:40.841Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:40.841Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:40.842Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:40.842Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:40.842Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:40.843Z","priority":"6","pid":"2830187","message":" Testnum 269"}

data: {"time":"2026-09-19T16:16:40.843Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:40.843Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:40.844Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:40.844Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:40.844Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:40.844Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:40.844Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind269"}

data: {"time":"2026-09-19T16:16:40.844Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:40.845Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:40.845Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:40.846Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.846Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:40.846Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:40.847Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:40.847Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:40.847Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:40.848Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.848Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:40.849Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:40.849Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:40.849Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:40.850Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:40.850Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:40.851Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:40.851Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.851Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:40.852Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:40.852Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.852Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:40.853Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:40.853Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:40.853Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:40.853Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:40.854Z","priority":"6","pid":"2830187","message":"=== End of file valgrind269"}

data: {"time":"2026-09-19T16:16:40.854Z","priority":"6","pid":"2830187","message":"test 0270 [FTP RETR PASV --ftp-skip-pasv-ip]"}

data: {"time":"2026-09-19T16:16:40.856Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind270 ../src/curl -q --output log/curl270.out  --include --trace-ascii log/trace270 --trace-time ftp://127.0.0.1:40021/270 --ftp-skip-pasv-ip --disable-epsv > log/stdout270 2> log/stderr270"}

data: {"time":"2026-09-19T16:16:40.857Z","priority":"6","pid":"2830187","message":" 270: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:40.857Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:40.857Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:40.858Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 270"}

data: {"time":"2026-09-19T16:16:40.858Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:40.860Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind270 ../src/curl -q --output log/curl270.out  --include --trace-ascii log/trace270 --trace-time ftp://127.0.0.1:40021/270 --ftp-skip-pasv-ip --disable-epsv > log/stdout270 2> log/stderr270"}

data: {"time":"2026-09-19T16:16:40.861Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:40.861Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:40.861Z","priority":"6","pid":"2830187","message":" 16:16:40.561136 ====> Client connect"}

data: {"time":"2026-09-19T16:16:40.862Z","priority":"6","pid":"2830187","message":" 16:16:40.561882 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.863Z","priority":"6","pid":"2830187","message":" 16:16:40.562125 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:40.863Z","priority":"6","pid":"2830187","message":" 16:16:40.562418 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.863Z","priority":"6","pid":"2830187","message":" 16:16:40.562745 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:40.863Z","priority":"6","pid":"2830187","message":" 16:16:40.562802 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.863Z","priority":"6","pid":"2830187","message":" 16:16:40.563129 < \"PWD\""}

data: {"time":"2026-09-19T16:16:40.864Z","priority":"6","pid":"2830187","message":" 16:16:40.563195 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.864Z","priority":"6","pid":"2830187","message":" 16:16:40.563573 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:40.865Z","priority":"6","pid":"2830187","message":" 16:16:40.563620 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:40.865Z","priority":"6","pid":"2830187","message":" 16:16:40.563651 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:40.866Z","priority":"6","pid":"2830187","message":" 16:16:40.567627 DATA sockfilt for passive data channel started (pid 94776)"}

data: {"time":"2026-09-19T16:16:40.866Z","priority":"6","pid":"2830187","message":" 16:16:40.567916 DATA sockfilt for passive data channel listens on port 43313"}

data: {"time":"2026-09-19T16:16:40.867Z","priority":"6","pid":"2830187","message":" 16:16:40.568019 > \"229 Entering Passive Mode (|||43313|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.867Z","priority":"6","pid":"2830187","message":" 16:16:40.568050 Client has been notified that upcoming DATA connection is awaited on port 43313"}

data: {"time":"2026-09-19T16:16:40.868Z","priority":"6","pid":"2830187","message":" 16:16:40.568589 Client connects to port 43313"}

data: {"time":"2026-09-19T16:16:40.868Z","priority":"6","pid":"2830187","message":" 16:16:40.568663 ====> Client established passive DATA connection on port 43313"}

data: {"time":"2026-09-19T16:16:40.868Z","priority":"6","pid":"2830187","message":" 16:16:40.569050 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:40.869Z","priority":"6","pid":"2830187","message":" 16:16:40.569118 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.869Z","priority":"6","pid":"2830187","message":" 16:16:40.569539 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:40.870Z","priority":"6","pid":"2830187","message":" 16:16:40.569618 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.870Z","priority":"6","pid":"2830187","message":" 16:16:40.569963 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:40.871Z","priority":"6","pid":"2830187","message":" 16:16:40.570046 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.871Z","priority":"6","pid":"2830187","message":" 16:16:40.570378 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:40.872Z","priority":"6","pid":"2830187","message":" 16:16:40.570410 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:40.872Z","priority":"6","pid":"2830187","message":" 16:16:40.570710 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:40.872Z","priority":"6","pid":"2830187","message":" 16:16:40.570757 DATA sockfilt for passive data channel quits (pid 94776)"}

data: {"time":"2026-09-19T16:16:40.873Z","priority":"6","pid":"2830187","message":" 16:16:40.571229 DATA sockfilt for passive data channel quit (pid 94776)"}

data: {"time":"2026-09-19T16:16:40.874Z","priority":"6","pid":"2830187","message":" 16:16:40.571269 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:40.874Z","priority":"6","pid":"2830187","message":" 16:16:40.571313 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.874Z","priority":"6","pid":"2830187","message":" 16:16:40.610957 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:40.875Z","priority":"6","pid":"2830187","message":" 16:16:40.611058 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:40.875Z","priority":"6","pid":"2830187","message":" 16:16:40.611487 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:40.875Z","priority":"6","pid":"2830187","message":" 16:16:40.611553 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:40.875Z","priority":"6","pid":"2830187","message":" 16:16:40.611693 Awaiting input"}

data: {"time":"2026-09-19T16:16:40.876Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:40.876Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:40.876Z","priority":"6","pid":"2830187","message":" 16:16:40.630327 ====> Client connect"}

data: {"time":"2026-09-19T16:16:40.877Z","priority":"6","pid":"2830187","message":" 16:16:40.631004 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:40.877Z","priority":"6","pid":"2830187","message":" 16:16:40.631051 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:40.878Z","priority":"6","pid":"2830187","message":" 16:16:40.631080 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:40.878Z","priority":"6","pid":"2830187","message":" 16:16:40.631096 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:40.879Z","priority":"6","pid":"2830187","message":" 16:16:40.631107 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:40.879Z","priority":"6","pid":"2830187","message":" 16:16:40.631228 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:40.880Z","priority":"6","pid":"2830187","message":" 16:16:40.631242 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:40.880Z","priority":"6","pid":"2830187","message":" 16:16:40.631614 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.070Z","priority":"6","pid":"2830187","message":" 16:16:40.631645 > 33 bytes dCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind271 ../src/curl -q --output log/curl271.out  --include --trace-ascii log/trace271 --trace-time tftp://127.0.0.1:35071//271 > log/stdout271 2> log/stderr271"}

data: {"time":"2026-09-19T16:16:42.342Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind272 ../src/curl -q --output log/curl272.out  --include --trace-ascii log/trace272 --trace-time ftp://127.0.0.1:40021/272 -z \"2004 jan 1 12:12:12 UTC\" > log/stdout272 2> log/stderr272"}

data: {"time":"2026-09-19T16:16:42.347Z","priority":"6","pid":"2830187","message":"ata, server => client"}

data: {"time":"2026-09-19T16:16:42.348Z","priority":"6","pid":"2830187","message":" 16:16:40.631675 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.348Z","priority":"6","pid":"2830187","message":" 16:16:40.632036 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.348Z","priority":"6","pid":"2830187","message":" 16:16:40.632067 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.349Z","priority":"6","pid":"2830187","message":" 16:16:40.632247 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.350Z","priority":"6","pid":"2830187","message":" 16:16:40.632267 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.350Z","priority":"6","pid":"2830187","message":" 16:16:40.632283 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.350Z","priority":"6","pid":"2830187","message":" 16:16:40.632393 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.350Z","priority":"6","pid":"2830187","message":" 16:16:40.632411 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.351Z","priority":"6","pid":"2830187","message":" 16:16:40.632645 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.351Z","priority":"6","pid":"2830187","message":" 16:16:40.632687 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.351Z","priority":"6","pid":"2830187","message":" 16:16:40.632701 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.352Z","priority":"6","pid":"2830187","message":" 16:16:40.632849 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.353Z","priority":"6","pid":"2830187","message":" 16:16:40.632872 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.353Z","priority":"6","pid":"2830187","message":" 16:16:40.637518 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.353Z","priority":"6","pid":"2830187","message":" 16:16:40.637549 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.353Z","priority":"6","pid":"2830187","message":" 16:16:40.637569 '229 Entering Passive Mode (|||43313|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.354Z","priority":"6","pid":"2830187","message":" 16:16:40.638254 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.354Z","priority":"6","pid":"2830187","message":" 16:16:40.638286 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.354Z","priority":"6","pid":"2830187","message":" 16:16:40.638575 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.355Z","priority":"6","pid":"2830187","message":" 16:16:40.638597 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.355Z","priority":"6","pid":"2830187","message":" 16:16:40.638612 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.356Z","priority":"6","pid":"2830187","message":" 16:16:40.638767 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.356Z","priority":"6","pid":"2830187","message":" 16:16:40.638794 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.356Z","priority":"6","pid":"2830187","message":" 16:16:40.639080 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.357Z","priority":"6","pid":"2830187","message":" 16:16:40.639101 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.357Z","priority":"6","pid":"2830187","message":" 16:16:40.639116 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.357Z","priority":"6","pid":"2830187","message":" 16:16:40.639220 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.358Z","priority":"6","pid":"2830187","message":" 16:16:40.639241 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.358Z","priority":"6","pid":"2830187","message":" 16:16:40.639563 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.359Z","priority":"6","pid":"2830187","message":" 16:16:40.639580 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.359Z","priority":"6","pid":"2830187","message":" 16:16:40.639602 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.359Z","priority":"6","pid":"2830187","message":" 16:16:40.640800 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.360Z","priority":"6","pid":"2830187","message":" 16:16:40.640831 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.360Z","priority":"6","pid":"2830187","message":" 16:16:40.640844 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.361Z","priority":"6","pid":"2830187","message":" 16:16:40.680206 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.361Z","priority":"6","pid":"2830187","message":" 16:16:40.680265 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.361Z","priority":"6","pid":"2830187","message":" 16:16:40.680516 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.361Z","priority":"6","pid":"2830187","message":" 16:16:40.680536 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.362Z","priority":"6","pid":"2830187","message":" 16:16:40.680548 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.362Z","priority":"6","pid":"2830187","message":" 16:16:40.680822 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:42.362Z","priority":"6","pid":"2830187","message":" 16:16:40.681729 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:42.363Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:42.363Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:42.364Z","priority":"6","pid":"2830187","message":" 16:16:40.636635 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:42.364Z","priority":"6","pid":"2830187","message":" 16:16:40.636860 Listening on port 43313"}

data: {"time":"2026-09-19T16:16:42.364Z","priority":"6","pid":"2830187","message":" 16:16:40.636925 Wrote pid 94776 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:42.365Z","priority":"6","pid":"2830187","message":" 16:16:40.636969 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:42.365Z","priority":"6","pid":"2830187","message":" 16:16:40.637152 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:42.366Z","priority":"6","pid":"2830187","message":" 16:16:40.637924 ====> Client connect"}

data: {"time":"2026-09-19T16:16:42.366Z","priority":"6","pid":"2830187","message":" 16:16:40.639518 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.366Z","priority":"6","pid":"2830187","message":" 16:16:40.639544 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.367Z","priority":"6","pid":"2830187","message":" 16:16:40.639916 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.367Z","priority":"6","pid":"2830187","message":" 16:16:40.639969 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:42.367Z","priority":"6","pid":"2830187","message":" 16:16:40.639983 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:42.368Z","priority":"6","pid":"2830187","message":" 16:16:40.640200 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:42.368Z","priority":"6","pid":"2830187","message":" 16:16:40.640223 quits"}

data: {"time":"2026-09-19T16:16:42.368Z","priority":"6","pid":"2830187","message":" 16:16:40.640349 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:42.369Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:42.369Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:42.370Z","priority":"6","pid":"2830187","message":" PASVBADIP"}

data: {"time":"2026-09-19T16:16:42.370Z","priority":"6","pid":"2830187","message":" Testnum 270"}

data: {"time":"2026-09-19T16:16:42.370Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:42.370Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind270"}

data: {"time":"2026-09-19T16:16:42.370Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:42.371Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:42.371Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:42.371Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.372Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:42.373Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:42.373Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:42.373Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:42.373Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:42.374Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.374Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:42.375Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:42.375Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:42.376Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:42.376Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:42.376Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:42.377Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:42.377Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.377Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:42.378Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:42.378Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.378Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:42.379Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:42.379Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:42.379Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.380Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:42.380Z","priority":"6","pid":"2830187","message":"=== End of file valgrind270"}

data: {"time":"2026-09-19T16:16:42.381Z","priority":"6","pid":"2830187","message":"startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/tftpserver.pl --pidfile \"log/server/tftp_server.pid\" --portfile \"log/server/tftp_server.port\" --logfile \"log/tftp_server.log\" --logdir \"log\" --ipv4 --port 0 --srcdir \"/build/curl/src/curl/tests\""}

data: {"time":"2026-09-19T16:16:42.382Z","priority":"6","pid":"2830187","message":"RUN: TFTP server on PID 94826 port 35071"}

data: {"time":"2026-09-19T16:16:42.382Z","priority":"6","pid":"2830187","message":"* pid tftp => 94826 94826"}

data: {"time":"2026-09-19T16:16:42.383Z","priority":"6","pid":"2830187","message":"test 0271 [TFTP retrieve]"}

data: {"time":"2026-09-19T16:16:42.384Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind271 ../src/curl -q --output log/curl271.out  --include --trace-ascii log/trace271 --trace-time tftp://127.0.0.1:35071//271 > log/stdout271 2> log/stderr271"}

data: {"time":"2026-09-19T16:16:42.384Z","priority":"6","pid":"2830187","message":" 271: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:42.385Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:42.386Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:42.386Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 271"}

data: {"time":"2026-09-19T16:16:42.386Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:42.387Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind271 ../src/curl -q --output log/curl271.out  --include --trace-ascii log/trace271 --trace-time tftp://127.0.0.1:35071//271 > log/stdout271 2> log/stderr271"}

data: {"time":"2026-09-19T16:16:42.387Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:42.388Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:42.388Z","priority":"6","pid":"2830187","message":" Testnum 271"}

data: {"time":"2026-09-19T16:16:42.388Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:42.389Z","priority":"6","pid":"2830187","message":"=== Start of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:42.389Z","priority":"6","pid":"2830187","message":" 16:16:40.998908 Wrote pid 94826 to log/server/tftp_server.pid"}

data: {"time":"2026-09-19T16:16:42.389Z","priority":"6","pid":"2830187","message":" 16:16:40.999018 Wrote port 35071 to log/server/tftp_server.port"}

data: {"time":"2026-09-19T16:16:42.390Z","priority":"6","pid":"2830187","message":" 16:16:40.999036 Running IPv4 version on port UDP/35071"}

data: {"time":"2026-09-19T16:16:42.390Z","priority":"6","pid":"2830187","message":"=== End of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:42.391Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind271"}

data: {"time":"2026-09-19T16:16:42.391Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:42.391Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:42.391Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:42.391Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.392Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:42.392Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:42.393Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:42.393Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:42.393Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:42.394Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.394Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:42.396Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:42.396Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:42.396Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:42.397Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:42.397Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:42.397Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:42.397Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.398Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:42.399Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:42.399Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.399Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:42.400Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:42.400Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:42.401Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.401Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:42.401Z","priority":"6","pid":"2830187","message":"=== End of file valgrind271"}

data: {"time":"2026-09-19T16:16:42.402Z","priority":"6","pid":"2830187","message":"test 0272 [FTP timed conditioned get file with identical time stamp]"}

data: {"time":"2026-09-19T16:16:42.403Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind272 ../src/curl -q --output log/curl272.out  --include --trace-ascii log/trace272 --trace-time ftp://127.0.0.1:40021/272 -z \"2004 jan 1 12:12:12 UTC\" > log/stdout272 2> log/stderr272"}

data: {"time":"2026-09-19T16:16:42.404Z","priority":"6","pid":"2830187","message":" 272: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:42.404Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:42.404Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:42.405Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 272"}

data: {"time":"2026-09-19T16:16:42.405Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:42.407Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind272 ../src/curl -q --output log/curl272.out  --include --trace-ascii log/trace272 --trace-time ftp://127.0.0.1:40021/272 -z \"2004 jan 1 12:12:12 UTC\" > log/stdout272 2> log/stderr272"}

data: {"time":"2026-09-19T16:16:42.407Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:42.635Z","priority":"6","pid":"2830187","message":"===CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind273 ../src/curl -q --output log/curl273.out  --include --trace-ascii log/trace273 --trace-time http://127.0.0.1:36137/273 -u testuser:testpass --digest > log/stdout273 2> log/stderr273"}

data: {"time":"2026-09-19T16:16:42.640Z","priority":"6","pid":"2830187","message":" Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:42.640Z","priority":"6","pid":"2830187","message":" 16:16:42.113567 ====> Client connect"}

data: {"time":"2026-09-19T16:16:42.641Z","priority":"6","pid":"2830187","message":" 16:16:42.114188 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.641Z","priority":"6","pid":"2830187","message":" 16:16:42.114415 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:42.641Z","priority":"6","pid":"2830187","message":" 16:16:42.114618 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.642Z","priority":"6","pid":"2830187","message":" 16:16:42.114788 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:42.642Z","priority":"6","pid":"2830187","message":" 16:16:42.114863 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.643Z","priority":"6","pid":"2830187","message":" 16:16:42.115073 < \"PWD\""}

data: {"time":"2026-09-19T16:16:42.643Z","priority":"6","pid":"2830187","message":" 16:16:42.115138 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.643Z","priority":"6","pid":"2830187","message":" 16:16:42.115462 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:42.643Z","priority":"6","pid":"2830187","message":" 16:16:42.115501 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:42.644Z","priority":"6","pid":"2830187","message":" 16:16:42.115521 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:42.644Z","priority":"6","pid":"2830187","message":" 16:16:42.119018 DATA sockfilt for passive data channel started (pid 94891)"}

data: {"time":"2026-09-19T16:16:42.645Z","priority":"6","pid":"2830187","message":" 16:16:42.119269 DATA sockfilt for passive data channel listens on port 38567"}

data: {"time":"2026-09-19T16:16:42.645Z","priority":"6","pid":"2830187","message":" 16:16:42.119929 > \"229 Entering Passive Mode (|||38567|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.646Z","priority":"6","pid":"2830187","message":" 16:16:42.119976 Client has been notified that upcoming DATA connection is awaited on port 38567"}

data: {"time":"2026-09-19T16:16:42.646Z","priority":"6","pid":"2830187","message":" 16:16:42.120019 Client connects to port 38567"}

data: {"time":"2026-09-19T16:16:42.646Z","priority":"6","pid":"2830187","message":" 16:16:42.120062 ====> Client established passive DATA connection on port 38567"}

data: {"time":"2026-09-19T16:16:42.647Z","priority":"6","pid":"2830187","message":" 16:16:42.120227 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:42.647Z","priority":"6","pid":"2830187","message":" 16:16:42.120580 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.647Z","priority":"6","pid":"2830187","message":" 16:16:42.120898 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:42.648Z","priority":"6","pid":"2830187","message":" 16:16:42.121158 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.648Z","priority":"6","pid":"2830187","message":" 16:16:42.121255 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:42.649Z","priority":"6","pid":"2830187","message":" 16:16:42.121448 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.649Z","priority":"6","pid":"2830187","message":" 16:16:42.121814 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:42.649Z","priority":"6","pid":"2830187","message":" 16:16:42.121853 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:42.650Z","priority":"6","pid":"2830187","message":" 16:16:42.121978 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:42.650Z","priority":"6","pid":"2830187","message":" 16:16:42.122011 DATA sockfilt for passive data channel quits (pid 94891)"}

data: {"time":"2026-09-19T16:16:42.651Z","priority":"6","pid":"2830187","message":" 16:16:42.122450 DATA sockfilt for passive data channel quit (pid 94891)"}

data: {"time":"2026-09-19T16:16:42.651Z","priority":"6","pid":"2830187","message":" 16:16:42.122507 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:42.651Z","priority":"6","pid":"2830187","message":" 16:16:42.122550 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.652Z","priority":"6","pid":"2830187","message":" 16:16:42.163074 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:42.652Z","priority":"6","pid":"2830187","message":" 16:16:42.163152 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:42.652Z","priority":"6","pid":"2830187","message":" 16:16:42.164150 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:42.652Z","priority":"6","pid":"2830187","message":" 16:16:42.164306 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:42.653Z","priority":"6","pid":"2830187","message":" 16:16:42.164460 Awaiting input"}

data: {"time":"2026-09-19T16:16:42.653Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:42.653Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:42.654Z","priority":"6","pid":"2830187","message":" 16:16:42.182745 ====> Client connect"}

data: {"time":"2026-09-19T16:16:42.654Z","priority":"6","pid":"2830187","message":" 16:16:42.183177 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.654Z","priority":"6","pid":"2830187","message":" 16:16:42.183203 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.655Z","priority":"6","pid":"2830187","message":" 16:16:42.183299 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:42.655Z","priority":"6","pid":"2830187","message":" 16:16:42.183319 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.656Z","priority":"6","pid":"2830187","message":" 16:16:42.183331 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.657Z","priority":"6","pid":"2830187","message":" 16:16:42.183456 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.657Z","priority":"6","pid":"2830187","message":" 16:16:42.183479 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.657Z","priority":"6","pid":"2830187","message":" 16:16:42.183815 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.657Z","priority":"6","pid":"2830187","message":" 16:16:42.183837 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.657Z","priority":"6","pid":"2830187","message":" 16:16:42.183860 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.658Z","priority":"6","pid":"2830187","message":" 16:16:42.184010 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.658Z","priority":"6","pid":"2830187","message":" 16:16:42.184026 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.659Z","priority":"6","pid":"2830187","message":" 16:16:42.184162 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.659Z","priority":"6","pid":"2830187","message":" 16:16:42.184178 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.659Z","priority":"6","pid":"2830187","message":" 16:16:42.184229 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.660Z","priority":"6","pid":"2830187","message":" 16:16:42.184301 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.660Z","priority":"6","pid":"2830187","message":" 16:16:42.184314 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.660Z","priority":"6","pid":"2830187","message":" 16:16:42.184517 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.661Z","priority":"6","pid":"2830187","message":" 16:16:42.184537 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.661Z","priority":"6","pid":"2830187","message":" 16:16:42.184551 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.661Z","priority":"6","pid":"2830187","message":" 16:16:42.184644 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.662Z","priority":"6","pid":"2830187","message":" 16:16:42.184658 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.662Z","priority":"6","pid":"2830187","message":" 16:16:42.188711 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.662Z","priority":"6","pid":"2830187","message":" 16:16:42.188736 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.663Z","priority":"6","pid":"2830187","message":" 16:16:42.188768 '229 Entering Passive Mode (|||38567|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.663Z","priority":"6","pid":"2830187","message":" 16:16:42.189084 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.664Z","priority":"6","pid":"2830187","message":" 16:16:42.189119 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.664Z","priority":"6","pid":"2830187","message":" 16:16:42.189637 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.665Z","priority":"6","pid":"2830187","message":" 16:16:42.189664 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.665Z","priority":"6","pid":"2830187","message":" 16:16:42.189727 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.665Z","priority":"6","pid":"2830187","message":" 16:16:42.189842 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.665Z","priority":"6","pid":"2830187","message":" 16:16:42.189860 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.666Z","priority":"6","pid":"2830187","message":" 16:16:42.190304 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.666Z","priority":"6","pid":"2830187","message":" 16:16:42.190324 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.666Z","priority":"6","pid":"2830187","message":" 16:16:42.190352 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.667Z","priority":"6","pid":"2830187","message":" 16:16:42.190452 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.667Z","priority":"6","pid":"2830187","message":" 16:16:42.190468 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.667Z","priority":"6","pid":"2830187","message":" 16:16:42.190642 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.668Z","priority":"6","pid":"2830187","message":" 16:16:42.190656 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.668Z","priority":"6","pid":"2830187","message":" 16:16:42.190691 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.669Z","priority":"6","pid":"2830187","message":" 16:16:42.191922 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.669Z","priority":"6","pid":"2830187","message":" 16:16:42.191940 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.670Z","priority":"6","pid":"2830187","message":" 16:16:42.191954 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.670Z","priority":"6","pid":"2830187","message":" 16:16:42.232225 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:42.670Z","priority":"6","pid":"2830187","message":" 16:16:42.232293 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.671Z","priority":"6","pid":"2830187","message":" 16:16:42.232521 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.671Z","priority":"6","pid":"2830187","message":" 16:16:42.232535 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.671Z","priority":"6","pid":"2830187","message":" 16:16:42.232547 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.672Z","priority":"6","pid":"2830187","message":" 16:16:42.232730 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:42.672Z","priority":"6","pid":"2830187","message":" 16:16:42.233838 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:42.673Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:42.673Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:42.674Z","priority":"6","pid":"2830187","message":" 16:16:42.187997 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:42.674Z","priority":"6","pid":"2830187","message":" 16:16:42.188174 Listening on port 38567"}

data: {"time":"2026-09-19T16:16:42.674Z","priority":"6","pid":"2830187","message":" 16:16:42.188242 Wrote pid 94891 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:42.674Z","priority":"6","pid":"2830187","message":" 16:16:42.188288 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:42.675Z","priority":"6","pid":"2830187","message":" 16:16:42.188475 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:42.675Z","priority":"6","pid":"2830187","message":" 16:16:42.189196 ====> Client connect"}

data: {"time":"2026-09-19T16:16:42.676Z","priority":"6","pid":"2830187","message":" 16:16:42.190844 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:42.676Z","priority":"6","pid":"2830187","message":" 16:16:42.190870 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:42.676Z","priority":"6","pid":"2830187","message":" 16:16:42.190891 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:42.677Z","priority":"6","pid":"2830187","message":" 16:16:42.191230 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:42.677Z","priority":"6","pid":"2830187","message":" 16:16:42.191252 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:42.678Z","priority":"6","pid":"2830187","message":" 16:16:42.191378 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:42.678Z","priority":"6","pid":"2830187","message":" 16:16:42.191395 quits"}

data: {"time":"2026-09-19T16:16:42.678Z","priority":"6","pid":"2830187","message":" 16:16:42.191507 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:42.679Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:42.679Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:42.679Z","priority":"6","pid":"2830187","message":" Testnum 272"}

data: {"time":"2026-09-19T16:16:42.679Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:42.680Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind272"}

data: {"time":"2026-09-19T16:16:42.681Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:42.681Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:42.681Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:42.681Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.682Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:42.682Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:42.683Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:42.683Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:42.684Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:42.684Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.685Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:42.685Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:42.685Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:42.686Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:42.686Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:42.687Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:42.687Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:42.688Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.688Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:42.688Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:42.689Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.689Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:42.690Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:42.690Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:42.690Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:42.691Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:42.691Z","priority":"6","pid":"2830187","message":"=== End of file valgrind272"}

data: {"time":"2026-09-19T16:16:42.691Z","priority":"6","pid":"2830187","message":"test 0273 [HTTP with two Digest authorization headers]"}

data: {"time":"2026-09-19T16:16:42.693Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind273 ../src/curl -q --output log/curl273.out  --include --trace-ascii log/trace273 --trace-time http://127.0.0.1:36137/273 -u testuser:testpass --digest > log/stdout273 2> log/stderr273"}

data: {"time":"2026-09-19T16:16:42.694Z","priority":"6","pid":"2830187","message":" 273: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:42.694Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:42.694Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:42.694Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 273"}

data: {"time":"2026-09-19T16:16:42.695Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:42.696Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind273 ../src/curl -q --output log/curl273.out  --include --trace-ascii log/trace273 --trace-time http://127.0.0.1:36137/273 -u testuser:testpass --digest > log/stdout273 2> log/stderr273"}

data: {"time":"2026-09-19T16:16:42.696Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:42.697Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:42.697Z","priority":"6","pid":"2830187","message":" 16:16:42.516004 ====> Client connect"}

data: {"time":"2026-09-19T16:16:42.697Z","priority":"6","pid":"2830187","message":" 16:16:42.516061 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:42.697Z","priority":"6","pid":"2830187","message":" 16:16:42.516207 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:42.698Z","priority":"6","pid":"2830187","message":" 16:16:42.516223 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:42.698Z","priority":"6","pid":"2830187","message":" 16:16:42.516239 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:42.699Z","priority":"6","pid":"2830187","message":" 16:16:42.516249 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:42.699Z","priority":"6","pid":"2830187","message":" 16:16:42.516290 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:42.700Z","priority":"6","pid":"2830187","message":" 16:16:42.516314 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:42.924Z","priority":"6","pid":"2830187","message":" 16:16:42.516384 Response sent (56CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind274 ../src/curl -q --output log/curl274.out  --include --trace-ascii log/trace274 --trace-time http://127.0.0.1:36137/want/274 -L --max-redirs 0 > log/stdout274 2> log/stderr274"}

data: {"time":"2026-09-19T16:16:43.221Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind275 ../src/curl -q --output log/curl275.out  --include --trace-ascii log/trace275 --trace-time http://remotesite.com.275:36137/we/want/that/page/275 -p -x 127.0.0.1:34615 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:36137/we/want/that/page/275 > log/stdout275 2> log/stderr275"}

data: {"time":"2026-09-19T16:16:43.226Z","priority":"6","pid":"2830187","message":" bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:43.226Z","priority":"6","pid":"2830187","message":" 16:16:42.516397 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:43.226Z","priority":"6","pid":"2830187","message":" 16:16:42.516409 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:43.226Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:43.227Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:43.227Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:43.228Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43850"}

data: {"time":"2026-09-19T16:16:43.228Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:43.228Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:43.228Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:43.228Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:43.228Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:43.229Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:43.229Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:43.229Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.229Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.229Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:43.230Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:43.230Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:43.230Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:43.230Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:43.231Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:43.231Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:43.231Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:43.232Z","priority":"6","pid":"2830187","message":" Testnum 273"}

data: {"time":"2026-09-19T16:16:43.232Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:43.232Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:43.232Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.233Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.233Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:43.233Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:43.234Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind273"}

data: {"time":"2026-09-19T16:16:43.234Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:43.235Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:43.235Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:43.235Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.236Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:43.236Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:43.236Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:43.236Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:43.237Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:43.237Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.237Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:43.238Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:43.238Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:43.239Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:43.239Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:43.240Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:43.240Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:43.240Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.240Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:43.241Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:43.241Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.242Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:43.243Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:43.243Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:43.243Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.243Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:43.244Z","priority":"6","pid":"2830187","message":"=== End of file valgrind273"}

data: {"time":"2026-09-19T16:16:43.244Z","priority":"6","pid":"2830187","message":"test 0274 [HTTP Location: following with --max-redirs 0]"}

data: {"time":"2026-09-19T16:16:43.247Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind274 ../src/curl -q --output log/curl274.out  --include --trace-ascii log/trace274 --trace-time http://127.0.0.1:36137/want/274 -L --max-redirs 0 > log/stdout274 2> log/stderr274"}

data: {"time":"2026-09-19T16:16:43.247Z","priority":"6","pid":"2830187","message":" 274: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:43.247Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:43.247Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:43.248Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 274"}

data: {"time":"2026-09-19T16:16:43.248Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:43.250Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind274 ../src/curl -q --output log/curl274.out  --include --trace-ascii log/trace274 --trace-time http://127.0.0.1:36137/want/274 -L --max-redirs 0 > log/stdout274 2> log/stderr274"}

data: {"time":"2026-09-19T16:16:43.250Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:43.250Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:43.251Z","priority":"6","pid":"2830187","message":" 16:16:42.809456 ====> Client connect"}

data: {"time":"2026-09-19T16:16:43.251Z","priority":"6","pid":"2830187","message":" 16:16:42.809501 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:43.251Z","priority":"6","pid":"2830187","message":" 16:16:42.809626 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:43.251Z","priority":"6","pid":"2830187","message":" 16:16:42.809667 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:43.252Z","priority":"6","pid":"2830187","message":" 16:16:42.809684 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:43.252Z","priority":"6","pid":"2830187","message":" 16:16:42.809694 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:43.252Z","priority":"6","pid":"2830187","message":" 16:16:42.809730 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:43.253Z","priority":"6","pid":"2830187","message":" 16:16:42.809752 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:43.253Z","priority":"6","pid":"2830187","message":" 16:16:42.809807 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:43.254Z","priority":"6","pid":"2830187","message":" 16:16:42.809818 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:43.254Z","priority":"6","pid":"2830187","message":" 16:16:42.809827 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:43.255Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:43.255Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:43.255Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:43.255Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43864"}

data: {"time":"2026-09-19T16:16:43.256Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:43.256Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:43.256Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:43.256Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:43.257Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:43.257Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:43.257Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:43.258Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.258Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.258Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:43.259Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:43.259Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:43.259Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:43.259Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:43.260Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:43.260Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:43.260Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:43.261Z","priority":"6","pid":"2830187","message":" Testnum 274"}

data: {"time":"2026-09-19T16:16:43.261Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:43.261Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:43.261Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.262Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.262Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:43.262Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:43.262Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind274"}

data: {"time":"2026-09-19T16:16:43.263Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:43.263Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:43.264Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:43.264Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.265Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:43.265Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:43.265Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:43.265Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:43.266Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:43.266Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.266Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:43.267Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:43.267Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:43.268Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:43.268Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:43.269Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:43.269Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:43.269Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.270Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:43.270Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:43.270Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.271Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:43.271Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:43.273Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:43.273Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.273Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:43.273Z","priority":"6","pid":"2830187","message":"=== End of file valgrind274"}

data: {"time":"2026-09-19T16:16:43.273Z","priority":"6","pid":"2830187","message":"test 0275 [HTTP CONNECT with proxytunnel getting two URLs from the same host]"}

data: {"time":"2026-09-19T16:16:43.276Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind275 ../src/curl -q --output log/curl275.out  --include --trace-ascii log/trace275 --trace-time http://remotesite.com.275:36137/we/want/that/page/275 -p -x 127.0.0.1:34615 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:36137/we/want/that/page/275 > log/stdout275 2> log/stderr275"}

data: {"time":"2026-09-19T16:16:43.276Z","priority":"6","pid":"2830187","message":" 275: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:43.277Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:43.278Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:43.278Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 275"}

data: {"time":"2026-09-19T16:16:43.278Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:43.280Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind275 ../src/curl -q --output log/curl275.out  --include --trace-ascii log/trace275 --trace-time http://remotesite.com.275:36137/we/want/that/page/275 -p -x 127.0.0.1:34615 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:36137/we/want/that/page/275 > log/stdout275 2> log/stderr275"}

data: {"time":"2026-09-19T16:16:43.280Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:43.281Z","priority":"6","pid":"2830187","message":"=== Start of file http2_server.log"}

data: {"time":"2026-09-19T16:16:43.281Z","priority":"6","pid":"2830187","message":" 16:16:42.096143 ====> Client connect"}

data: {"time":"2026-09-19T16:16:43.281Z","priority":"6","pid":"2830187","message":" 16:16:42.096204 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:43.282Z","priority":"6","pid":"2830187","message":" 16:16:42.096373 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:43.282Z","priority":"6","pid":"2830187","message":" 16:16:42.096392 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:43.282Z","priority":"6","pid":"2830187","message":" 16:16:42.096421 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:43.283Z","priority":"6","pid":"2830187","message":" 16:16:42.096433 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:43.283Z","priority":"6","pid":"2830187","message":" 16:16:42.096477 Wrote request (93 bytes) input to log/proxy.input"}

data: {"time":"2026-09-19T16:16:43.284Z","priority":"6","pid":"2830187","message":" 16:16:42.096503 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:43.284Z","priority":"6","pid":"2830187","message":" 16:16:42.096570 Response sent (56 bytes) and written to log/proxy.response"}

data: {"time":"2026-09-19T16:16:43.284Z","priority":"6","pid":"2830187","message":" 16:16:42.096582 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:43.285Z","priority":"6","pid":"2830187","message":" 16:16:42.096593 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:43.285Z","priority":"6","pid":"2830187","message":"=== End of file http2_server.log"}

data: {"time":"2026-09-19T16:16:43.285Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.log"}

data: {"time":"2026-09-19T16:16:43.286Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34615..."}

data: {"time":"2026-09-19T16:16:43.602Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 pCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind276 ../src/curl -q --output log/curl276.out  --include --trace-ascii log/trace276 --trace-time \"http://127.0.0.1:36137/want?uri=http://anything/276?secondq/276\" -L > log/stdout276 2> log/stderr276"}

data: {"time":"2026-09-19T16:16:43.847Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind277 ../src/curl -q --output log/curl277.out  --include --trace-ascii log/trace277 --trace-time http://127.0.0.1:36137/want/277 -F name=daniel -H \"Content-Type: text/info\" > log/stdout277 2> log/stderr277"}

data: {"time":"2026-09-19T16:16:43.851Z","priority":"6","pid":"2830187","message":"ort 34615) from 127.0.0.1 port 44170"}

data: {"time":"2026-09-19T16:16:43.851Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:43.851Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:43.852Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34615"}

data: {"time":"2026-09-19T16:16:43.852Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:43.852Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:43.853Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:43.853Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:43.854Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.854Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.856Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:43.856Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:43.856Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34615 left intact"}

data: {"time":"2026-09-19T16:16:43.857Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.log"}

data: {"time":"2026-09-19T16:16:43.857Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.out"}

data: {"time":"2026-09-19T16:16:43.858Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:16:43.858Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.out"}

data: {"time":"2026-09-19T16:16:43.858Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:43.859Z","priority":"6","pid":"2830187","message":" 16:16:43.052034 ====> Client connect"}

data: {"time":"2026-09-19T16:16:43.860Z","priority":"6","pid":"2830187","message":" 16:16:43.052135 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:43.860Z","priority":"6","pid":"2830187","message":" 16:16:43.052179 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:43.860Z","priority":"6","pid":"2830187","message":" 16:16:43.052194 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:43.861Z","priority":"6","pid":"2830187","message":" 16:16:43.052213 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:43.861Z","priority":"6","pid":"2830187","message":" 16:16:43.052225 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:43.862Z","priority":"6","pid":"2830187","message":" 16:16:43.052267 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:43.862Z","priority":"6","pid":"2830187","message":" 16:16:43.052293 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:43.863Z","priority":"6","pid":"2830187","message":" 16:16:43.052412 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:43.863Z","priority":"6","pid":"2830187","message":" 16:16:43.052427 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:43.864Z","priority":"6","pid":"2830187","message":" 16:16:43.052438 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:43.864Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:43.865Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:43.865Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:43.866Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43870"}

data: {"time":"2026-09-19T16:16:43.866Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:43.866Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:43.866Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:43.867Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:43.867Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:43.868Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:43.868Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:43.868Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.869Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.869Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:43.869Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:43.869Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:43.869Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:43.870Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:43.870Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:43.870Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:43.871Z","priority":"6","pid":"2830187","message":"=== Start of file proxy.response"}

data: {"time":"2026-09-19T16:16:43.871Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.871Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.871Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:16:43.872Z","priority":"6","pid":"2830187","message":"=== End of file proxy.response"}

data: {"time":"2026-09-19T16:16:43.872Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:43.872Z","priority":"6","pid":"2830187","message":" Testnum 275"}

data: {"time":"2026-09-19T16:16:43.873Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:43.873Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:43.874Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.874Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.874Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:43.874Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:43.874Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind275"}

data: {"time":"2026-09-19T16:16:43.875Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:43.875Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:43.876Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:43.876Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.876Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:43.877Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:43.877Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:43.878Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:43.878Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:43.878Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.879Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:43.879Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:43.880Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:43.880Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:43.881Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:43.881Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:43.881Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:43.881Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.882Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:43.882Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:43.882Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.883Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:43.883Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:43.884Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:43.884Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.884Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:43.885Z","priority":"6","pid":"2830187","message":"=== End of file valgrind275"}

data: {"time":"2026-09-19T16:16:43.885Z","priority":"6","pid":"2830187","message":"test 0276 [HTTP Location: following with multiple question marks in URLs]"}

data: {"time":"2026-09-19T16:16:43.887Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind276 ../src/curl -q --output log/curl276.out  --include --trace-ascii log/trace276 --trace-time \"http://127.0.0.1:36137/want?uri=http://anything/276?secondq/276\" -L > log/stdout276 2> log/stderr276"}

data: {"time":"2026-09-19T16:16:43.887Z","priority":"6","pid":"2830187","message":" 276: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:43.888Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:43.888Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:43.889Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 276"}

data: {"time":"2026-09-19T16:16:43.889Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:43.891Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind276 ../src/curl -q --output log/curl276.out  --include --trace-ascii log/trace276 --trace-time \"http://127.0.0.1:36137/want?uri=http://anything/276?secondq/276\" -L > log/stdout276 2> log/stderr276"}

data: {"time":"2026-09-19T16:16:43.891Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:43.891Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:43.892Z","priority":"6","pid":"2830187","message":" 16:16:43.399759 ====> Client connect"}

data: {"time":"2026-09-19T16:16:43.892Z","priority":"6","pid":"2830187","message":" 16:16:43.399812 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:43.892Z","priority":"6","pid":"2830187","message":" 16:16:43.399969 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:43.893Z","priority":"6","pid":"2830187","message":" 16:16:43.399986 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:43.893Z","priority":"6","pid":"2830187","message":" 16:16:43.400004 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:43.894Z","priority":"6","pid":"2830187","message":" 16:16:43.400014 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:43.894Z","priority":"6","pid":"2830187","message":" 16:16:43.400055 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:43.894Z","priority":"6","pid":"2830187","message":" 16:16:43.400083 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:43.895Z","priority":"6","pid":"2830187","message":" 16:16:43.400153 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:43.895Z","priority":"6","pid":"2830187","message":" 16:16:43.400165 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:43.896Z","priority":"6","pid":"2830187","message":" 16:16:43.400175 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:43.896Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:43.896Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:43.897Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:43.897Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43872"}

data: {"time":"2026-09-19T16:16:43.897Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:43.898Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:43.898Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:43.898Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:43.898Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:43.898Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:43.899Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:43.899Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.899Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.899Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:43.900Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:43.900Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:43.900Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:43.901Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:43.901Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:43.901Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:43.901Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:43.902Z","priority":"6","pid":"2830187","message":" Testnum 276"}

data: {"time":"2026-09-19T16:16:43.902Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:43.902Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:43.903Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:43.903Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:43.903Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:43.904Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:43.904Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind276"}

data: {"time":"2026-09-19T16:16:43.904Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:43.905Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:43.905Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:43.905Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.906Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:43.906Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:43.906Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:43.907Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:43.907Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:43.907Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.908Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:43.908Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:43.909Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:43.909Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:43.910Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:43.910Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:43.910Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:43.911Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.912Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:43.912Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:43.912Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.912Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:43.912Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:43.913Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:43.913Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:43.913Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:43.914Z","priority":"6","pid":"2830187","message":"=== End of file valgrind276"}

data: {"time":"2026-09-19T16:16:43.914Z","priority":"6","pid":"2830187","message":"test 0277 [HTTP RFC1867-type formposting with custom Content-Type]"}

data: {"time":"2026-09-19T16:16:43.917Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind277 ../src/curl -q --output log/curl277.out  --include --trace-ascii log/trace277 --trace-time http://127.0.0.1:36137/want/277 -F name=daniel -H \"Content-Type: text/info\" > log/stdout277 2> log/stderr277"}

data: {"time":"2026-09-19T16:16:43.917Z","priority":"6","pid":"2830187","message":" 277: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:43.917Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:43.917Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:43.917Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 277"}

data: {"time":"2026-09-19T16:16:43.918Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:44.242Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind277 ../src/curl -q --output log/curl277.out  --include --trace-ascii log/trace277 --trace-time http://127.0.0.1:36137/want/277 -F name=danielCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind278 ../src/curl -q --output log/curl278.out  --include --trace-ascii log/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:36137 > log/stdout278 2> log/stderr278"}

data: {"time":"2026-09-19T16:16:44.465Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind279 ../src/curl -q --output log/curl279.out  --include --trace-ascii log/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:36137 > log/stdout279 2> log/stderr279"}

data: {"time":"2026-09-19T16:16:44.469Z","priority":"6","pid":"2830187","message":" -H \"Content-Type: text/info\" > log/stdout277 2> log/stderr277"}

data: {"time":"2026-09-19T16:16:44.469Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:44.470Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:44.470Z","priority":"6","pid":"2830187","message":" 16:16:43.724428 ====> Client connect"}

data: {"time":"2026-09-19T16:16:44.471Z","priority":"6","pid":"2830187","message":" 16:16:43.724471 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:44.471Z","priority":"6","pid":"2830187","message":" 16:16:43.724686 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:44.471Z","priority":"6","pid":"2830187","message":" 16:16:43.724704 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:44.471Z","priority":"6","pid":"2830187","message":" 16:16:43.724718 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:44.472Z","priority":"6","pid":"2830187","message":" 16:16:43.724725 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:44.472Z","priority":"6","pid":"2830187","message":" 16:16:43.724775 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:44.473Z","priority":"6","pid":"2830187","message":" 16:16:43.724804 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:44.473Z","priority":"6","pid":"2830187","message":" 16:16:43.724902 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:44.473Z","priority":"6","pid":"2830187","message":" 16:16:43.724917 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:44.473Z","priority":"6","pid":"2830187","message":" 16:16:43.724929 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:44.474Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:44.474Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:44.474Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:44.475Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43874"}

data: {"time":"2026-09-19T16:16:44.475Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:44.475Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:44.476Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:44.476Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:44.476Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:44.476Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:44.476Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:44.477Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:44.477Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:44.477Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:44.478Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:44.478Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:44.478Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:44.478Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:44.478Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:44.479Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:44.479Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:44.479Z","priority":"6","pid":"2830187","message":" Testnum 277"}

data: {"time":"2026-09-19T16:16:44.480Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:44.480Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:44.480Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:44.480Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:44.481Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:44.481Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:44.481Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind277"}

data: {"time":"2026-09-19T16:16:44.482Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:44.482Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:44.482Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:44.482Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.483Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:44.483Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:44.484Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:44.484Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:44.484Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:44.485Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.485Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:44.485Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:44.486Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:44.486Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:44.487Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:44.487Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:44.487Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:44.488Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.488Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:44.489Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:44.489Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.489Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:44.490Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:44.490Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:44.490Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.490Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:44.491Z","priority":"6","pid":"2830187","message":"=== End of file valgrind277"}

data: {"time":"2026-09-19T16:16:44.491Z","priority":"6","pid":"2830187","message":"test 0278 [HTTP with proxy string including http:// and user+empty password]"}

data: {"time":"2026-09-19T16:16:44.493Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind278 ../src/curl -q --output log/curl278.out  --include --trace-ascii log/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:36137 > log/stdout278 2> log/stderr278"}

data: {"time":"2026-09-19T16:16:44.493Z","priority":"6","pid":"2830187","message":" 278: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:44.494Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:44.494Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:44.495Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 278"}

data: {"time":"2026-09-19T16:16:44.497Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:44.499Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind278 ../src/curl -q --output log/curl278.out  --include --trace-ascii log/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:36137 > log/stdout278 2> log/stderr278"}

data: {"time":"2026-09-19T16:16:44.499Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:44.500Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:44.501Z","priority":"6","pid":"2830187","message":" 16:16:44.098903 ====> Client connect"}

data: {"time":"2026-09-19T16:16:44.502Z","priority":"6","pid":"2830187","message":" 16:16:44.098972 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:44.502Z","priority":"6","pid":"2830187","message":" 16:16:44.099175 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:44.504Z","priority":"6","pid":"2830187","message":" 16:16:44.099202 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:44.504Z","priority":"6","pid":"2830187","message":" 16:16:44.099219 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:44.504Z","priority":"6","pid":"2830187","message":" 16:16:44.099230 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:44.505Z","priority":"6","pid":"2830187","message":" 16:16:44.099275 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:44.506Z","priority":"6","pid":"2830187","message":" 16:16:44.099298 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:44.507Z","priority":"6","pid":"2830187","message":" 16:16:44.099375 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:44.508Z","priority":"6","pid":"2830187","message":" 16:16:44.099387 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:44.508Z","priority":"6","pid":"2830187","message":" 16:16:44.099398 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:44.509Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:44.511Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:44.511Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:44.512Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43886"}

data: {"time":"2026-09-19T16:16:44.512Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:44.512Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:44.513Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:44.513Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:44.513Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:44.514Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:44.514Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:44.515Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:44.515Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:44.515Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:44.515Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:44.515Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:44.515Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:44.516Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:44.516Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:44.516Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:44.517Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:44.518Z","priority":"6","pid":"2830187","message":" Testnum 278"}

data: {"time":"2026-09-19T16:16:44.518Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:44.518Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:44.518Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:44.519Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:44.519Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:44.519Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:44.519Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind278"}

data: {"time":"2026-09-19T16:16:44.520Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:44.520Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:44.520Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:44.521Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.521Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:44.521Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:44.522Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:44.522Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:44.522Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:44.523Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.523Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:44.524Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:44.524Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:44.524Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:44.525Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:44.525Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:44.526Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:44.526Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.526Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:44.527Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:44.527Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.527Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:44.528Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:44.529Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:44.529Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.529Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:44.529Z","priority":"6","pid":"2830187","message":"=== End of file valgrind278"}

data: {"time":"2026-09-19T16:16:44.529Z","priority":"6","pid":"2830187","message":"test 0279 [HTTP with proxy string including http:// and user only]"}

data: {"time":"2026-09-19T16:16:44.531Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind279 ../src/curl -q --output log/curl279.out  --include --trace-ascii log/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:36137 > log/stdout279 2> log/stderr279"}

data: {"time":"2026-09-19T16:16:44.531Z","priority":"6","pid":"2830187","message":" 279: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:44.532Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:44.532Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:44.532Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 279"}

data: {"time":"2026-09-19T16:16:44.533Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:44.534Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind279 ../src/curl -q --output log/curl279.out  --include --trace-ascii log/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:36137 > log/stdout279 2> log/stderr279"}

data: {"time":"2026-09-19T16:16:44.535Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:44.535Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:44.535Z","priority":"6","pid":"2830187","message":" 16:16:44.360121 ====> Client connect"}

data: {"time":"2026-09-19T16:16:44.535Z","priority":"6","pid":"2830187","message":" 16:16:44.360178 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:44.536Z","priority":"6","pid":"2830187","message":" 16:16:44.360409 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:44.536Z","priority":"6","pid":"2830187","message":" 16:16:44.360432 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:44.537Z","priority":"6","pid":"2830187","message":" 16:16:44.360449 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:44.537Z","priority":"6","pid":"2830187","message":" 16:16:44.360460 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:44.537Z","priority":"6","pid":"2830187","message":" 16:16:44.360505 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:44.785Z","priority":"6","pid":"2830187","message":" 16:16:44CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind280 ../src/curl -q --output log/curl280.out  --include --trace-ascii log/trace280 --trace-time ftp://127.0.0.1:40021/280/ --ftp-alternative-to-user \"USER replacement\" > log/stdout280 2> log/stderr280"}

data: {"time":"2026-09-19T16:16:44.789Z","priority":"6","pid":"2830187","message":".360528 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:44.790Z","priority":"6","pid":"2830187","message":" 16:16:44.360686 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:44.791Z","priority":"6","pid":"2830187","message":" 16:16:44.360703 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:44.791Z","priority":"6","pid":"2830187","message":" 16:16:44.360712 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:44.793Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:44.793Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:44.794Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:44.794Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43896"}

data: {"time":"2026-09-19T16:16:44.794Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:44.795Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:44.796Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:44.796Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:44.797Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:44.798Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:44.799Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:44.799Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:44.799Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:44.800Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:44.800Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:44.801Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:44.801Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:44.802Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:44.802Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:44.803Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:44.803Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:44.803Z","priority":"6","pid":"2830187","message":" Testnum 279"}

data: {"time":"2026-09-19T16:16:44.804Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:44.804Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:44.804Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:44.805Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:44.805Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:44.805Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:44.805Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind279"}

data: {"time":"2026-09-19T16:16:44.806Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:44.806Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:44.807Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:44.807Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.807Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:44.808Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:44.808Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:44.808Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:44.809Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:44.809Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.810Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:44.810Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:44.811Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:44.811Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:44.812Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:44.812Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:44.812Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:44.813Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.813Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:44.813Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:44.814Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.814Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:44.815Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:44.815Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:44.816Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:44.816Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:44.816Z","priority":"6","pid":"2830187","message":"=== End of file valgrind279"}

data: {"time":"2026-09-19T16:16:44.816Z","priority":"6","pid":"2830187","message":"test 0280 [FTP --ftp-alternative-to-user on USER failure]"}

data: {"time":"2026-09-19T16:16:44.818Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind280 ../src/curl -q --output log/curl280.out  --include --trace-ascii log/trace280 --trace-time ftp://127.0.0.1:40021/280/ --ftp-alternative-to-user \"USER replacement\" > log/stdout280 2> log/stderr280"}

data: {"time":"2026-09-19T16:16:44.818Z","priority":"6","pid":"2830187","message":" 280: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:44.819Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:44.820Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:44.820Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 280"}

data: {"time":"2026-09-19T16:16:44.820Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:44.821Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind280 ../src/curl -q --output log/curl280.out  --include --trace-ascii log/trace280 --trace-time ftp://127.0.0.1:40021/280/ --ftp-alternative-to-user \"USER replacement\" > log/stdout280 2> log/stderr280"}

data: {"time":"2026-09-19T16:16:44.822Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:44.822Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:44.822Z","priority":"6","pid":"2830187","message":" 16:16:44.577315 ====> Client connect"}

data: {"time":"2026-09-19T16:16:44.823Z","priority":"6","pid":"2830187","message":" 16:16:44.577684 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.824Z","priority":"6","pid":"2830187","message":" 16:16:44.578251 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:44.824Z","priority":"6","pid":"2830187","message":" 16:16:44.578478 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.825Z","priority":"6","pid":"2830187","message":" 16:16:44.578623 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:44.825Z","priority":"6","pid":"2830187","message":" 16:16:44.578652 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.826Z","priority":"6","pid":"2830187","message":" 16:16:44.578836 < \"PWD\""}

data: {"time":"2026-09-19T16:16:44.826Z","priority":"6","pid":"2830187","message":" 16:16:44.578875 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.826Z","priority":"6","pid":"2830187","message":" 16:16:44.579072 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:44.826Z","priority":"6","pid":"2830187","message":" 16:16:44.579106 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:44.827Z","priority":"6","pid":"2830187","message":" 16:16:44.579120 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:44.828Z","priority":"6","pid":"2830187","message":" 16:16:44.582188 DATA sockfilt for passive data channel started (pid 95430)"}

data: {"time":"2026-09-19T16:16:44.828Z","priority":"6","pid":"2830187","message":" 16:16:44.582464 DATA sockfilt for passive data channel listens on port 36229"}

data: {"time":"2026-09-19T16:16:44.829Z","priority":"6","pid":"2830187","message":" 16:16:44.582544 > \"229 Entering Passive Mode (|||36229|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.829Z","priority":"6","pid":"2830187","message":" 16:16:44.582571 Client has been notified that upcoming DATA connection is awaited on port 36229"}

data: {"time":"2026-09-19T16:16:44.830Z","priority":"6","pid":"2830187","message":" 16:16:44.583098 Client connects to port 36229"}

data: {"time":"2026-09-19T16:16:44.830Z","priority":"6","pid":"2830187","message":" 16:16:44.583153 ====> Client established passive DATA connection on port 36229"}

data: {"time":"2026-09-19T16:16:44.831Z","priority":"6","pid":"2830187","message":" 16:16:44.583303 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:44.831Z","priority":"6","pid":"2830187","message":" 16:16:44.583571 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.831Z","priority":"6","pid":"2830187","message":" 16:16:44.583669 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:44.832Z","priority":"6","pid":"2830187","message":" 16:16:44.583722 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.832Z","priority":"6","pid":"2830187","message":" 16:16:44.584019 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:44.833Z","priority":"6","pid":"2830187","message":" 16:16:44.584123 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.833Z","priority":"6","pid":"2830187","message":" 16:16:44.584596 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:44.833Z","priority":"6","pid":"2830187","message":" 16:16:44.584631 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:44.834Z","priority":"6","pid":"2830187","message":" 16:16:44.584706 Fancy that; client wants to DISC, too"}

data: {"time":"2026-09-19T16:16:44.834Z","priority":"6","pid":"2830187","message":" 16:16:44.584740 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:44.835Z","priority":"6","pid":"2830187","message":" 16:16:44.584762 DATA sockfilt for passive data channel quits (pid 95430)"}

data: {"time":"2026-09-19T16:16:44.835Z","priority":"6","pid":"2830187","message":" 16:16:44.585246 DATA sockfilt for passive data channel quit (pid 95430)"}

data: {"time":"2026-09-19T16:16:44.836Z","priority":"6","pid":"2830187","message":" 16:16:44.585286 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:44.836Z","priority":"6","pid":"2830187","message":" 16:16:44.585433 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.837Z","priority":"6","pid":"2830187","message":" 16:16:44.625097 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:44.837Z","priority":"6","pid":"2830187","message":" 16:16:44.625176 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:44.837Z","priority":"6","pid":"2830187","message":" 16:16:44.626141 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:44.838Z","priority":"6","pid":"2830187","message":" 16:16:44.626292 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:44.838Z","priority":"6","pid":"2830187","message":" 16:16:44.626477 Awaiting input"}

data: {"time":"2026-09-19T16:16:44.839Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:44.839Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:44.839Z","priority":"6","pid":"2830187","message":" 16:16:44.646359 ====> Client connect"}

data: {"time":"2026-09-19T16:16:44.840Z","priority":"6","pid":"2830187","message":" 16:16:44.646965 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.840Z","priority":"6","pid":"2830187","message":" 16:16:44.646990 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.840Z","priority":"6","pid":"2830187","message":" 16:16:44.647007 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:44.841Z","priority":"6","pid":"2830187","message":" 16:16:44.647022 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.841Z","priority":"6","pid":"2830187","message":" 16:16:44.647034 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.842Z","priority":"6","pid":"2830187","message":" 16:16:44.647228 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:44.842Z","priority":"6","pid":"2830187","message":" 16:16:44.647246 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.843Z","priority":"6","pid":"2830187","message":" 16:16:44.647528 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.843Z","priority":"6","pid":"2830187","message":" 16:16:44.647544 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.844Z","priority":"6","pid":"2830187","message":" 16:16:44.647613 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.844Z","priority":"6","pid":"2830187","message":" 16:16:44.647754 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:44.845Z","priority":"6","pid":"2830187","message":" 16:16:44.647767 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.845Z","priority":"6","pid":"2830187","message":" 16:16:44.647893 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.846Z","priority":"6","pid":"2830187","message":" 16:16:44.647904 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.846Z","priority":"6","pid":"2830187","message":" 16:16:44.647914 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.846Z","priority":"6","pid":"2830187","message":" 16:16:44.647978 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:44.846Z","priority":"6","pid":"2830187","message":" 16:16:44.647989 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.847Z","priority":"6","pid":"2830187","message":" 16:16:44.648116 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.847Z","priority":"6","pid":"2830187","message":" 16:16:44.648127 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.848Z","priority":"6","pid":"2830187","message":" 16:16:44.648136 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.848Z","priority":"6","pid":"2830187","message":" 16:16:44.648208 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:44.848Z","priority":"6","pid":"2830187","message":" 16:16:44.648218 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.849Z","priority":"6","pid":"2830187","message":" 16:16:44.651842 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.849Z","priority":"6","pid":"2830187","message":" 16:16:44.651878 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.849Z","priority":"6","pid":"2830187","message":" 16:16:44.651893 '229 Entering Passive Mode (|||36229|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.850Z","priority":"6","pid":"2830187","message":" 16:16:44.652204 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:44.850Z","priority":"6","pid":"2830187","message":" 16:16:44.652225 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.851Z","priority":"6","pid":"2830187","message":" 16:16:44.652602 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.851Z","priority":"6","pid":"2830187","message":" 16:16:44.652624 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.852Z","priority":"6","pid":"2830187","message":" 16:16:44.652649 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.852Z","priority":"6","pid":"2830187","message":" 16:16:44.652747 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:44.852Z","priority":"6","pid":"2830187","message":" 16:16:44.652762 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.853Z","priority":"6","pid":"2830187","message":" 16:16:44.652992 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.853Z","priority":"6","pid":"2830187","message":" 16:16:44.653010 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.854Z","priority":"6","pid":"2830187","message":" 16:16:44.653030 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.854Z","priority":"6","pid":"2830187","message":" 16:16:44.653130 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:44.854Z","priority":"6","pid":"2830187","message":" 16:16:44.653147 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.855Z","priority":"6","pid":"2830187","message":" 16:16:44.653297 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.855Z","priority":"6","pid":"2830187","message":" 16:16:44.653312 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.856Z","priority":"6","pid":"2830187","message":" 16:16:44.653442 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.857Z","priority":"6","pid":"2830187","message":" 16:16:44.654587 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.857Z","priority":"6","pid":"2830187","message":" 16:16:44.654609 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.857Z","priority":"6","pid":"2830187","message":" 16:16:44.654623 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.858Z","priority":"6","pid":"2830187","message":" 16:16:44.694090 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:44.858Z","priority":"6","pid":"2830187","message":" 16:16:44.694181 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.859Z","priority":"6","pid":"2830187","message":" 16:16:44.694441 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:44.859Z","priority":"6","pid":"2830187","message":" 16:16:44.694467 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:44.859Z","priority":"6","pid":"2830187","message":" 16:16:44.694481 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:44.860Z","priority":"6","pid":"2830187","message":" 16:16:44.695282 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:44.860Z","priority":"6","pid":"2830187","message":" 16:16:44.695421 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:44.860Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:44.861Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:44.861Z","priority":"6","pid":"2830187","message":" 16:16:44.651087 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:44.861Z","priority":"6","pid":"2830187","message":" 16:16:44.651249 Listening on port 36229"}

data: {"time":"2026-09-19T16:16:45.082Z","priority":"6","pid":"2830187","message":" 16:16:CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind281 ../src/curl -q --output log/curl281.out  --include --trace-ascii log/trace281 --trace-time http://127.0.0.1:36137/we/want/281 -f -T log/test281.txt > log/stdout281 2> log/stderr281"}

data: {"time":"2026-09-19T16:16:45.308Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind282 ../src/curl -q --output log/curl282.out  --include --trace-ascii log/trace282 --trace-time http://127.0.0.1:36137/282 > log/stdout282 2> log/stderr282"}

data: {"time":"2026-09-19T16:16:45.312Z","priority":"6","pid":"2830187","message":"44.651301 Wrote pid 95430 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:45.312Z","priority":"6","pid":"2830187","message":" 16:16:44.651346 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:45.312Z","priority":"6","pid":"2830187","message":" 16:16:44.651500 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:45.313Z","priority":"6","pid":"2830187","message":" 16:16:44.652267 ====> Client connect"}

data: {"time":"2026-09-19T16:16:45.313Z","priority":"6","pid":"2830187","message":" 16:16:44.653546 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:45.314Z","priority":"6","pid":"2830187","message":" 16:16:44.653589 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:45.314Z","priority":"6","pid":"2830187","message":" 16:16:44.653601 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:45.315Z","priority":"6","pid":"2830187","message":" 16:16:44.653733 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:45.315Z","priority":"6","pid":"2830187","message":" 16:16:44.653885 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:45.315Z","priority":"6","pid":"2830187","message":" 16:16:44.653899 Crikey! Client also wants to disconnect"}

data: {"time":"2026-09-19T16:16:45.316Z","priority":"6","pid":"2830187","message":" 16:16:44.654011 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:45.316Z","priority":"6","pid":"2830187","message":" 16:16:44.654066 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:45.317Z","priority":"6","pid":"2830187","message":" 16:16:44.654078 quits"}

data: {"time":"2026-09-19T16:16:45.317Z","priority":"6","pid":"2830187","message":" 16:16:44.654191 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:45.317Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:45.317Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:45.318Z","priority":"6","pid":"2830187","message":" REPLY USER 530 We don't like USER commands"}

data: {"time":"2026-09-19T16:16:45.318Z","priority":"6","pid":"2830187","message":" COUNT USER 1"}

data: {"time":"2026-09-19T16:16:45.318Z","priority":"6","pid":"2830187","message":" Testnum 280"}

data: {"time":"2026-09-19T16:16:45.318Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:45.318Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind280"}

data: {"time":"2026-09-19T16:16:45.319Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:45.319Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:45.320Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:45.320Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.320Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:45.320Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:45.321Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:45.321Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:45.321Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:45.322Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.322Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:45.322Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:45.322Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:45.323Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:45.323Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:45.324Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:45.324Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:45.324Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.325Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:45.325Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:45.326Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.326Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:45.326Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:45.327Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:45.327Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.327Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:45.327Z","priority":"6","pid":"2830187","message":"=== End of file valgrind280"}

data: {"time":"2026-09-19T16:16:45.329Z","priority":"6","pid":"2830187","message":"test 0281 [HTTP PUT from file with 100 + 401 responses and -f without auth given]"}

data: {"time":"2026-09-19T16:16:45.330Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind281 ../src/curl -q --output log/curl281.out  --include --trace-ascii log/trace281 --trace-time http://127.0.0.1:36137/we/want/281 -f -T log/test281.txt > log/stdout281 2> log/stderr281"}

data: {"time":"2026-09-19T16:16:45.330Z","priority":"6","pid":"2830187","message":" 281: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:45.331Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:45.331Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:45.331Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 281"}

data: {"time":"2026-09-19T16:16:45.332Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:45.335Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind281 ../src/curl -q --output log/curl281.out  --include --trace-ascii log/trace281 --trace-time http://127.0.0.1:36137/we/want/281 -f -T log/test281.txt > log/stdout281 2> log/stderr281"}

data: {"time":"2026-09-19T16:16:45.335Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:45.337Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:45.337Z","priority":"6","pid":"2830187","message":" 16:16:44.972720 ====> Client connect"}

data: {"time":"2026-09-19T16:16:45.338Z","priority":"6","pid":"2830187","message":" 16:16:44.972780 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:45.339Z","priority":"6","pid":"2830187","message":" 16:16:44.973027 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:45.339Z","priority":"6","pid":"2830187","message":" 16:16:44.973081 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:45.340Z","priority":"6","pid":"2830187","message":" 16:16:44.973101 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:45.340Z","priority":"6","pid":"2830187","message":" 16:16:44.973112 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:45.342Z","priority":"6","pid":"2830187","message":" 16:16:44.973164 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:45.343Z","priority":"6","pid":"2830187","message":" 16:16:44.973190 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:45.344Z","priority":"6","pid":"2830187","message":" 16:16:44.973302 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:45.345Z","priority":"6","pid":"2830187","message":" 16:16:44.973318 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:45.345Z","priority":"6","pid":"2830187","message":" 16:16:44.973328 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:45.346Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:45.346Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:45.348Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:45.348Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43910"}

data: {"time":"2026-09-19T16:16:45.349Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:45.351Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:45.351Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:45.351Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:45.351Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:45.351Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:45.352Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:45.353Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:45.353Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:45.353Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:45.353Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:45.353Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:45.353Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:45.354Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:45.354Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:45.354Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:45.355Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:45.355Z","priority":"6","pid":"2830187","message":" Testnum 281"}

data: {"time":"2026-09-19T16:16:45.355Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:45.355Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:45.356Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:45.356Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:45.356Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:45.356Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:45.357Z","priority":"6","pid":"2830187","message":"=== Start of file test281.txt"}

data: {"time":"2026-09-19T16:16:45.357Z","priority":"6","pid":"2830187","message":" Weird"}

data: {"time":"2026-09-19T16:16:45.357Z","priority":"6","pid":"2830187","message":"      file"}

data: {"time":"2026-09-19T16:16:45.358Z","priority":"6","pid":"2830187","message":"          to"}

data: {"time":"2026-09-19T16:16:45.358Z","priority":"6","pid":"2830187","message":"    upload"}

data: {"time":"2026-09-19T16:16:45.358Z","priority":"6","pid":"2830187","message":"=== End of file test281.txt"}

data: {"time":"2026-09-19T16:16:45.358Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind281"}

data: {"time":"2026-09-19T16:16:45.358Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:45.358Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:45.359Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:45.360Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.360Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:45.360Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:45.360Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:45.361Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:45.361Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:45.361Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.362Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:45.363Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:45.363Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:45.363Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:45.364Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:45.364Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:45.365Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:45.365Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.366Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:45.366Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:45.366Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.366Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:45.367Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:45.367Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:45.368Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:45.368Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:45.368Z","priority":"6","pid":"2830187","message":"=== End of file valgrind281"}

data: {"time":"2026-09-19T16:16:45.369Z","priority":"6","pid":"2830187","message":"test 0282 [HTTP GET with no response body or headers]"}

data: {"time":"2026-09-19T16:16:45.370Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind282 ../src/curl -q --output log/curl282.out  --include --trace-ascii log/trace282 --trace-time http://127.0.0.1:36137/282 > log/stdout282 2> log/stderr282"}

data: {"time":"2026-09-19T16:16:45.370Z","priority":"6","pid":"2830187","message":" 282: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:45.371Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:45.371Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:45.371Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 282"}

data: {"time":"2026-09-19T16:16:45.372Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:45.373Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind282 ../src/curl -q --output log/curl282.out  --include --trace-ascii log/trace282 --trace-time http://127.0.0.1:36137/282 > log/stdout282 2> log/stderr282"}

data: {"time":"2026-09-19T16:16:45.373Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:45.374Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:45.374Z","priority":"6","pid":"2830187","message":" 16:16:45.207404 ====> Client connect"}

data: {"time":"2026-09-19T16:16:45.374Z","priority":"6","pid":"2830187","message":" 16:16:45.207471 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:45.374Z","priority":"6","pid":"2830187","message":" 16:16:45.207512 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:45.374Z","priority":"6","pid":"2830187","message":" 16:16:45.207658 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:45.375Z","priority":"6","pid":"2830187","message":" 16:16:45.207683 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:45.375Z","priority":"6","pid":"2830187","message":" 16:16:45.207694 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:45.375Z","priority":"6","pid":"2830187","message":" 16:16:45.207736 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:45.376Z","priority":"6","pid":"2830187","message":" 16:16:45.207759 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:45.376Z","priority":"6","pid":"2830187","message":" 16:16:45.208096 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:45.377Z","priority":"6","pid":"2830187","message":" 16:16:45.208117 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:45.377Z","priority":"6","pid":"2830187","message":" 16:16:45.208127 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:45.377Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:45.378Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:45.378Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:45.378Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43914"}

data: {"time":"2026-09-19T16:16:45.379Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:45.379Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:45.379Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:45.379Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:45.379Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:45.379Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:45.380Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:45.380Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:45.380Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:45.380Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:45.380Z","priority":"6","pid":"2830187","message":" { [1 bytes data]"}

data: {"time":"2026-09-19T16:16:45.381Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:45.588Z","priority":"6","pid":"2830187","message":"=== End of file http_veCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind283 ../src/curl -q --output log/curl283.out  --include --trace-ascii log/trace283 --trace-time tftp://127.0.0.1:35071//invalid-file --tftp-blksize 1024 > log/stdout283 2> log/stderr283"}

data: {"time":"2026-09-19T16:16:45.818Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind284 ../src/curl -q --output log/curl284.out  --include --trace-ascii log/trace284 --trace-time tftp://127.0.0.1:35071//284 > log/stdout284 2> log/stderr284"}

data: {"time":"2026-09-19T16:16:46.044Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind285 ../src/curl -q --output log/curl285.out  --include --trace-ascii log/trace285 --trace-time -T log/test285.txt tftp://127.0.0.1:35071// --connect-timeout 549 --max-time 599 > log/stdout285 2> log/stderr285"}

data: {"time":"2026-09-19T16:16:46.048Z","priority":"6","pid":"2830187","message":"rify.log"}

data: {"time":"2026-09-19T16:16:46.048Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:46.048Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:46.048Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:46.048Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.049Z","priority":"6","pid":"2830187","message":" Testnum 282"}

data: {"time":"2026-09-19T16:16:46.049Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.049Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:46.049Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:46.049Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:46.050Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:46.050Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:46.050Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind282"}

data: {"time":"2026-09-19T16:16:46.050Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:46.051Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:46.051Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:46.051Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.052Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:46.052Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:46.053Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.053Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:46.053Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.053Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.054Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:46.054Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:46.055Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:46.055Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:46.055Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:46.056Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:46.057Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:46.057Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.057Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:46.057Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:46.057Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.057Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:46.058Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:46.058Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:46.059Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.059Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:46.059Z","priority":"6","pid":"2830187","message":"=== End of file valgrind282"}

data: {"time":"2026-09-19T16:16:46.059Z","priority":"6","pid":"2830187","message":"test 0283 [TFTP retrieve on invalid file]"}

data: {"time":"2026-09-19T16:16:46.060Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind283 ../src/curl -q --output log/curl283.out  --include --trace-ascii log/trace283 --trace-time tftp://127.0.0.1:35071//invalid-file --tftp-blksize 1024 > log/stdout283 2> log/stderr283"}

data: {"time":"2026-09-19T16:16:46.061Z","priority":"6","pid":"2830187","message":" 283: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:46.061Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:46.062Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:46.062Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 283"}

data: {"time":"2026-09-19T16:16:46.062Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:46.064Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind283 ../src/curl -q --output log/curl283.out  --include --trace-ascii log/trace283 --trace-time tftp://127.0.0.1:35071//invalid-file --tftp-blksize 1024 > log/stdout283 2> log/stderr283"}

data: {"time":"2026-09-19T16:16:46.064Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:46.064Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.065Z","priority":"6","pid":"2830187","message":" Testnum 283"}

data: {"time":"2026-09-19T16:16:46.065Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.065Z","priority":"6","pid":"2830187","message":"=== Start of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:46.065Z","priority":"6","pid":"2830187","message":" 16:16:45.487428 trying to get file: verifiedserver mode 1"}

data: {"time":"2026-09-19T16:16:46.066Z","priority":"6","pid":"2830187","message":" 16:16:45.487484 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:46.067Z","priority":"6","pid":"2830187","message":" 16:16:45.487550 write"}

data: {"time":"2026-09-19T16:16:46.067Z","priority":"6","pid":"2830187","message":" 16:16:45.487596 read"}

data: {"time":"2026-09-19T16:16:46.067Z","priority":"6","pid":"2830187","message":" 16:16:45.487804 read: 4"}

data: {"time":"2026-09-19T16:16:46.067Z","priority":"6","pid":"2830187","message":" 16:16:45.487910 end of one transfer"}

data: {"time":"2026-09-19T16:16:46.067Z","priority":"6","pid":"2830187","message":"=== End of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:46.068Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind283"}

data: {"time":"2026-09-19T16:16:46.068Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:46.068Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:46.069Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:46.069Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.069Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:46.070Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:46.070Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.071Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:46.071Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.071Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.072Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:46.072Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:46.072Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:46.073Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:46.073Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:46.074Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:46.074Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:46.074Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.075Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:46.075Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:46.075Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.076Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:46.076Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:46.076Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:46.077Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.077Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:46.077Z","priority":"6","pid":"2830187","message":"=== End of file valgrind283"}

data: {"time":"2026-09-19T16:16:46.078Z","priority":"6","pid":"2830187","message":"test 0284 [TFTP retrieve of boundary case 512-byte file]"}

data: {"time":"2026-09-19T16:16:46.079Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind284 ../src/curl -q --output log/curl284.out  --include --trace-ascii log/trace284 --trace-time tftp://127.0.0.1:35071//284 > log/stdout284 2> log/stderr284"}

data: {"time":"2026-09-19T16:16:46.079Z","priority":"6","pid":"2830187","message":" 284: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:46.080Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:46.080Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:46.081Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 284"}

data: {"time":"2026-09-19T16:16:46.081Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:46.082Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind284 ../src/curl -q --output log/curl284.out  --include --trace-ascii log/trace284 --trace-time tftp://127.0.0.1:35071//284 > log/stdout284 2> log/stderr284"}

data: {"time":"2026-09-19T16:16:46.082Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:46.083Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.083Z","priority":"6","pid":"2830187","message":" Testnum 284"}

data: {"time":"2026-09-19T16:16:46.083Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.083Z","priority":"6","pid":"2830187","message":"=== Start of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:46.083Z","priority":"6","pid":"2830187","message":" 16:16:45.713213 trying to get file: verifiedserver mode 1"}

data: {"time":"2026-09-19T16:16:46.084Z","priority":"6","pid":"2830187","message":" 16:16:45.713272 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:46.084Z","priority":"6","pid":"2830187","message":" 16:16:45.713295 write"}

data: {"time":"2026-09-19T16:16:46.085Z","priority":"6","pid":"2830187","message":" 16:16:45.713337 read"}

data: {"time":"2026-09-19T16:16:46.085Z","priority":"6","pid":"2830187","message":" 16:16:45.713588 read: 4"}

data: {"time":"2026-09-19T16:16:46.085Z","priority":"6","pid":"2830187","message":" 16:16:45.713695 end of one transfer"}

data: {"time":"2026-09-19T16:16:46.085Z","priority":"6","pid":"2830187","message":"=== End of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:46.086Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind284"}

data: {"time":"2026-09-19T16:16:46.086Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:46.087Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:46.087Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:46.087Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.088Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:46.088Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:46.089Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.089Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:46.089Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.089Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.090Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:46.090Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:46.091Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:46.092Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:46.092Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:46.092Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:46.092Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:46.093Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.093Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:46.093Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:46.094Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.094Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:46.094Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:46.095Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:46.095Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.095Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:46.096Z","priority":"6","pid":"2830187","message":"=== End of file valgrind284"}

data: {"time":"2026-09-19T16:16:46.096Z","priority":"6","pid":"2830187","message":"test 0285 [TFTP send]"}

data: {"time":"2026-09-19T16:16:46.097Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind285 ../src/curl -q --output log/curl285.out  --include --trace-ascii log/trace285 --trace-time -T log/test285.txt tftp://127.0.0.1:35071// --connect-timeout 549 --max-time 599 > log/stdout285 2> log/stderr285"}

data: {"time":"2026-09-19T16:16:46.098Z","priority":"6","pid":"2830187","message":" 285: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:46.099Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:46.099Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:46.099Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 285"}

data: {"time":"2026-09-19T16:16:46.099Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:46.360Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind285 ../src/curl -q --output log/curl285.out  --include --trace-ascii log/trace285 --trace-time -T logCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind286 ../src/curl -q --output log/curl286.out  --include --trace-ascii log/trace286 --trace-time -T log/test286.txt tftp://127.0.0.1:35071// > log/stdout286 2> log/stderr286"}

data: {"time":"2026-09-19T16:16:46.605Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind287 ../src/curl -q --include --trace-ascii log/trace287 --trace-time http://test.remote.example.com.287:36137/path/287 -H \"User-Agent: looser/2015\" --proxy http://127.0.0.1:36137 --proxytunnel --proxy-header \"User-Agent: looser/2007\" > log/stdout287 2> log/stderr287"}

data: {"time":"2026-09-19T16:16:46.608Z","priority":"6","pid":"2830187","message":"/test285.txt tftp://127.0.0.1:35071// --connect-timeout 549 --max-time 599 > log/stdout285 2> log/stderr285"}

data: {"time":"2026-09-19T16:16:46.609Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:46.609Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.610Z","priority":"6","pid":"2830187","message":" Testnum 285"}

data: {"time":"2026-09-19T16:16:46.610Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.611Z","priority":"6","pid":"2830187","message":"=== Start of file test285.txt"}

data: {"time":"2026-09-19T16:16:46.611Z","priority":"6","pid":"2830187","message":" a chunk of"}

data: {"time":"2026-09-19T16:16:46.611Z","priority":"6","pid":"2830187","message":" data"}

data: {"time":"2026-09-19T16:16:46.611Z","priority":"6","pid":"2830187","message":" sent"}

data: {"time":"2026-09-19T16:16:46.611Z","priority":"6","pid":"2830187","message":"  to server"}

data: {"time":"2026-09-19T16:16:46.612Z","priority":"6","pid":"2830187","message":"=== End of file test285.txt"}

data: {"time":"2026-09-19T16:16:46.614Z","priority":"6","pid":"2830187","message":"=== Start of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:46.614Z","priority":"6","pid":"2830187","message":" 16:16:45.928827 trying to get file: verifiedserver mode 1"}

data: {"time":"2026-09-19T16:16:46.615Z","priority":"6","pid":"2830187","message":" 16:16:45.928864 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:46.616Z","priority":"6","pid":"2830187","message":" 16:16:45.928883 write"}

data: {"time":"2026-09-19T16:16:46.616Z","priority":"6","pid":"2830187","message":" 16:16:45.928908 read"}

data: {"time":"2026-09-19T16:16:46.617Z","priority":"6","pid":"2830187","message":" 16:16:45.929528 read: 4"}

data: {"time":"2026-09-19T16:16:46.618Z","priority":"6","pid":"2830187","message":" 16:16:45.929670 end of one transfer"}

data: {"time":"2026-09-19T16:16:46.618Z","priority":"6","pid":"2830187","message":"=== End of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:46.618Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind285"}

data: {"time":"2026-09-19T16:16:46.619Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:46.619Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:46.620Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:46.620Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.621Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:46.621Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:46.621Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.622Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:46.623Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.623Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.623Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:46.624Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:46.624Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:46.625Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:46.625Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:46.626Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:46.626Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:46.626Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.627Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:46.627Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:46.628Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.628Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:46.629Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:46.629Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:46.629Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.630Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:46.630Z","priority":"6","pid":"2830187","message":"=== End of file valgrind285"}

data: {"time":"2026-09-19T16:16:46.631Z","priority":"6","pid":"2830187","message":"test 0286 [TFTP send of boundary case 512-byte file]"}

data: {"time":"2026-09-19T16:16:46.633Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind286 ../src/curl -q --output log/curl286.out  --include --trace-ascii log/trace286 --trace-time -T log/test286.txt tftp://127.0.0.1:35071// > log/stdout286 2> log/stderr286"}

data: {"time":"2026-09-19T16:16:46.633Z","priority":"6","pid":"2830187","message":" 286: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:46.633Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:46.633Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:46.634Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 286"}

data: {"time":"2026-09-19T16:16:46.634Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:46.636Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind286 ../src/curl -q --output log/curl286.out  --include --trace-ascii log/trace286 --trace-time -T log/test286.txt tftp://127.0.0.1:35071// > log/stdout286 2> log/stderr286"}

data: {"time":"2026-09-19T16:16:46.637Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:46.637Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.637Z","priority":"6","pid":"2830187","message":" Testnum 286"}

data: {"time":"2026-09-19T16:16:46.637Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.638Z","priority":"6","pid":"2830187","message":"=== Start of file test286.txt"}

data: {"time":"2026-09-19T16:16:46.638Z","priority":"6","pid":"2830187","message":" A chunk of data which exactly fits into"}

data: {"time":"2026-09-19T16:16:46.638Z","priority":"6","pid":"2830187","message":" a 512-byte TFTP block, testing a boundary"}

data: {"time":"2026-09-19T16:16:46.639Z","priority":"6","pid":"2830187","message":" condition in the TFTP transmit code."}

data: {"time":"2026-09-19T16:16:46.639Z","priority":"6","pid":"2830187","message":" 89ABCDEF"}

data: {"time":"2026-09-19T16:16:46.639Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.639Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.640Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.640Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.640Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.641Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.641Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.641Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.641Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.641Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.641Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.642Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.642Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.642Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.643Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.643Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.644Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.644Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.644Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.644Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.644Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.644Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.644Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.645Z","priority":"6","pid":"2830187","message":" 123456789ABCDEF"}

data: {"time":"2026-09-19T16:16:46.645Z","priority":"6","pid":"2830187","message":"=== End of file test286.txt"}

data: {"time":"2026-09-19T16:16:46.645Z","priority":"6","pid":"2830187","message":"=== Start of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:46.646Z","priority":"6","pid":"2830187","message":" 16:16:46.211662 trying to get file: verifiedserver mode 1"}

data: {"time":"2026-09-19T16:16:46.646Z","priority":"6","pid":"2830187","message":" 16:16:46.211706 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:46.647Z","priority":"6","pid":"2830187","message":" 16:16:46.211729 write"}

data: {"time":"2026-09-19T16:16:46.647Z","priority":"6","pid":"2830187","message":" 16:16:46.211763 read"}

data: {"time":"2026-09-19T16:16:46.647Z","priority":"6","pid":"2830187","message":" 16:16:46.212564 read: 4"}

data: {"time":"2026-09-19T16:16:46.647Z","priority":"6","pid":"2830187","message":" 16:16:46.212700 end of one transfer"}

data: {"time":"2026-09-19T16:16:46.648Z","priority":"6","pid":"2830187","message":"=== End of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:46.648Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind286"}

data: {"time":"2026-09-19T16:16:46.649Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:46.650Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:46.650Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:46.650Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.650Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:46.650Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:46.651Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.651Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:46.652Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.652Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.653Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:46.653Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:46.653Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:46.654Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:46.654Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:46.655Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:46.655Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:46.655Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.656Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:46.656Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:46.657Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.657Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:46.658Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:46.659Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:46.659Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.659Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:46.659Z","priority":"6","pid":"2830187","message":"=== End of file valgrind286"}

data: {"time":"2026-09-19T16:16:46.856Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind288 ../src/curl -q --output log/curl288.out  --trace-ascii log/trace288 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test288.txt > log/stdout288 2> log/stderr288"}

data: {"time":"2026-09-19T16:16:46.859Z","priority":"6","pid":"2830187","message":"test 0287 [HTTP proxy CONNECT with custom User-Agent header]"}

data: {"time":"2026-09-19T16:16:46.862Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind287 ../src/curl -q --include --trace-ascii log/trace287 --trace-time http://test.remote.example.com.287:36137/path/287 -H \"User-Agent: looser/2015\" --proxy http://127.0.0.1:36137 --proxytunnel --proxy-header \"User-Agent: looser/2007\" > log/stdout287 2> log/stderr287"}

data: {"time":"2026-09-19T16:16:46.863Z","priority":"6","pid":"2830187","message":" 287: stdout FAILED:"}

data: {"time":"2026-09-19T16:16:46.864Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:46.608044725 +0000"}

data: {"time":"2026-09-19T16:16:46.864Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:46.606512962 +0000"}

data: {"time":"2026-09-19T16:16:46.866Z","priority":"6","pid":"2830187","message":"@@ -1,2 +0,0 @@"}

data: {"time":"2026-09-19T16:16:46.866Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 405 Method Not Allowed swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:46.866Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:16:46.868Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 287"}

data: {"time":"2026-09-19T16:16:46.869Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:46.870Z","priority":"6","pid":"2830187","message":" HTTP/1.1 405 Method Not Allowed swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:16:46.872Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:16:46.872Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:46.872Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:46.876Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind287 ../src/curl -q --include --trace-ascii log/trace287 --trace-time http://test.remote.example.com.287:36137/path/287 -H \"User-Agent: looser/2015\" --proxy http://127.0.0.1:36137 --proxytunnel --proxy-header \"User-Agent: looser/2007\" > log/stdout287 2> log/stderr287"}

data: {"time":"2026-09-19T16:16:46.878Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:46.879Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:46.879Z","priority":"6","pid":"2830187","message":" 16:16:46.489155 ====> Client connect"}

data: {"time":"2026-09-19T16:16:46.879Z","priority":"6","pid":"2830187","message":" 16:16:46.489215 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:46.880Z","priority":"6","pid":"2830187","message":" 16:16:46.489418 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:46.881Z","priority":"6","pid":"2830187","message":" 16:16:46.489449 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:46.882Z","priority":"6","pid":"2830187","message":" 16:16:46.489656 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:46.883Z","priority":"6","pid":"2830187","message":" 16:16:46.489678 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:46.884Z","priority":"6","pid":"2830187","message":" 16:16:46.489723 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:46.884Z","priority":"6","pid":"2830187","message":" 16:16:46.489745 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:46.885Z","priority":"6","pid":"2830187","message":" 16:16:46.489826 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:46.885Z","priority":"6","pid":"2830187","message":" 16:16:46.489839 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:46.886Z","priority":"6","pid":"2830187","message":" 16:16:46.489849 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:46.886Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:46.887Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:46.887Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:46.887Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 43930"}

data: {"time":"2026-09-19T16:16:46.888Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:46.889Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:46.889Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:46.889Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:46.890Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:46.890Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:46.890Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:46.891Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:46.891Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:46.891Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:46.891Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:46.892Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:46.892Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:46.893Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:46.893Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:46.893Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:46.893Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.893Z","priority":"6","pid":"2830187","message":" Testnum 287"}

data: {"time":"2026-09-19T16:16:46.894Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:46.894Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:46.894Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:46.895Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:46.895Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:46.895Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:46.895Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind287"}

data: {"time":"2026-09-19T16:16:46.896Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:46.896Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:46.897Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:46.897Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.897Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:46.898Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:46.898Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.899Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:46.899Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:46.899Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.900Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:46.900Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:46.901Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:46.902Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:46.902Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:46.903Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:46.903Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:46.903Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.904Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:46.904Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:46.905Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.905Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:46.905Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:46.905Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:46.906Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:46.906Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:46.907Z","priority":"6","pid":"2830187","message":"=== End of file valgrind287"}

data: {"time":"2026-09-19T16:16:47.198Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind289 ../src/curl -q --output log/curl289.out  --include --trace-ascii log/trace289 --trace-time ftp://127.0.0.1:40021/289 -T log/illegal-nonexistent-file -C - > log/stdout289 2> log/stderr289"}

data: {"time":"2026-09-19T16:16:47.202Z","priority":"6","pid":"2830187","message":"setenv all_proxy = http://fake:user@127.0.0.1:47/"}

data: {"time":"2026-09-19T16:16:47.202Z","priority":"6","pid":"2830187","message":"test 0288 [file:// with (unsupported) proxy, authentication and range]"}

data: {"time":"2026-09-19T16:16:47.204Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind288 ../src/curl -q --output log/curl288.out  --trace-ascii log/trace288 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test288.txt > log/stdout288 2> log/stderr288"}

data: {"time":"2026-09-19T16:16:47.205Z","priority":"6","pid":"2830187","message":" 288: data FAILED:"}

data: {"time":"2026-09-19T16:16:47.205Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:46.859454158 +0000"}

data: {"time":"2026-09-19T16:16:47.206Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:46.857524883 +0000"}

data: {"time":"2026-09-19T16:16:47.206Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:16:47.207Z","priority":"6","pid":"2830187","message":"-foo[LF]"}

data: {"time":"2026-09-19T16:16:47.207Z","priority":"6","pid":"2830187","message":"-   bar[LF]"}

data: {"time":"2026-09-19T16:16:47.207Z","priority":"6","pid":"2830187","message":"-bar[LF]"}

data: {"time":"2026-09-19T16:16:47.207Z","priority":"6","pid":"2830187","message":"-   foo[LF]"}

data: {"time":"2026-09-19T16:16:47.207Z","priority":"6","pid":"2830187","message":"-moo[LF]"}

data: {"time":"2026-09-19T16:16:47.208Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 288"}

data: {"time":"2026-09-19T16:16:47.208Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:47.209Z","priority":"6","pid":"2830187","message":" foo[LF]"}

data: {"time":"2026-09-19T16:16:47.209Z","priority":"6","pid":"2830187","message":"    bar[LF]"}

data: {"time":"2026-09-19T16:16:47.209Z","priority":"6","pid":"2830187","message":" bar[LF]"}

data: {"time":"2026-09-19T16:16:47.209Z","priority":"6","pid":"2830187","message":"    foo[LF]"}

data: {"time":"2026-09-19T16:16:47.209Z","priority":"6","pid":"2830187","message":" moo[LF]"}

data: {"time":"2026-09-19T16:16:47.210Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:47.210Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:47.211Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind288 ../src/curl -q --output log/curl288.out  --trace-ascii log/trace288 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test288.txt > log/stdout288 2> log/stderr288"}

data: {"time":"2026-09-19T16:16:47.212Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:47.212Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:47.213Z","priority":"6","pid":"2830187","message":" Testnum 288"}

data: {"time":"2026-09-19T16:16:47.213Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:47.213Z","priority":"6","pid":"2830187","message":"=== Start of file test288.txt"}

data: {"time":"2026-09-19T16:16:47.213Z","priority":"6","pid":"2830187","message":" foo"}

data: {"time":"2026-09-19T16:16:47.214Z","priority":"6","pid":"2830187","message":"    bar"}

data: {"time":"2026-09-19T16:16:47.214Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:16:47.214Z","priority":"6","pid":"2830187","message":"    foo"}

data: {"time":"2026-09-19T16:16:47.214Z","priority":"6","pid":"2830187","message":" moo"}

data: {"time":"2026-09-19T16:16:47.214Z","priority":"6","pid":"2830187","message":"=== End of file test288.txt"}

data: {"time":"2026-09-19T16:16:47.215Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind288"}

data: {"time":"2026-09-19T16:16:47.215Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:47.216Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:47.216Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:47.216Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.217Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:47.217Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:47.218Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:47.218Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:47.218Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:47.219Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.219Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:47.220Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:47.220Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:47.221Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:47.221Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:47.223Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:47.223Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:47.223Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.223Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:47.223Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:47.224Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.224Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:47.225Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:47.225Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:47.226Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.226Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:47.226Z","priority":"6","pid":"2830187","message":"=== End of file valgrind288"}

data: {"time":"2026-09-19T16:16:47.226Z","priority":"6","pid":"2830187","message":"test 0289 [FTP resume upload but denied access to local file]"}

data: {"time":"2026-09-19T16:16:47.228Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind289 ../src/curl -q --output log/curl289.out  --include --trace-ascii log/trace289 --trace-time ftp://127.0.0.1:40021/289 -T log/illegal-nonexistent-file -C - > log/stdout289 2> log/stderr289"}

data: {"time":"2026-09-19T16:16:47.228Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 26"}

data: {"time":"2026-09-19T16:16:47.229Z","priority":"6","pid":"2830187","message":" 289: exit FAILED"}

data: {"time":"2026-09-19T16:16:47.229Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 289"}

data: {"time":"2026-09-19T16:16:47.230Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:47.231Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind289 ../src/curl -q --output log/curl289.out  --include --trace-ascii log/trace289 --trace-time ftp://127.0.0.1:40021/289 -T log/illegal-nonexistent-file -C - > log/stdout289 2> log/stderr289"}

data: {"time":"2026-09-19T16:16:47.232Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:47.232Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:47.232Z","priority":"6","pid":"2830187","message":" 16:16:46.959014 ====> Client connect"}

data: {"time":"2026-09-19T16:16:47.233Z","priority":"6","pid":"2830187","message":" 16:16:46.960144 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.234Z","priority":"6","pid":"2830187","message":" 16:16:46.960472 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:47.234Z","priority":"6","pid":"2830187","message":" 16:16:46.960562 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.235Z","priority":"6","pid":"2830187","message":" 16:16:46.960991 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:47.235Z","priority":"6","pid":"2830187","message":" 16:16:46.961058 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.236Z","priority":"6","pid":"2830187","message":" 16:16:46.961532 < \"PWD\""}

data: {"time":"2026-09-19T16:16:47.236Z","priority":"6","pid":"2830187","message":" 16:16:46.961608 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.237Z","priority":"6","pid":"2830187","message":" 16:16:46.961975 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:47.237Z","priority":"6","pid":"2830187","message":" 16:16:46.962043 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:47.237Z","priority":"6","pid":"2830187","message":" 16:16:46.962075 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:47.238Z","priority":"6","pid":"2830187","message":" 16:16:46.965637 DATA sockfilt for passive data channel started (pid 96012)"}

data: {"time":"2026-09-19T16:16:47.239Z","priority":"6","pid":"2830187","message":" 16:16:46.965890 DATA sockfilt for passive data channel listens on port 42373"}

data: {"time":"2026-09-19T16:16:47.239Z","priority":"6","pid":"2830187","message":" 16:16:46.966154 > \"229 Entering Passive Mode (|||42373|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.240Z","priority":"6","pid":"2830187","message":" 16:16:46.966194 Client has been notified that upcoming DATA connection is awaited on port 42373"}

data: {"time":"2026-09-19T16:16:47.240Z","priority":"6","pid":"2830187","message":" 16:16:46.966720 Client connects to port 42373"}

data: {"time":"2026-09-19T16:16:47.240Z","priority":"6","pid":"2830187","message":" 16:16:46.966787 ====> Client established passive DATA connection on port 42373"}

data: {"time":"2026-09-19T16:16:47.241Z","priority":"6","pid":"2830187","message":" 16:16:46.966941 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:47.241Z","priority":"6","pid":"2830187","message":" 16:16:46.967011 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.242Z","priority":"6","pid":"2830187","message":" 16:16:46.967388 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:47.242Z","priority":"6","pid":"2830187","message":" 16:16:46.967468 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.243Z","priority":"6","pid":"2830187","message":" 16:16:46.967819 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:47.243Z","priority":"6","pid":"2830187","message":" 16:16:46.967920 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.244Z","priority":"6","pid":"2830187","message":" 16:16:46.968080 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:47.244Z","priority":"6","pid":"2830187","message":" 16:16:46.968113 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:47.244Z","priority":"6","pid":"2830187","message":" 16:16:46.968662 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:47.245Z","priority":"6","pid":"2830187","message":" 16:16:46.968716 DATA sockfilt for passive data channel quits (pid 96012)"}

data: {"time":"2026-09-19T16:16:47.245Z","priority":"6","pid":"2830187","message":" 16:16:46.969229 DATA sockfilt for passive data channel quit (pid 96012)"}

data: {"time":"2026-09-19T16:16:47.246Z","priority":"6","pid":"2830187","message":" 16:16:46.969279 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:47.247Z","priority":"6","pid":"2830187","message":" 16:16:46.969380 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.247Z","priority":"6","pid":"2830187","message":" 16:16:47.009074 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:47.247Z","priority":"6","pid":"2830187","message":" 16:16:47.009170 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.247Z","priority":"6","pid":"2830187","message":" 16:16:47.010497 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:47.248Z","priority":"6","pid":"2830187","message":" 16:16:47.010779 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:47.248Z","priority":"6","pid":"2830187","message":" 16:16:47.011121 Awaiting input"}

data: {"time":"2026-09-19T16:16:47.248Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:47.249Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:47.250Z","priority":"6","pid":"2830187","message":" 16:16:47.027835 ====> Client connect"}

data: {"time":"2026-09-19T16:16:47.250Z","priority":"6","pid":"2830187","message":" 16:16:47.028799 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.250Z","priority":"6","pid":"2830187","message":" 16:16:47.028866 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.251Z","priority":"6","pid":"2830187","message":" 16:16:47.028908 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:47.251Z","priority":"6","pid":"2830187","message":" 16:16:47.028924 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.251Z","priority":"6","pid":"2830187","message":" 16:16:47.028935 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.252Z","priority":"6","pid":"2830187","message":" 16:16:47.029150 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.252Z","priority":"6","pid":"2830187","message":" 16:16:47.029179 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.253Z","priority":"6","pid":"2830187","message":" 16:16:47.029731 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.253Z","priority":"6","pid":"2830187","message":" 16:16:47.029758 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.253Z","priority":"6","pid":"2830187","message":" 16:16:47.029781 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.254Z","priority":"6","pid":"2830187","message":" 16:16:47.029921 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.254Z","priority":"6","pid":"2830187","message":" 16:16:47.029947 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.256Z","priority":"6","pid":"2830187","message":" 16:16:47.030221 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.256Z","priority":"6","pid":"2830187","message":" 16:16:47.030247 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.256Z","priority":"6","pid":"2830187","message":" 16:16:47.030263 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.257Z","priority":"6","pid":"2830187","message":" 16:16:47.030487 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.257Z","priority":"6","pid":"2830187","message":" 16:16:47.030518 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.257Z","priority":"6","pid":"2830187","message":" 16:16:47.030758 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.258Z","priority":"6","pid":"2830187","message":" 16:16:47.030800 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.258Z","priority":"6","pid":"2830187","message":" 16:16:47.030823 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.259Z","priority":"6","pid":"2830187","message":" 16:16:47.030947 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.259Z","priority":"6","pid":"2830187","message":" 16:16:47.030968 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.259Z","priority":"6","pid":"2830187","message":" 16:16:47.035091 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.260Z","priority":"6","pid":"2830187","message":" 16:16:47.035121 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.260Z","priority":"6","pid":"2830187","message":" 16:16:47.035154 '229 Entering Passive Mode (|||42373|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.261Z","priority":"6","pid":"2830187","message":" 16:16:47.035761 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.261Z","priority":"6","pid":"2830187","message":" 16:16:47.035785 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.262Z","priority":"6","pid":"2830187","message":" 16:16:47.036166 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.263Z","priority":"6","pid":"2830187","message":" 16:16:47.036189 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.263Z","priority":"6","pid":"2830187","message":" 16:16:47.036202 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.263Z","priority":"6","pid":"2830187","message":" 16:16:47.036323 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.263Z","priority":"6","pid":"2830187","message":" 16:16:47.036343 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.263Z","priority":"6","pid":"2830187","message":" 16:16:47.036633 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.264Z","priority":"6","pid":"2830187","message":" 16:16:47.036659 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.265Z","priority":"6","pid":"2830187","message":" 16:16:47.036673 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.265Z","priority":"6","pid":"2830187","message":" 16:16:47.036784 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.265Z","priority":"6","pid":"2830187","message":" 16:16:47.036804 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.265Z","priority":"6","pid":"2830187","message":" 16:16:47.037266 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.266Z","priority":"6","pid":"2830187","message":" 16:16:47.037290 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.266Z","priority":"6","pid":"2830187","message":" 16:16:47.037304 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.266Z","priority":"6","pid":"2830187","message":" 16:16:47.038541 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.267Z","priority":"6","pid":"2830187","message":" 16:16:47.038565 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.267Z","priority":"6","pid":"2830187","message":" 16:16:47.038581 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.268Z","priority":"6","pid":"2830187","message":" 16:16:47.077903 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.269Z","priority":"6","pid":"2830187","message":" 16:16:47.077975 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.269Z","priority":"6","pid":"2830187","message":" 16:16:47.078383 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.554Z","priority":"6","pid":"2830187","message":" 16:1CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind290 ../src/curl -q --output log/curl290.out  --include --trace-ascii log/trace290 --trace-time ftp://127.0.0.1:40021/290 --max-filesize 30 > log/stdout290 2> log/stderr290"}

data: {"time":"2026-09-19T16:16:47.570Z","priority":"6","pid":"2830187","message":"6:47.078413 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.570Z","priority":"6","pid":"2830187","message":" 16:16:47.078427 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.571Z","priority":"6","pid":"2830187","message":" 16:16:47.079311 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:47.571Z","priority":"6","pid":"2830187","message":" 16:16:47.079769 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:47.571Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:47.572Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:47.572Z","priority":"6","pid":"2830187","message":" 16:16:46.034302 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:47.572Z","priority":"6","pid":"2830187","message":" 16:16:46.034549 Listening on port 42373"}

data: {"time":"2026-09-19T16:16:47.573Z","priority":"6","pid":"2830187","message":" 16:16:46.034633 Wrote pid 96012 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:47.573Z","priority":"6","pid":"2830187","message":" 16:16:46.034672 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:47.574Z","priority":"6","pid":"2830187","message":" 16:16:46.034855 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:47.574Z","priority":"6","pid":"2830187","message":" 16:16:46.035691 ====> Client connect"}

data: {"time":"2026-09-19T16:16:47.575Z","priority":"6","pid":"2830187","message":" 16:16:46.037360 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.576Z","priority":"6","pid":"2830187","message":" 16:16:46.037398 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.576Z","priority":"6","pid":"2830187","message":" 16:16:46.037415 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.577Z","priority":"6","pid":"2830187","message":" 16:16:46.037490 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:47.578Z","priority":"6","pid":"2830187","message":" 16:16:46.037526 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:47.578Z","priority":"6","pid":"2830187","message":" 16:16:46.037861 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:47.578Z","priority":"6","pid":"2830187","message":" 16:16:46.037882 quits"}

data: {"time":"2026-09-19T16:16:47.578Z","priority":"6","pid":"2830187","message":" 16:16:46.038000 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:47.579Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:47.579Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:47.580Z","priority":"6","pid":"2830187","message":" Testnum 289"}

data: {"time":"2026-09-19T16:16:47.580Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:47.580Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind289"}

data: {"time":"2026-09-19T16:16:47.580Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:47.581Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:47.581Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:47.581Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.582Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:47.582Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:47.583Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:47.583Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:47.583Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:47.583Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.584Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:47.584Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:47.585Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:47.585Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:47.585Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:47.586Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:47.586Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:47.586Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.587Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:47.587Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:47.588Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.588Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:47.588Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:47.589Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:47.589Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.589Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:47.590Z","priority":"6","pid":"2830187","message":"=== End of file valgrind289"}

data: {"time":"2026-09-19T16:16:47.590Z","priority":"6","pid":"2830187","message":"test 0290 [FTP download maximum filesize exceeded]"}

data: {"time":"2026-09-19T16:16:47.592Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind290 ../src/curl -q --output log/curl290.out  --include --trace-ascii log/trace290 --trace-time ftp://127.0.0.1:40021/290 --max-filesize 30 > log/stdout290 2> log/stderr290"}

data: {"time":"2026-09-19T16:16:47.593Z","priority":"6","pid":"2830187","message":" 290: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:47.593Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:47.593Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:47.593Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 290"}

data: {"time":"2026-09-19T16:16:47.594Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:47.595Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind290 ../src/curl -q --output log/curl290.out  --include --trace-ascii log/trace290 --trace-time ftp://127.0.0.1:40021/290 --max-filesize 30 > log/stdout290 2> log/stderr290"}

data: {"time":"2026-09-19T16:16:47.596Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:47.596Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:47.597Z","priority":"6","pid":"2830187","message":" 16:16:47.313857 ====> Client connect"}

data: {"time":"2026-09-19T16:16:47.598Z","priority":"6","pid":"2830187","message":" 16:16:47.314202 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.598Z","priority":"6","pid":"2830187","message":" 16:16:47.314893 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:47.599Z","priority":"6","pid":"2830187","message":" 16:16:47.315128 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.600Z","priority":"6","pid":"2830187","message":" 16:16:47.315410 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:47.600Z","priority":"6","pid":"2830187","message":" 16:16:47.315521 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.600Z","priority":"6","pid":"2830187","message":" 16:16:47.315823 < \"PWD\""}

data: {"time":"2026-09-19T16:16:47.600Z","priority":"6","pid":"2830187","message":" 16:16:47.315921 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.600Z","priority":"6","pid":"2830187","message":" 16:16:47.316235 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:47.601Z","priority":"6","pid":"2830187","message":" 16:16:47.316281 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:47.601Z","priority":"6","pid":"2830187","message":" 16:16:47.316304 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:47.602Z","priority":"6","pid":"2830187","message":" 16:16:47.320160 DATA sockfilt for passive data channel started (pid 96078)"}

data: {"time":"2026-09-19T16:16:47.602Z","priority":"6","pid":"2830187","message":" 16:16:47.320503 DATA sockfilt for passive data channel listens on port 45373"}

data: {"time":"2026-09-19T16:16:47.603Z","priority":"6","pid":"2830187","message":" 16:16:47.320608 > \"229 Entering Passive Mode (|||45373|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.604Z","priority":"6","pid":"2830187","message":" 16:16:47.320638 Client has been notified that upcoming DATA connection is awaited on port 45373"}

data: {"time":"2026-09-19T16:16:47.604Z","priority":"6","pid":"2830187","message":" 16:16:47.321202 Client connects to port 45373"}

data: {"time":"2026-09-19T16:16:47.605Z","priority":"6","pid":"2830187","message":" 16:16:47.321271 ====> Client established passive DATA connection on port 45373"}

data: {"time":"2026-09-19T16:16:47.605Z","priority":"6","pid":"2830187","message":" 16:16:47.321504 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:47.605Z","priority":"6","pid":"2830187","message":" 16:16:47.321819 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.606Z","priority":"6","pid":"2830187","message":" 16:16:47.321961 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:47.606Z","priority":"6","pid":"2830187","message":" 16:16:47.322027 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.607Z","priority":"6","pid":"2830187","message":" 16:16:47.322378 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:47.607Z","priority":"6","pid":"2830187","message":" 16:16:47.322505 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.608Z","priority":"6","pid":"2830187","message":" 16:16:47.322841 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:47.608Z","priority":"6","pid":"2830187","message":" 16:16:47.322887 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:47.609Z","priority":"6","pid":"2830187","message":" 16:16:47.323201 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:47.609Z","priority":"6","pid":"2830187","message":" 16:16:47.323257 DATA sockfilt for passive data channel quits (pid 96078)"}

data: {"time":"2026-09-19T16:16:47.610Z","priority":"6","pid":"2830187","message":" 16:16:47.323828 DATA sockfilt for passive data channel quit (pid 96078)"}

data: {"time":"2026-09-19T16:16:47.610Z","priority":"6","pid":"2830187","message":" 16:16:47.323900 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:47.610Z","priority":"6","pid":"2830187","message":" 16:16:47.324193 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.611Z","priority":"6","pid":"2830187","message":" 16:16:47.364167 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:47.611Z","priority":"6","pid":"2830187","message":" 16:16:47.364250 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.612Z","priority":"6","pid":"2830187","message":" 16:16:47.365224 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:47.612Z","priority":"6","pid":"2830187","message":" 16:16:47.365414 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:47.613Z","priority":"6","pid":"2830187","message":" 16:16:47.365578 Awaiting input"}

data: {"time":"2026-09-19T16:16:47.613Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:47.613Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:47.613Z","priority":"6","pid":"2830187","message":" 16:16:47.382747 ====> Client connect"}

data: {"time":"2026-09-19T16:16:47.613Z","priority":"6","pid":"2830187","message":" 16:16:47.383484 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.614Z","priority":"6","pid":"2830187","message":" 16:16:47.383530 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.614Z","priority":"6","pid":"2830187","message":" 16:16:47.383547 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:47.615Z","priority":"6","pid":"2830187","message":" 16:16:47.383560 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.615Z","priority":"6","pid":"2830187","message":" 16:16:47.383571 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.616Z","priority":"6","pid":"2830187","message":" 16:16:47.383730 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.616Z","priority":"6","pid":"2830187","message":" 16:16:47.383753 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.616Z","priority":"6","pid":"2830187","message":" 16:16:47.384057 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.617Z","priority":"6","pid":"2830187","message":" 16:16:47.384080 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.617Z","priority":"6","pid":"2830187","message":" 16:16:47.384107 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.618Z","priority":"6","pid":"2830187","message":" 16:16:47.384300 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.618Z","priority":"6","pid":"2830187","message":" 16:16:47.384320 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.618Z","priority":"6","pid":"2830187","message":" 16:16:47.384559 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.619Z","priority":"6","pid":"2830187","message":" 16:16:47.384583 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.619Z","priority":"6","pid":"2830187","message":" 16:16:47.384652 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.620Z","priority":"6","pid":"2830187","message":" 16:16:47.384812 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.620Z","priority":"6","pid":"2830187","message":" 16:16:47.384837 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.621Z","priority":"6","pid":"2830187","message":" 16:16:47.385051 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.621Z","priority":"6","pid":"2830187","message":" 16:16:47.385070 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.621Z","priority":"6","pid":"2830187","message":" 16:16:47.385083 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.622Z","priority":"6","pid":"2830187","message":" 16:16:47.385197 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.623Z","priority":"6","pid":"2830187","message":" 16:16:47.385216 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.623Z","priority":"6","pid":"2830187","message":" 16:16:47.389779 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.623Z","priority":"6","pid":"2830187","message":" 16:16:47.389807 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.623Z","priority":"6","pid":"2830187","message":" 16:16:47.389822 '229 Entering Passive Mode (|||45373|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.624Z","priority":"6","pid":"2830187","message":" 16:16:47.390171 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.624Z","priority":"6","pid":"2830187","message":" 16:16:47.390201 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.625Z","priority":"6","pid":"2830187","message":" 16:16:47.390675 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.625Z","priority":"6","pid":"2830187","message":" 16:16:47.390706 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.626Z","priority":"6","pid":"2830187","message":" 16:16:47.390735 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.626Z","priority":"6","pid":"2830187","message":" 16:16:47.390854 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.627Z","priority":"6","pid":"2830187","message":" 16:16:47.390873 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.627Z","priority":"6","pid":"2830187","message":" 16:16:47.391180 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.627Z","priority":"6","pid":"2830187","message":" 16:16:47.391201 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.628Z","priority":"6","pid":"2830187","message":" 16:16:47.391213 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.628Z","priority":"6","pid":"2830187","message":" 16:16:47.391335 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.629Z","priority":"6","pid":"2830187","message":" 16:16:47.391351 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.629Z","priority":"6","pid":"2830187","message":" 16:16:47.391543 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.629Z","priority":"6","pid":"2830187","message":" 16:16:47.391563 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.630Z","priority":"6","pid":"2830187","message":" 16:16:47.391712 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.630Z","priority":"6","pid":"2830187","message":" 16:16:47.393190 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.631Z","priority":"6","pid":"2830187","message":" 16:16:47.393216 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.631Z","priority":"6","pid":"2830187","message":" 16:16:47.393243 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.631Z","priority":"6","pid":"2830187","message":" 16:16:47.432856 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.631Z","priority":"6","pid":"2830187","message":" 16:16:47.432920 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.632Z","priority":"6","pid":"2830187","message":" 16:16:47.433380 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.632Z","priority":"6","pid":"2830187","message":" 16:16:47.433403 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.632Z","priority":"6","pid":"2830187","message":" 16:16:47.433433 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.633Z","priority":"6","pid":"2830187","message":" 16:16:47.434224 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:47.633Z","priority":"6","pid":"2830187","message":" 16:16:47.434386 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:47.633Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:47.634Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:47.634Z","priority":"6","pid":"2830187","message":" 16:16:47.388857 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:47.634Z","priority":"6","pid":"2830187","message":" 16:16:47.389063 Listening on port 45373"}

data: {"time":"2026-09-19T16:16:47.635Z","priority":"6","pid":"2830187","message":" 16:16:47.389128 Wrote pid 96078 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:47.635Z","priority":"6","pid":"2830187","message":" 16:16:47.389184 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:47.635Z","priority":"6","pid":"2830187","message":" 16:16:47.389366 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:47.940Z","priority":"6","pid":"2830187","message":" 16:16:47.390236 =CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind291 ../src/curl -q --output log/curl291.out  --include --trace-ascii log/trace291 --trace-time ftp://127.0.0.1:40021/291 --max-filesize 100 > log/stdout291 2> log/stderr291"}

data: {"time":"2026-09-19T16:16:47.944Z","priority":"6","pid":"2830187","message":"===> Client connect"}

data: {"time":"2026-09-19T16:16:47.944Z","priority":"6","pid":"2830187","message":" 16:16:47.391658 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.945Z","priority":"6","pid":"2830187","message":" 16:16:47.391691 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.945Z","priority":"6","pid":"2830187","message":" 16:16:47.392032 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.946Z","priority":"6","pid":"2830187","message":" 16:16:47.392096 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:47.946Z","priority":"6","pid":"2830187","message":" 16:16:47.392113 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:47.946Z","priority":"6","pid":"2830187","message":" 16:16:47.392385 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:47.947Z","priority":"6","pid":"2830187","message":" 16:16:47.392493 quits"}

data: {"time":"2026-09-19T16:16:47.947Z","priority":"6","pid":"2830187","message":" 16:16:47.392618 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:47.947Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:47.948Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:47.948Z","priority":"6","pid":"2830187","message":" Testnum 290"}

data: {"time":"2026-09-19T16:16:47.948Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:47.949Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind290"}

data: {"time":"2026-09-19T16:16:47.949Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:47.949Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:47.950Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:47.950Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.950Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:47.951Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:47.951Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:47.952Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:47.952Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:47.952Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.953Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:47.953Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:47.954Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:47.954Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:47.954Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:47.955Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:47.956Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:47.956Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.956Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:47.957Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:47.957Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.958Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:47.958Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:47.959Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:47.959Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:47.959Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:47.959Z","priority":"6","pid":"2830187","message":"=== End of file valgrind290"}

data: {"time":"2026-09-19T16:16:47.959Z","priority":"6","pid":"2830187","message":"test 0291 [FTP download maximum filesize not exceeded]"}

data: {"time":"2026-09-19T16:16:47.961Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind291 ../src/curl -q --output log/curl291.out  --include --trace-ascii log/trace291 --trace-time ftp://127.0.0.1:40021/291 --max-filesize 100 > log/stdout291 2> log/stderr291"}

data: {"time":"2026-09-19T16:16:47.961Z","priority":"6","pid":"2830187","message":" 291: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:47.964Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:47.965Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:47.965Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 291"}

data: {"time":"2026-09-19T16:16:47.965Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:47.966Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind291 ../src/curl -q --output log/curl291.out  --include --trace-ascii log/trace291 --trace-time ftp://127.0.0.1:40021/291 --max-filesize 100 > log/stdout291 2> log/stderr291"}

data: {"time":"2026-09-19T16:16:47.967Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:47.967Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:47.968Z","priority":"6","pid":"2830187","message":" 16:16:47.692948 ====> Client connect"}

data: {"time":"2026-09-19T16:16:47.969Z","priority":"6","pid":"2830187","message":" 16:16:47.693303 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.969Z","priority":"6","pid":"2830187","message":" 16:16:47.694104 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:47.969Z","priority":"6","pid":"2830187","message":" 16:16:47.694274 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.970Z","priority":"6","pid":"2830187","message":" 16:16:47.694573 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:47.970Z","priority":"6","pid":"2830187","message":" 16:16:47.694621 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.971Z","priority":"6","pid":"2830187","message":" 16:16:47.694946 < \"PWD\""}

data: {"time":"2026-09-19T16:16:47.971Z","priority":"6","pid":"2830187","message":" 16:16:47.695003 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.971Z","priority":"6","pid":"2830187","message":" 16:16:47.695308 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:47.972Z","priority":"6","pid":"2830187","message":" 16:16:47.695380 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:47.972Z","priority":"6","pid":"2830187","message":" 16:16:47.695415 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:47.973Z","priority":"6","pid":"2830187","message":" 16:16:47.699722 DATA sockfilt for passive data channel started (pid 96144)"}

data: {"time":"2026-09-19T16:16:47.974Z","priority":"6","pid":"2830187","message":" 16:16:47.700088 DATA sockfilt for passive data channel listens on port 45879"}

data: {"time":"2026-09-19T16:16:47.974Z","priority":"6","pid":"2830187","message":" 16:16:47.700393 > \"229 Entering Passive Mode (|||45879|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.975Z","priority":"6","pid":"2830187","message":" 16:16:47.700453 Client has been notified that upcoming DATA connection is awaited on port 45879"}

data: {"time":"2026-09-19T16:16:47.975Z","priority":"6","pid":"2830187","message":" 16:16:47.700876 Client connects to port 45879"}

data: {"time":"2026-09-19T16:16:47.975Z","priority":"6","pid":"2830187","message":" 16:16:47.700951 ====> Client established passive DATA connection on port 45879"}

data: {"time":"2026-09-19T16:16:47.976Z","priority":"6","pid":"2830187","message":" 16:16:47.701258 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:47.976Z","priority":"6","pid":"2830187","message":" 16:16:47.701506 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.977Z","priority":"6","pid":"2830187","message":" 16:16:47.701831 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:47.977Z","priority":"6","pid":"2830187","message":" 16:16:47.702109 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.977Z","priority":"6","pid":"2830187","message":" 16:16:47.702526 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:47.978Z","priority":"6","pid":"2830187","message":" 16:16:47.702606 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.978Z","priority":"6","pid":"2830187","message":" 16:16:47.702743 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:47.979Z","priority":"6","pid":"2830187","message":" 16:16:47.702777 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:47.979Z","priority":"6","pid":"2830187","message":" 16:16:47.703321 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:47.980Z","priority":"6","pid":"2830187","message":" 16:16:47.703447 DATA sockfilt for passive data channel quits (pid 96144)"}

data: {"time":"2026-09-19T16:16:47.980Z","priority":"6","pid":"2830187","message":" 16:16:47.704009 DATA sockfilt for passive data channel quit (pid 96144)"}

data: {"time":"2026-09-19T16:16:47.981Z","priority":"6","pid":"2830187","message":" 16:16:47.704066 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:47.982Z","priority":"6","pid":"2830187","message":" 16:16:47.704148 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.982Z","priority":"6","pid":"2830187","message":" 16:16:47.744211 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:47.982Z","priority":"6","pid":"2830187","message":" 16:16:47.744387 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:47.982Z","priority":"6","pid":"2830187","message":" 16:16:47.745428 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:47.982Z","priority":"6","pid":"2830187","message":" 16:16:47.745594 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:47.983Z","priority":"6","pid":"2830187","message":" 16:16:47.745734 Awaiting input"}

data: {"time":"2026-09-19T16:16:47.983Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:47.983Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:47.984Z","priority":"6","pid":"2830187","message":" 16:16:47.761817 ====> Client connect"}

data: {"time":"2026-09-19T16:16:47.984Z","priority":"6","pid":"2830187","message":" 16:16:47.762535 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.985Z","priority":"6","pid":"2830187","message":" 16:16:47.762623 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.985Z","priority":"6","pid":"2830187","message":" 16:16:47.762647 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:47.986Z","priority":"6","pid":"2830187","message":" 16:16:47.762662 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.986Z","priority":"6","pid":"2830187","message":" 16:16:47.762676 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.986Z","priority":"6","pid":"2830187","message":" 16:16:47.762869 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.987Z","priority":"6","pid":"2830187","message":" 16:16:47.762899 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.987Z","priority":"6","pid":"2830187","message":" 16:16:47.763238 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.988Z","priority":"6","pid":"2830187","message":" 16:16:47.763258 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.989Z","priority":"6","pid":"2830187","message":" 16:16:47.763283 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.989Z","priority":"6","pid":"2830187","message":" 16:16:47.763501 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.989Z","priority":"6","pid":"2830187","message":" 16:16:47.763522 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.989Z","priority":"6","pid":"2830187","message":" 16:16:47.763724 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.990Z","priority":"6","pid":"2830187","message":" 16:16:47.763742 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.990Z","priority":"6","pid":"2830187","message":" 16:16:47.763765 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.991Z","priority":"6","pid":"2830187","message":" 16:16:47.763923 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.991Z","priority":"6","pid":"2830187","message":" 16:16:47.763947 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.991Z","priority":"6","pid":"2830187","message":" 16:16:47.764114 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.992Z","priority":"6","pid":"2830187","message":" 16:16:47.764134 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.992Z","priority":"6","pid":"2830187","message":" 16:16:47.764149 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.993Z","priority":"6","pid":"2830187","message":" 16:16:47.764256 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.993Z","priority":"6","pid":"2830187","message":" 16:16:47.764280 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.993Z","priority":"6","pid":"2830187","message":" 16:16:47.769266 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.994Z","priority":"6","pid":"2830187","message":" 16:16:47.769291 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.994Z","priority":"6","pid":"2830187","message":" 16:16:47.769324 '229 Entering Passive Mode (|||45879|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.995Z","priority":"6","pid":"2830187","message":" 16:16:47.770127 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.995Z","priority":"6","pid":"2830187","message":" 16:16:47.770154 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.996Z","priority":"6","pid":"2830187","message":" 16:16:47.770444 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.996Z","priority":"6","pid":"2830187","message":" 16:16:47.770475 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.996Z","priority":"6","pid":"2830187","message":" 16:16:47.770511 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.997Z","priority":"6","pid":"2830187","message":" 16:16:47.770726 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.997Z","priority":"6","pid":"2830187","message":" 16:16:47.770751 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.998Z","priority":"6","pid":"2830187","message":" 16:16:47.771250 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:47.998Z","priority":"6","pid":"2830187","message":" 16:16:47.771278 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:47.998Z","priority":"6","pid":"2830187","message":" 16:16:47.771293 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:47.999Z","priority":"6","pid":"2830187","message":" 16:16:47.771443 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:47.999Z","priority":"6","pid":"2830187","message":" 16:16:47.771468 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.000Z","priority":"6","pid":"2830187","message":" 16:16:47.771900 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.000Z","priority":"6","pid":"2830187","message":" 16:16:47.771925 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.001Z","priority":"6","pid":"2830187","message":" 16:16:47.771939 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.001Z","priority":"6","pid":"2830187","message":" 16:16:47.773282 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.001Z","priority":"6","pid":"2830187","message":" 16:16:47.773309 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.002Z","priority":"6","pid":"2830187","message":" 16:16:47.773323 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.002Z","priority":"6","pid":"2830187","message":" 16:16:47.813052 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:48.002Z","priority":"6","pid":"2830187","message":" 16:16:47.813146 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.003Z","priority":"6","pid":"2830187","message":" 16:16:47.813384 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.003Z","priority":"6","pid":"2830187","message":" 16:16:47.813422 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.004Z","priority":"6","pid":"2830187","message":" 16:16:47.813501 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.004Z","priority":"6","pid":"2830187","message":" 16:16:47.814369 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:48.004Z","priority":"6","pid":"2830187","message":" 16:16:47.814578 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:48.005Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:48.005Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:48.006Z","priority":"6","pid":"2830187","message":" 16:16:47.768367 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:48.006Z","priority":"6","pid":"2830187","message":" 16:16:47.768616 Listening on port 45879"}

data: {"time":"2026-09-19T16:16:48.006Z","priority":"6","pid":"2830187","message":" 16:16:47.768684 Wrote pid 96144 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:48.006Z","priority":"6","pid":"2830187","message":" 16:16:47.768717 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:48.007Z","priority":"6","pid":"2830187","message":" 16:16:47.768916 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:48.007Z","priority":"6","pid":"2830187","message":" 16:16:47.769790 ====> Client connect"}

data: {"time":"2026-09-19T16:16:48.008Z","priority":"6","pid":"2830187","message":" 16:16:47.771997 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.008Z","priority":"6","pid":"2830187","message":" 16:16:47.772031 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.009Z","priority":"6","pid":"2830187","message":" 16:16:47.772047 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.009Z","priority":"6","pid":"2830187","message":" 16:16:47.772101 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:48.009Z","priority":"6","pid":"2830187","message":" 16:16:47.772122 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:48.010Z","priority":"6","pid":"2830187","message":" 16:16:47.772575 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:48.010Z","priority":"6","pid":"2830187","message":" 16:16:47.772602 quits"}

data: {"time":"2026-09-19T16:16:48.010Z","priority":"6","pid":"2830187","message":" 16:16:47.772730 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:48.010Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:48.010Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:48.011Z","priority":"6","pid":"2830187","message":" Testnum 291"}

data: {"time":"2026-09-19T16:16:48.011Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:48.237Z","priority":"6","pid":"2830187","message":"=== Start of file valCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind292 ../src/curl -q --output log/curl292.out  --include --trace-ascii log/trace292 --trace-time http://127.0.0.1:36137/292 --max-filesize 1000 > log/stdout292 2> log/stderr292"}

data: {"time":"2026-09-19T16:16:48.469Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind293 ../src/curl -q --output log/curl293.out  --include --trace-ascii log/trace293 --trace-time http://127.0.0.1:36137/293 --max-filesize 2 > log/stdout293 2> log/stderr293"}

data: {"time":"2026-09-19T16:16:48.473Z","priority":"6","pid":"2830187","message":"grind291"}

data: {"time":"2026-09-19T16:16:48.474Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:48.474Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:48.475Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:48.475Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.475Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:48.476Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:48.476Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:48.477Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:48.477Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:48.478Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.478Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:48.479Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:48.479Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:48.479Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:48.480Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:48.480Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:48.481Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:48.481Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.482Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:48.482Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:48.482Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.483Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:48.483Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:48.484Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:48.485Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.485Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:48.485Z","priority":"6","pid":"2830187","message":"=== End of file valgrind291"}

data: {"time":"2026-09-19T16:16:48.485Z","priority":"6","pid":"2830187","message":"test 0292 [HTTP GET with maximum filesize not exceeded]"}

data: {"time":"2026-09-19T16:16:48.487Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind292 ../src/curl -q --output log/curl292.out  --include --trace-ascii log/trace292 --trace-time http://127.0.0.1:36137/292 --max-filesize 1000 > log/stdout292 2> log/stderr292"}

data: {"time":"2026-09-19T16:16:48.488Z","priority":"6","pid":"2830187","message":" 292: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:48.489Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:48.489Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:48.490Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 292"}

data: {"time":"2026-09-19T16:16:48.492Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:48.495Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind292 ../src/curl -q --output log/curl292.out  --include --trace-ascii log/trace292 --trace-time http://127.0.0.1:36137/292 --max-filesize 1000 > log/stdout292 2> log/stderr292"}

data: {"time":"2026-09-19T16:16:48.495Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:48.495Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:48.496Z","priority":"6","pid":"2830187","message":" 16:16:48.121104 ====> Client connect"}

data: {"time":"2026-09-19T16:16:48.496Z","priority":"6","pid":"2830187","message":" 16:16:48.121177 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:48.497Z","priority":"6","pid":"2830187","message":" 16:16:48.121382 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:48.497Z","priority":"6","pid":"2830187","message":" 16:16:48.121440 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:48.498Z","priority":"6","pid":"2830187","message":" 16:16:48.121459 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:48.499Z","priority":"6","pid":"2830187","message":" 16:16:48.121469 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:48.500Z","priority":"6","pid":"2830187","message":" 16:16:48.121521 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:48.500Z","priority":"6","pid":"2830187","message":" 16:16:48.121547 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:48.500Z","priority":"6","pid":"2830187","message":" 16:16:48.121617 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:48.501Z","priority":"6","pid":"2830187","message":" 16:16:48.121629 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:48.501Z","priority":"6","pid":"2830187","message":" 16:16:48.121638 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:48.502Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:48.502Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:48.503Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:48.503Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54250"}

data: {"time":"2026-09-19T16:16:48.503Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:48.504Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:48.504Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:48.504Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:48.504Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:48.504Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:48.504Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:48.505Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:48.505Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:48.505Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:48.505Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:48.506Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:48.506Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:48.506Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:48.506Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:48.507Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:48.507Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:48.507Z","priority":"6","pid":"2830187","message":" Testnum 292"}

data: {"time":"2026-09-19T16:16:48.508Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:48.508Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:48.509Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:48.509Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:48.509Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:48.509Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:48.509Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind292"}

data: {"time":"2026-09-19T16:16:48.509Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:48.510Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:48.510Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:48.510Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.511Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:48.511Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:48.511Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:48.512Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:48.512Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:48.512Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.513Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:48.513Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:48.514Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:48.514Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:48.514Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:48.515Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:48.515Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:48.515Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.516Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:48.516Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:48.516Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.517Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:48.517Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:48.518Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:48.518Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.518Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:48.518Z","priority":"6","pid":"2830187","message":"=== End of file valgrind292"}

data: {"time":"2026-09-19T16:16:48.519Z","priority":"6","pid":"2830187","message":"test 0293 [HTTP GET with maximum filesize exceeded]"}

data: {"time":"2026-09-19T16:16:48.520Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind293 ../src/curl -q --output log/curl293.out  --include --trace-ascii log/trace293 --trace-time http://127.0.0.1:36137/293 --max-filesize 2 > log/stdout293 2> log/stderr293"}

data: {"time":"2026-09-19T16:16:48.520Z","priority":"6","pid":"2830187","message":" 293: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:48.521Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:48.521Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:48.521Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 293"}

data: {"time":"2026-09-19T16:16:48.522Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:48.524Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind293 ../src/curl -q --output log/curl293.out  --include --trace-ascii log/trace293 --trace-time http://127.0.0.1:36137/293 --max-filesize 2 > log/stdout293 2> log/stderr293"}

data: {"time":"2026-09-19T16:16:48.524Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:48.524Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:48.524Z","priority":"6","pid":"2830187","message":" 16:16:48.366262 ====> Client connect"}

data: {"time":"2026-09-19T16:16:48.524Z","priority":"6","pid":"2830187","message":" 16:16:48.366319 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:48.525Z","priority":"6","pid":"2830187","message":" 16:16:48.366359 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:48.526Z","priority":"6","pid":"2830187","message":" 16:16:48.366493 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:48.526Z","priority":"6","pid":"2830187","message":" 16:16:48.366523 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:48.526Z","priority":"6","pid":"2830187","message":" 16:16:48.366534 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:48.526Z","priority":"6","pid":"2830187","message":" 16:16:48.366579 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:48.527Z","priority":"6","pid":"2830187","message":" 16:16:48.366604 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:48.527Z","priority":"6","pid":"2830187","message":" 16:16:48.366963 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:48.527Z","priority":"6","pid":"2830187","message":" 16:16:48.366993 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:48.528Z","priority":"6","pid":"2830187","message":" 16:16:48.367003 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:48.528Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:48.528Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:48.529Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:48.529Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54252"}

data: {"time":"2026-09-19T16:16:48.530Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:48.530Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:48.530Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:48.531Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:48.531Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:48.531Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:48.531Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:48.531Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:48.531Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:48.531Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:48.532Z","priority":"6","pid":"2830187","message":" { [1 bytes data]"}

data: {"time":"2026-09-19T16:16:48.532Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:48.533Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:48.533Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:48.533Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:48.534Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:48.534Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:48.534Z","priority":"6","pid":"2830187","message":" Testnum 293"}

data: {"time":"2026-09-19T16:16:48.534Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:48.535Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:48.535Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:48.535Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:48.536Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:48.536Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:48.537Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind293"}

data: {"time":"2026-09-19T16:16:48.537Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:48.537Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:48.538Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:48.539Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.539Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:48.539Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:48.539Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:48.540Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:48.540Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:48.541Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.541Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:48.835Z","priority":"6","pid":"2830187","message":" valgrind:  packaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind294 ../src/curl -q --output log/curl294.out  --include --trace-ascii log/trace294 --trace-time ftp://127.0.0.1:40021/294/ --ftp-account \"data for acct\" > log/stdout294 2> log/stderr294"}

data: {"time":"2026-09-19T16:16:48.852Z","priority":"6","pid":"2830187","message":"ge on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:48.853Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:48.853Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:48.854Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:48.855Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:48.855Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:48.855Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.855Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:48.855Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:48.856Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.856Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:48.856Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:48.857Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:48.857Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.857Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:48.857Z","priority":"6","pid":"2830187","message":"=== End of file valgrind293"}

data: {"time":"2026-09-19T16:16:48.858Z","priority":"6","pid":"2830187","message":"test 0294 [FTP --ftp-account on ACCT request]"}

data: {"time":"2026-09-19T16:16:48.859Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind294 ../src/curl -q --output log/curl294.out  --include --trace-ascii log/trace294 --trace-time ftp://127.0.0.1:40021/294/ --ftp-account \"data for acct\" > log/stdout294 2> log/stderr294"}

data: {"time":"2026-09-19T16:16:48.860Z","priority":"6","pid":"2830187","message":" 294: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:48.860Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:48.861Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:48.861Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 294"}

data: {"time":"2026-09-19T16:16:48.861Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:48.864Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind294 ../src/curl -q --output log/curl294.out  --include --trace-ascii log/trace294 --trace-time ftp://127.0.0.1:40021/294/ --ftp-account \"data for acct\" > log/stdout294 2> log/stderr294"}

data: {"time":"2026-09-19T16:16:48.864Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:48.864Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:48.864Z","priority":"6","pid":"2830187","message":" 16:16:48.587282 ====> Client connect"}

data: {"time":"2026-09-19T16:16:48.865Z","priority":"6","pid":"2830187","message":" 16:16:48.587615 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.865Z","priority":"6","pid":"2830187","message":" 16:16:48.588284 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:48.866Z","priority":"6","pid":"2830187","message":" 16:16:48.588600 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.866Z","priority":"6","pid":"2830187","message":" 16:16:48.588720 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:48.866Z","priority":"6","pid":"2830187","message":" 16:16:48.588757 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.867Z","priority":"6","pid":"2830187","message":" 16:16:48.589099 < \"PWD\""}

data: {"time":"2026-09-19T16:16:48.867Z","priority":"6","pid":"2830187","message":" 16:16:48.589159 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.868Z","priority":"6","pid":"2830187","message":" 16:16:48.589418 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:48.868Z","priority":"6","pid":"2830187","message":" 16:16:48.589458 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:48.869Z","priority":"6","pid":"2830187","message":" 16:16:48.589484 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:48.869Z","priority":"6","pid":"2830187","message":" 16:16:48.592687 DATA sockfilt for passive data channel started (pid 96340)"}

data: {"time":"2026-09-19T16:16:48.870Z","priority":"6","pid":"2830187","message":" 16:16:48.592866 DATA sockfilt for passive data channel listens on port 42429"}

data: {"time":"2026-09-19T16:16:48.870Z","priority":"6","pid":"2830187","message":" 16:16:48.592942 > \"229 Entering Passive Mode (|||42429|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.870Z","priority":"6","pid":"2830187","message":" 16:16:48.592973 Client has been notified that upcoming DATA connection is awaited on port 42429"}

data: {"time":"2026-09-19T16:16:48.871Z","priority":"6","pid":"2830187","message":" 16:16:48.593325 Client connects to port 42429"}

data: {"time":"2026-09-19T16:16:48.872Z","priority":"6","pid":"2830187","message":" 16:16:48.593411 ====> Client established passive DATA connection on port 42429"}

data: {"time":"2026-09-19T16:16:48.873Z","priority":"6","pid":"2830187","message":" 16:16:48.593733 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:48.873Z","priority":"6","pid":"2830187","message":" 16:16:48.593785 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.873Z","priority":"6","pid":"2830187","message":" 16:16:48.594076 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:48.873Z","priority":"6","pid":"2830187","message":" 16:16:48.594191 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.874Z","priority":"6","pid":"2830187","message":" 16:16:48.594557 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:48.874Z","priority":"6","pid":"2830187","message":" 16:16:48.594654 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.875Z","priority":"6","pid":"2830187","message":" 16:16:48.594787 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:48.875Z","priority":"6","pid":"2830187","message":" 16:16:48.594810 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:48.876Z","priority":"6","pid":"2830187","message":" 16:16:48.595216 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:48.876Z","priority":"6","pid":"2830187","message":" 16:16:48.595266 DATA sockfilt for passive data channel quits (pid 96340)"}

data: {"time":"2026-09-19T16:16:48.877Z","priority":"6","pid":"2830187","message":" 16:16:48.595742 DATA sockfilt for passive data channel quit (pid 96340)"}

data: {"time":"2026-09-19T16:16:48.877Z","priority":"6","pid":"2830187","message":" 16:16:48.595780 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:48.878Z","priority":"6","pid":"2830187","message":" 16:16:48.595826 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.878Z","priority":"6","pid":"2830187","message":" 16:16:48.636194 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:48.878Z","priority":"6","pid":"2830187","message":" 16:16:48.636315 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:48.879Z","priority":"6","pid":"2830187","message":" 16:16:48.637482 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:48.879Z","priority":"6","pid":"2830187","message":" 16:16:48.637712 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:48.879Z","priority":"6","pid":"2830187","message":" 16:16:48.637894 Awaiting input"}

data: {"time":"2026-09-19T16:16:48.880Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:48.880Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:48.880Z","priority":"6","pid":"2830187","message":" 16:16:48.656071 ====> Client connect"}

data: {"time":"2026-09-19T16:16:48.880Z","priority":"6","pid":"2830187","message":" 16:16:48.656792 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.881Z","priority":"6","pid":"2830187","message":" 16:16:48.656835 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.881Z","priority":"6","pid":"2830187","message":" 16:16:48.656855 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:48.882Z","priority":"6","pid":"2830187","message":" 16:16:48.656870 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.882Z","priority":"6","pid":"2830187","message":" 16:16:48.656898 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.882Z","priority":"6","pid":"2830187","message":" 16:16:48.657059 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:48.883Z","priority":"6","pid":"2830187","message":" 16:16:48.657082 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.883Z","priority":"6","pid":"2830187","message":" 16:16:48.657455 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.883Z","priority":"6","pid":"2830187","message":" 16:16:48.657480 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.884Z","priority":"6","pid":"2830187","message":" 16:16:48.657507 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.884Z","priority":"6","pid":"2830187","message":" 16:16:48.657587 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:48.884Z","priority":"6","pid":"2830187","message":" 16:16:48.657601 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.885Z","priority":"6","pid":"2830187","message":" 16:16:48.657891 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.885Z","priority":"6","pid":"2830187","message":" 16:16:48.657911 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.885Z","priority":"6","pid":"2830187","message":" 16:16:48.657924 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.886Z","priority":"6","pid":"2830187","message":" 16:16:48.658013 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:48.886Z","priority":"6","pid":"2830187","message":" 16:16:48.658032 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.886Z","priority":"6","pid":"2830187","message":" 16:16:48.658219 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.887Z","priority":"6","pid":"2830187","message":" 16:16:48.658232 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.887Z","priority":"6","pid":"2830187","message":" 16:16:48.658246 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.888Z","priority":"6","pid":"2830187","message":" 16:16:48.658375 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:48.888Z","priority":"6","pid":"2830187","message":" 16:16:48.658391 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.888Z","priority":"6","pid":"2830187","message":" 16:16:48.662057 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.888Z","priority":"6","pid":"2830187","message":" 16:16:48.662080 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.888Z","priority":"6","pid":"2830187","message":" 16:16:48.662090 '229 Entering Passive Mode (|||42429|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.889Z","priority":"6","pid":"2830187","message":" 16:16:48.662580 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:48.889Z","priority":"6","pid":"2830187","message":" 16:16:48.662599 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.889Z","priority":"6","pid":"2830187","message":" 16:16:48.662865 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.891Z","priority":"6","pid":"2830187","message":" 16:16:48.662882 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.891Z","priority":"6","pid":"2830187","message":" 16:16:48.662896 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.891Z","priority":"6","pid":"2830187","message":" 16:16:48.662977 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:48.891Z","priority":"6","pid":"2830187","message":" 16:16:48.662992 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.892Z","priority":"6","pid":"2830187","message":" 16:16:48.663274 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.893Z","priority":"6","pid":"2830187","message":" 16:16:48.663296 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.894Z","priority":"6","pid":"2830187","message":" 16:16:48.663310 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.895Z","priority":"6","pid":"2830187","message":" 16:16:48.663433 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:48.895Z","priority":"6","pid":"2830187","message":" 16:16:48.663455 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.896Z","priority":"6","pid":"2830187","message":" 16:16:48.663876 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.896Z","priority":"6","pid":"2830187","message":" 16:16:48.663894 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.896Z","priority":"6","pid":"2830187","message":" 16:16:48.663907 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.897Z","priority":"6","pid":"2830187","message":" 16:16:48.664914 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.897Z","priority":"6","pid":"2830187","message":" 16:16:48.664939 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.897Z","priority":"6","pid":"2830187","message":" 16:16:48.664953 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.898Z","priority":"6","pid":"2830187","message":" 16:16:48.704832 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:48.898Z","priority":"6","pid":"2830187","message":" 16:16:48.704946 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.898Z","priority":"6","pid":"2830187","message":" 16:16:48.705459 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.899Z","priority":"6","pid":"2830187","message":" 16:16:48.705495 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.899Z","priority":"6","pid":"2830187","message":" 16:16:48.705509 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.900Z","priority":"6","pid":"2830187","message":" 16:16:48.706408 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:48.900Z","priority":"6","pid":"2830187","message":" 16:16:48.706618 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:48.900Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:48.900Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:48.900Z","priority":"6","pid":"2830187","message":" 16:16:48.661098 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:48.901Z","priority":"6","pid":"2830187","message":" 16:16:48.661503 Listening on port 42429"}

data: {"time":"2026-09-19T16:16:48.901Z","priority":"6","pid":"2830187","message":" 16:16:48.661632 Wrote pid 96340 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:48.901Z","priority":"6","pid":"2830187","message":" 16:16:48.661665 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:48.902Z","priority":"6","pid":"2830187","message":" 16:16:48.661790 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:48.902Z","priority":"6","pid":"2830187","message":" 16:16:48.662313 ====> Client connect"}

data: {"time":"2026-09-19T16:16:48.903Z","priority":"6","pid":"2830187","message":" 16:16:48.663950 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:48.903Z","priority":"6","pid":"2830187","message":" 16:16:48.663974 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:48.903Z","priority":"6","pid":"2830187","message":" 16:16:48.663986 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:48.903Z","priority":"6","pid":"2830187","message":" 16:16:48.664022 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:48.903Z","priority":"6","pid":"2830187","message":" 16:16:48.664036 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:48.904Z","priority":"6","pid":"2830187","message":" 16:16:48.664336 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:48.904Z","priority":"6","pid":"2830187","message":" 16:16:48.664354 quits"}

data: {"time":"2026-09-19T16:16:48.904Z","priority":"6","pid":"2830187","message":" 16:16:48.664481 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:48.905Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:48.905Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:48.905Z","priority":"6","pid":"2830187","message":" REPLY PASS 332 Give me an ACCT now"}

data: {"time":"2026-09-19T16:16:48.906Z","priority":"6","pid":"2830187","message":" REPLY ACCT 230 Thank-you for the ACCT"}

data: {"time":"2026-09-19T16:16:48.906Z","priority":"6","pid":"2830187","message":" Testnum 294"}

data: {"time":"2026-09-19T16:16:48.906Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:48.906Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind294"}

data: {"time":"2026-09-19T16:16:48.907Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:48.907Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:48.908Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:48.908Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.908Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:48.909Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:48.909Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:48.910Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:48.910Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:48.910Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:48.910Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:48.911Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:48.911Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:48.912Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:48.912Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:48.913Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:49.189Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is calCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind295 ../src/curl -q --output log/curl295.out  --include --trace-ascii log/trace295 --trace-time ftp://127.0.0.1:40021/295/ > log/stdout295 2> log/stderr295"}

data: {"time":"2026-09-19T16:16:49.193Z","priority":"6","pid":"2830187","message":"led"}

data: {"time":"2026-09-19T16:16:49.193Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.194Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:49.194Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:49.194Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.195Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:49.195Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:49.195Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:49.196Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.197Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:49.197Z","priority":"6","pid":"2830187","message":"=== End of file valgrind294"}

data: {"time":"2026-09-19T16:16:49.197Z","priority":"6","pid":"2830187","message":"test 0295 [FTP ACCT request without --ftp-account]"}

data: {"time":"2026-09-19T16:16:49.198Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind295 ../src/curl -q --output log/curl295.out  --include --trace-ascii log/trace295 --trace-time ftp://127.0.0.1:40021/295/ > log/stdout295 2> log/stderr295"}

data: {"time":"2026-09-19T16:16:49.198Z","priority":"6","pid":"2830187","message":" 295: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:49.199Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:49.199Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:49.200Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 295"}

data: {"time":"2026-09-19T16:16:49.200Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:49.201Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind295 ../src/curl -q --output log/curl295.out  --include --trace-ascii log/trace295 --trace-time ftp://127.0.0.1:40021/295/ > log/stdout295 2> log/stderr295"}

data: {"time":"2026-09-19T16:16:49.202Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:49.202Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:49.202Z","priority":"6","pid":"2830187","message":" 16:16:48.951833 ====> Client connect"}

data: {"time":"2026-09-19T16:16:49.203Z","priority":"6","pid":"2830187","message":" 16:16:48.952206 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.203Z","priority":"6","pid":"2830187","message":" 16:16:48.952913 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:49.204Z","priority":"6","pid":"2830187","message":" 16:16:48.953194 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.204Z","priority":"6","pid":"2830187","message":" 16:16:48.953399 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:49.205Z","priority":"6","pid":"2830187","message":" 16:16:48.953456 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.205Z","priority":"6","pid":"2830187","message":" 16:16:48.953766 < \"PWD\""}

data: {"time":"2026-09-19T16:16:49.205Z","priority":"6","pid":"2830187","message":" 16:16:48.953875 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.206Z","priority":"6","pid":"2830187","message":" 16:16:48.954152 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:49.206Z","priority":"6","pid":"2830187","message":" 16:16:48.954198 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:49.206Z","priority":"6","pid":"2830187","message":" 16:16:48.954219 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:49.207Z","priority":"6","pid":"2830187","message":" 16:16:48.957620 DATA sockfilt for passive data channel started (pid 96406)"}

data: {"time":"2026-09-19T16:16:49.207Z","priority":"6","pid":"2830187","message":" 16:16:48.957843 DATA sockfilt for passive data channel listens on port 34595"}

data: {"time":"2026-09-19T16:16:49.208Z","priority":"6","pid":"2830187","message":" 16:16:48.957922 > \"229 Entering Passive Mode (|||34595|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.209Z","priority":"6","pid":"2830187","message":" 16:16:48.957948 Client has been notified that upcoming DATA connection is awaited on port 34595"}

data: {"time":"2026-09-19T16:16:49.209Z","priority":"6","pid":"2830187","message":" 16:16:48.958501 Client connects to port 34595"}

data: {"time":"2026-09-19T16:16:49.209Z","priority":"6","pid":"2830187","message":" 16:16:48.958566 ====> Client established passive DATA connection on port 34595"}

data: {"time":"2026-09-19T16:16:49.210Z","priority":"6","pid":"2830187","message":" 16:16:48.958707 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:49.210Z","priority":"6","pid":"2830187","message":" 16:16:48.958949 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.210Z","priority":"6","pid":"2830187","message":" 16:16:48.959071 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:49.211Z","priority":"6","pid":"2830187","message":" 16:16:48.959128 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.211Z","priority":"6","pid":"2830187","message":" 16:16:48.959405 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:49.211Z","priority":"6","pid":"2830187","message":" 16:16:48.959512 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.212Z","priority":"6","pid":"2830187","message":" 16:16:48.959991 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:49.212Z","priority":"6","pid":"2830187","message":" 16:16:48.960021 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:49.213Z","priority":"6","pid":"2830187","message":" 16:16:48.960057 Fancy that; client wants to DISC, too"}

data: {"time":"2026-09-19T16:16:49.213Z","priority":"6","pid":"2830187","message":" 16:16:48.960192 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:49.213Z","priority":"6","pid":"2830187","message":" 16:16:48.960224 DATA sockfilt for passive data channel quits (pid 96406)"}

data: {"time":"2026-09-19T16:16:49.214Z","priority":"6","pid":"2830187","message":" 16:16:48.960657 DATA sockfilt for passive data channel quit (pid 96406)"}

data: {"time":"2026-09-19T16:16:49.214Z","priority":"6","pid":"2830187","message":" 16:16:48.960695 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:49.215Z","priority":"6","pid":"2830187","message":" 16:16:48.960740 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.215Z","priority":"6","pid":"2830187","message":" 16:16:49.001139 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:49.215Z","priority":"6","pid":"2830187","message":" 16:16:49.001233 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.215Z","priority":"6","pid":"2830187","message":" 16:16:49.002298 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:49.216Z","priority":"6","pid":"2830187","message":" 16:16:49.002552 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:49.216Z","priority":"6","pid":"2830187","message":" 16:16:49.002722 Awaiting input"}

data: {"time":"2026-09-19T16:16:49.216Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:49.216Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:49.217Z","priority":"6","pid":"2830187","message":" 16:16:49.020637 ====> Client connect"}

data: {"time":"2026-09-19T16:16:49.218Z","priority":"6","pid":"2830187","message":" 16:16:49.021425 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.218Z","priority":"6","pid":"2830187","message":" 16:16:49.021465 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.218Z","priority":"6","pid":"2830187","message":" 16:16:49.021483 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:49.218Z","priority":"6","pid":"2830187","message":" 16:16:49.021498 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.219Z","priority":"6","pid":"2830187","message":" 16:16:49.021511 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.219Z","priority":"6","pid":"2830187","message":" 16:16:49.021668 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.219Z","priority":"6","pid":"2830187","message":" 16:16:49.021690 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.220Z","priority":"6","pid":"2830187","message":" 16:16:49.021997 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.220Z","priority":"6","pid":"2830187","message":" 16:16:49.022018 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.220Z","priority":"6","pid":"2830187","message":" 16:16:49.022044 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.221Z","priority":"6","pid":"2830187","message":" 16:16:49.022153 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.221Z","priority":"6","pid":"2830187","message":" 16:16:49.022172 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.221Z","priority":"6","pid":"2830187","message":" 16:16:49.022504 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.222Z","priority":"6","pid":"2830187","message":" 16:16:49.022526 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.222Z","priority":"6","pid":"2830187","message":" 16:16:49.022540 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.222Z","priority":"6","pid":"2830187","message":" 16:16:49.022691 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.223Z","priority":"6","pid":"2830187","message":" 16:16:49.022710 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.223Z","priority":"6","pid":"2830187","message":" 16:16:49.022841 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.223Z","priority":"6","pid":"2830187","message":" 16:16:49.022860 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.223Z","priority":"6","pid":"2830187","message":" 16:16:49.022939 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.224Z","priority":"6","pid":"2830187","message":" 16:16:49.023048 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.224Z","priority":"6","pid":"2830187","message":" 16:16:49.023063 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.225Z","priority":"6","pid":"2830187","message":" 16:16:49.027018 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.225Z","priority":"6","pid":"2830187","message":" 16:16:49.027040 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.225Z","priority":"6","pid":"2830187","message":" 16:16:49.027056 '229 Entering Passive Mode (|||34595|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.225Z","priority":"6","pid":"2830187","message":" 16:16:49.027400 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.226Z","priority":"6","pid":"2830187","message":" 16:16:49.027427 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.227Z","priority":"6","pid":"2830187","message":" 16:16:49.027770 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.227Z","priority":"6","pid":"2830187","message":" 16:16:49.027789 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.227Z","priority":"6","pid":"2830187","message":" 16:16:49.027812 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.227Z","priority":"6","pid":"2830187","message":" 16:16:49.027900 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.228Z","priority":"6","pid":"2830187","message":" 16:16:49.027914 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.228Z","priority":"6","pid":"2830187","message":" 16:16:49.028194 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.228Z","priority":"6","pid":"2830187","message":" 16:16:49.028212 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.229Z","priority":"6","pid":"2830187","message":" 16:16:49.028223 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.229Z","priority":"6","pid":"2830187","message":" 16:16:49.028293 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.229Z","priority":"6","pid":"2830187","message":" 16:16:49.028310 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.230Z","priority":"6","pid":"2830187","message":" 16:16:49.028470 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.230Z","priority":"6","pid":"2830187","message":" 16:16:49.028489 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.231Z","priority":"6","pid":"2830187","message":" 16:16:49.028587 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.231Z","priority":"6","pid":"2830187","message":" 16:16:49.029791 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.231Z","priority":"6","pid":"2830187","message":" 16:16:49.029809 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.232Z","priority":"6","pid":"2830187","message":" 16:16:49.029822 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.232Z","priority":"6","pid":"2830187","message":" 16:16:49.069943 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.232Z","priority":"6","pid":"2830187","message":" 16:16:49.070021 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.233Z","priority":"6","pid":"2830187","message":" 16:16:49.070310 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.233Z","priority":"6","pid":"2830187","message":" 16:16:49.070363 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.233Z","priority":"6","pid":"2830187","message":" 16:16:49.070377 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.234Z","priority":"6","pid":"2830187","message":" 16:16:49.071200 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:49.234Z","priority":"6","pid":"2830187","message":" 16:16:49.071447 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:49.235Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:49.235Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:49.235Z","priority":"6","pid":"2830187","message":" 16:16:48.026067 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:49.235Z","priority":"6","pid":"2830187","message":" 16:16:48.026490 Listening on port 34595"}

data: {"time":"2026-09-19T16:16:49.236Z","priority":"6","pid":"2830187","message":" 16:16:48.026541 Wrote pid 96406 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:49.236Z","priority":"6","pid":"2830187","message":" 16:16:48.026579 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:49.236Z","priority":"6","pid":"2830187","message":" 16:16:48.026729 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:49.237Z","priority":"6","pid":"2830187","message":" 16:16:48.027458 ====> Client connect"}

data: {"time":"2026-09-19T16:16:49.237Z","priority":"6","pid":"2830187","message":" 16:16:48.028677 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.238Z","priority":"6","pid":"2830187","message":" 16:16:48.028702 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.238Z","priority":"6","pid":"2830187","message":" 16:16:48.028714 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.238Z","priority":"6","pid":"2830187","message":" 16:16:48.028847 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:49.239Z","priority":"6","pid":"2830187","message":" 16:16:48.029104 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:49.239Z","priority":"6","pid":"2830187","message":" 16:16:48.029121 Crikey! Client also wants to disconnect"}

data: {"time":"2026-09-19T16:16:49.239Z","priority":"6","pid":"2830187","message":" 16:16:48.029134 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:49.240Z","priority":"6","pid":"2830187","message":" 16:16:48.029283 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:49.240Z","priority":"6","pid":"2830187","message":" 16:16:48.029296 quits"}

data: {"time":"2026-09-19T16:16:49.240Z","priority":"6","pid":"2830187","message":" 16:16:48.029425 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:49.240Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:49.241Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:49.241Z","priority":"6","pid":"2830187","message":" REPLY PASS 332 Give me an ACCT now"}

data: {"time":"2026-09-19T16:16:49.241Z","priority":"6","pid":"2830187","message":" REPLY PWD 530 No ACCT, go away"}

data: {"time":"2026-09-19T16:16:49.242Z","priority":"6","pid":"2830187","message":" Testnum 295"}

data: {"time":"2026-09-19T16:16:49.242Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:49.242Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind295"}

data: {"time":"2026-09-19T16:16:49.242Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:49.243Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:49.243Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:49.243Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.244Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:49.244Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:49.245Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:49.245Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:49.245Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:49.246Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.246Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:49.246Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:49.247Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:49.248Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:49.248Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:49.249Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:49.249Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:49.249Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.249Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:49.249Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:49.250Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.250Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:49.250Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:49.532Z","priority":"6","pid":"2830187","message":" valgrind:  CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind296 ../src/curl -q --output log/curl296.out  --include --trace-ascii log/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:40021/first/second/third/296 > log/stdout296 2> log/stderr296"}

data: {"time":"2026-09-19T16:16:49.832Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind297 ../src/curl -q --output log/curl297.out  --include --trace-ascii log/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:40021/first/second/third/297 > log/stdout297 2> log/stderr297"}

data: {"time":"2026-09-19T16:16:49.835Z","priority":"6","pid":"2830187","message":"package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:49.837Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.837Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:49.838Z","priority":"6","pid":"2830187","message":"=== End of file valgrind295"}

data: {"time":"2026-09-19T16:16:49.840Z","priority":"6","pid":"2830187","message":"test 0296 [FTP CWD with --ftp-method multicwd]"}

data: {"time":"2026-09-19T16:16:49.841Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind296 ../src/curl -q --output log/curl296.out  --include --trace-ascii log/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:40021/first/second/third/296 > log/stdout296 2> log/stderr296"}

data: {"time":"2026-09-19T16:16:49.842Z","priority":"6","pid":"2830187","message":" 296: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:49.843Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:49.843Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:49.843Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 296"}

data: {"time":"2026-09-19T16:16:49.844Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:49.845Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind296 ../src/curl -q --output log/curl296.out  --include --trace-ascii log/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:40021/first/second/third/296 > log/stdout296 2> log/stderr296"}

data: {"time":"2026-09-19T16:16:49.846Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:49.846Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:49.847Z","priority":"6","pid":"2830187","message":" 16:16:49.290456 ====> Client connect"}

data: {"time":"2026-09-19T16:16:49.848Z","priority":"6","pid":"2830187","message":" 16:16:49.291203 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.849Z","priority":"6","pid":"2830187","message":" 16:16:49.291453 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:49.849Z","priority":"6","pid":"2830187","message":" 16:16:49.291558 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.849Z","priority":"6","pid":"2830187","message":" 16:16:49.291821 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:49.849Z","priority":"6","pid":"2830187","message":" 16:16:49.291930 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.850Z","priority":"6","pid":"2830187","message":" 16:16:49.292137 < \"PWD\""}

data: {"time":"2026-09-19T16:16:49.850Z","priority":"6","pid":"2830187","message":" 16:16:49.292189 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.850Z","priority":"6","pid":"2830187","message":" 16:16:49.292470 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:49.851Z","priority":"6","pid":"2830187","message":" 16:16:49.292508 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:49.851Z","priority":"6","pid":"2830187","message":" 16:16:49.292527 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:49.852Z","priority":"6","pid":"2830187","message":" 16:16:49.295719 DATA sockfilt for passive data channel started (pid 96471)"}

data: {"time":"2026-09-19T16:16:49.853Z","priority":"6","pid":"2830187","message":" 16:16:49.295948 DATA sockfilt for passive data channel listens on port 38843"}

data: {"time":"2026-09-19T16:16:49.853Z","priority":"6","pid":"2830187","message":" 16:16:49.296044 > \"229 Entering Passive Mode (|||38843|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.853Z","priority":"6","pid":"2830187","message":" 16:16:49.296076 Client has been notified that upcoming DATA connection is awaited on port 38843"}

data: {"time":"2026-09-19T16:16:49.854Z","priority":"6","pid":"2830187","message":" 16:16:49.296770 Client connects to port 38843"}

data: {"time":"2026-09-19T16:16:49.854Z","priority":"6","pid":"2830187","message":" 16:16:49.296869 ====> Client established passive DATA connection on port 38843"}

data: {"time":"2026-09-19T16:16:49.855Z","priority":"6","pid":"2830187","message":" 16:16:49.297088 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:49.855Z","priority":"6","pid":"2830187","message":" 16:16:49.297161 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.856Z","priority":"6","pid":"2830187","message":" 16:16:49.297638 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:49.857Z","priority":"6","pid":"2830187","message":" 16:16:49.297722 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.857Z","priority":"6","pid":"2830187","message":" 16:16:49.298069 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:49.857Z","priority":"6","pid":"2830187","message":" 16:16:49.298173 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.857Z","priority":"6","pid":"2830187","message":" 16:16:49.298325 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:49.858Z","priority":"6","pid":"2830187","message":" 16:16:49.298401 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:49.858Z","priority":"6","pid":"2830187","message":" 16:16:49.298966 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:49.859Z","priority":"6","pid":"2830187","message":" 16:16:49.299019 DATA sockfilt for passive data channel quits (pid 96471)"}

data: {"time":"2026-09-19T16:16:49.859Z","priority":"6","pid":"2830187","message":" 16:16:49.299604 DATA sockfilt for passive data channel quit (pid 96471)"}

data: {"time":"2026-09-19T16:16:49.860Z","priority":"6","pid":"2830187","message":" 16:16:49.299659 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:49.861Z","priority":"6","pid":"2830187","message":" 16:16:49.299786 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.861Z","priority":"6","pid":"2830187","message":" 16:16:49.340230 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:49.861Z","priority":"6","pid":"2830187","message":" 16:16:49.340364 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:49.861Z","priority":"6","pid":"2830187","message":" 16:16:49.341482 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:49.862Z","priority":"6","pid":"2830187","message":" 16:16:49.341775 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:49.862Z","priority":"6","pid":"2830187","message":" 16:16:49.342025 Awaiting input"}

data: {"time":"2026-09-19T16:16:49.862Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:49.863Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:49.863Z","priority":"6","pid":"2830187","message":" 16:16:49.359256 ====> Client connect"}

data: {"time":"2026-09-19T16:16:49.863Z","priority":"6","pid":"2830187","message":" 16:16:49.359767 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.864Z","priority":"6","pid":"2830187","message":" 16:16:49.359801 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.864Z","priority":"6","pid":"2830187","message":" 16:16:49.359917 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:49.865Z","priority":"6","pid":"2830187","message":" 16:16:49.359973 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.865Z","priority":"6","pid":"2830187","message":" 16:16:49.359985 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.866Z","priority":"6","pid":"2830187","message":" 16:16:49.360135 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.866Z","priority":"6","pid":"2830187","message":" 16:16:49.360154 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.867Z","priority":"6","pid":"2830187","message":" 16:16:49.360504 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.867Z","priority":"6","pid":"2830187","message":" 16:16:49.360523 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.867Z","priority":"6","pid":"2830187","message":" 16:16:49.360594 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.868Z","priority":"6","pid":"2830187","message":" 16:16:49.360735 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.868Z","priority":"6","pid":"2830187","message":" 16:16:49.360752 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.869Z","priority":"6","pid":"2830187","message":" 16:16:49.360882 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.869Z","priority":"6","pid":"2830187","message":" 16:16:49.360902 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.870Z","priority":"6","pid":"2830187","message":" 16:16:49.360959 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.870Z","priority":"6","pid":"2830187","message":" 16:16:49.361036 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.870Z","priority":"6","pid":"2830187","message":" 16:16:49.361049 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.871Z","priority":"6","pid":"2830187","message":" 16:16:49.361222 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.871Z","priority":"6","pid":"2830187","message":" 16:16:49.361237 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.872Z","priority":"6","pid":"2830187","message":" 16:16:49.361249 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.872Z","priority":"6","pid":"2830187","message":" 16:16:49.361367 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.872Z","priority":"6","pid":"2830187","message":" 16:16:49.361381 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.873Z","priority":"6","pid":"2830187","message":" 16:16:49.365131 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.873Z","priority":"6","pid":"2830187","message":" 16:16:49.365162 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.874Z","priority":"6","pid":"2830187","message":" 16:16:49.365178 '229 Entering Passive Mode (|||38843|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.874Z","priority":"6","pid":"2830187","message":" 16:16:49.365692 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.874Z","priority":"6","pid":"2830187","message":" 16:16:49.365718 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.875Z","priority":"6","pid":"2830187","message":" 16:16:49.366207 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.875Z","priority":"6","pid":"2830187","message":" 16:16:49.366236 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.875Z","priority":"6","pid":"2830187","message":" 16:16:49.366250 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.876Z","priority":"6","pid":"2830187","message":" 16:16:49.366467 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.876Z","priority":"6","pid":"2830187","message":" 16:16:49.366494 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.877Z","priority":"6","pid":"2830187","message":" 16:16:49.366764 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.877Z","priority":"6","pid":"2830187","message":" 16:16:49.366787 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.877Z","priority":"6","pid":"2830187","message":" 16:16:49.366800 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.878Z","priority":"6","pid":"2830187","message":" 16:16:49.366914 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.878Z","priority":"6","pid":"2830187","message":" 16:16:49.366936 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.878Z","priority":"6","pid":"2830187","message":" 16:16:49.367450 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.879Z","priority":"6","pid":"2830187","message":" 16:16:49.367472 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.879Z","priority":"6","pid":"2830187","message":" 16:16:49.367486 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.879Z","priority":"6","pid":"2830187","message":" 16:16:49.368717 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.880Z","priority":"6","pid":"2830187","message":" 16:16:49.368743 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.880Z","priority":"6","pid":"2830187","message":" 16:16:49.368899 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.881Z","priority":"6","pid":"2830187","message":" 16:16:49.408763 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:49.881Z","priority":"6","pid":"2830187","message":" 16:16:49.408839 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.881Z","priority":"6","pid":"2830187","message":" 16:16:49.409447 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.882Z","priority":"6","pid":"2830187","message":" 16:16:49.409479 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.882Z","priority":"6","pid":"2830187","message":" 16:16:49.409492 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.883Z","priority":"6","pid":"2830187","message":" 16:16:49.410318 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:49.883Z","priority":"6","pid":"2830187","message":" 16:16:49.410580 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:49.884Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:49.884Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:49.884Z","priority":"6","pid":"2830187","message":" 16:16:49.364109 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:49.885Z","priority":"6","pid":"2830187","message":" 16:16:49.364576 Listening on port 38843"}

data: {"time":"2026-09-19T16:16:49.885Z","priority":"6","pid":"2830187","message":" 16:16:49.364641 Wrote pid 96471 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:49.885Z","priority":"6","pid":"2830187","message":" 16:16:49.364669 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:49.886Z","priority":"6","pid":"2830187","message":" 16:16:49.364795 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:49.886Z","priority":"6","pid":"2830187","message":" 16:16:49.365599 ====> Client connect"}

data: {"time":"2026-09-19T16:16:49.886Z","priority":"6","pid":"2830187","message":" 16:16:49.367626 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:49.887Z","priority":"6","pid":"2830187","message":" 16:16:49.367662 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:49.887Z","priority":"6","pid":"2830187","message":" 16:16:49.367684 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:49.888Z","priority":"6","pid":"2830187","message":" 16:16:49.367743 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:49.888Z","priority":"6","pid":"2830187","message":" 16:16:49.367764 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:49.888Z","priority":"6","pid":"2830187","message":" 16:16:49.368077 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:49.889Z","priority":"6","pid":"2830187","message":" 16:16:49.368099 quits"}

data: {"time":"2026-09-19T16:16:49.889Z","priority":"6","pid":"2830187","message":" 16:16:49.368240 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:49.890Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:49.890Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:49.890Z","priority":"6","pid":"2830187","message":" Testnum 296"}

data: {"time":"2026-09-19T16:16:49.890Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:49.891Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind296"}

data: {"time":"2026-09-19T16:16:49.891Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:49.892Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:49.892Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:49.892Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.893Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:49.893Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:49.894Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:49.894Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:49.894Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:49.895Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.895Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:49.896Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:49.897Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:49.897Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:49.897Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:49.897Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:49.898Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:49.898Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.899Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:49.899Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:49.899Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.900Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:49.900Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:49.901Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:49.901Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:49.901Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:49.902Z","priority":"6","pid":"2830187","message":"=== End of file valgrind296"}

data: {"time":"2026-09-19T16:16:49.902Z","priority":"6","pid":"2830187","message":"test 0297 [FTP CWD with --ftp-method singlecwd]"}

data: {"time":"2026-09-19T16:16:50.193Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind297 ../src/curl -q --output log/curl297.out  --include --trace-ascii log/trace297 --traCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind298 ../src/curl -q --output log/curl298.out  --include --trace-ascii log/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:40021/first/second/th%69rd/298 > log/stdout298 2> log/stderr298"}

data: {"time":"2026-09-19T16:16:50.197Z","priority":"6","pid":"2830187","message":"ce-time --ftp-method singlecwd ftp://127.0.0.1:40021/first/second/third/297 > log/stdout297 2> log/stderr297"}

data: {"time":"2026-09-19T16:16:50.198Z","priority":"6","pid":"2830187","message":" 297: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:50.199Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:50.199Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:50.199Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 297"}

data: {"time":"2026-09-19T16:16:50.200Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:50.202Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind297 ../src/curl -q --output log/curl297.out  --include --trace-ascii log/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:40021/first/second/third/297 > log/stdout297 2> log/stderr297"}

data: {"time":"2026-09-19T16:16:50.203Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:50.203Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:50.203Z","priority":"6","pid":"2830187","message":" 16:16:49.590718 ====> Client connect"}

data: {"time":"2026-09-19T16:16:50.204Z","priority":"6","pid":"2830187","message":" 16:16:49.591048 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.204Z","priority":"6","pid":"2830187","message":" 16:16:49.591728 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:50.205Z","priority":"6","pid":"2830187","message":" 16:16:49.592047 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.205Z","priority":"6","pid":"2830187","message":" 16:16:49.592219 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:50.206Z","priority":"6","pid":"2830187","message":" 16:16:49.592269 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.206Z","priority":"6","pid":"2830187","message":" 16:16:49.592650 < \"PWD\""}

data: {"time":"2026-09-19T16:16:50.206Z","priority":"6","pid":"2830187","message":" 16:16:49.592776 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.207Z","priority":"6","pid":"2830187","message":" 16:16:49.593088 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:50.207Z","priority":"6","pid":"2830187","message":" 16:16:49.593131 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:50.208Z","priority":"6","pid":"2830187","message":" 16:16:49.593150 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:50.208Z","priority":"6","pid":"2830187","message":" 16:16:49.597032 DATA sockfilt for passive data channel started (pid 96537)"}

data: {"time":"2026-09-19T16:16:50.209Z","priority":"6","pid":"2830187","message":" 16:16:49.597329 DATA sockfilt for passive data channel listens on port 35287"}

data: {"time":"2026-09-19T16:16:50.209Z","priority":"6","pid":"2830187","message":" 16:16:49.597478 > \"229 Entering Passive Mode (|||35287|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.210Z","priority":"6","pid":"2830187","message":" 16:16:49.597509 Client has been notified that upcoming DATA connection is awaited on port 35287"}

data: {"time":"2026-09-19T16:16:50.210Z","priority":"6","pid":"2830187","message":" 16:16:49.598091 Client connects to port 35287"}

data: {"time":"2026-09-19T16:16:50.211Z","priority":"6","pid":"2830187","message":" 16:16:49.598162 ====> Client established passive DATA connection on port 35287"}

data: {"time":"2026-09-19T16:16:50.211Z","priority":"6","pid":"2830187","message":" 16:16:49.598358 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:50.211Z","priority":"6","pid":"2830187","message":" 16:16:49.598662 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.212Z","priority":"6","pid":"2830187","message":" 16:16:49.598827 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:50.213Z","priority":"6","pid":"2830187","message":" 16:16:49.598901 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.213Z","priority":"6","pid":"2830187","message":" 16:16:49.599248 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:50.213Z","priority":"6","pid":"2830187","message":" 16:16:49.599359 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.213Z","priority":"6","pid":"2830187","message":" 16:16:49.599794 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:50.213Z","priority":"6","pid":"2830187","message":" 16:16:49.599831 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:50.214Z","priority":"6","pid":"2830187","message":" 16:16:49.600147 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:50.214Z","priority":"6","pid":"2830187","message":" 16:16:49.600189 DATA sockfilt for passive data channel quits (pid 96537)"}

data: {"time":"2026-09-19T16:16:50.215Z","priority":"6","pid":"2830187","message":" 16:16:49.600628 DATA sockfilt for passive data channel quit (pid 96537)"}

data: {"time":"2026-09-19T16:16:50.215Z","priority":"6","pid":"2830187","message":" 16:16:49.600673 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:50.216Z","priority":"6","pid":"2830187","message":" 16:16:49.600735 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.216Z","priority":"6","pid":"2830187","message":" 16:16:49.641095 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:50.217Z","priority":"6","pid":"2830187","message":" 16:16:49.641189 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.217Z","priority":"6","pid":"2830187","message":" 16:16:49.642372 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:50.217Z","priority":"6","pid":"2830187","message":" 16:16:49.642563 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:50.218Z","priority":"6","pid":"2830187","message":" 16:16:49.642712 Awaiting input"}

data: {"time":"2026-09-19T16:16:50.218Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:50.218Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:50.219Z","priority":"6","pid":"2830187","message":" 16:16:49.659530 ====> Client connect"}

data: {"time":"2026-09-19T16:16:50.219Z","priority":"6","pid":"2830187","message":" 16:16:49.660188 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.219Z","priority":"6","pid":"2830187","message":" 16:16:49.660231 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.220Z","priority":"6","pid":"2830187","message":" 16:16:49.660249 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:50.221Z","priority":"6","pid":"2830187","message":" 16:16:49.660262 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.221Z","priority":"6","pid":"2830187","message":" 16:16:49.660274 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.221Z","priority":"6","pid":"2830187","message":" 16:16:49.660468 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.222Z","priority":"6","pid":"2830187","message":" 16:16:49.660497 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.222Z","priority":"6","pid":"2830187","message":" 16:16:49.660769 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.223Z","priority":"6","pid":"2830187","message":" 16:16:49.660787 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.224Z","priority":"6","pid":"2830187","message":" 16:16:49.660810 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.224Z","priority":"6","pid":"2830187","message":" 16:16:49.660939 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.224Z","priority":"6","pid":"2830187","message":" 16:16:49.660964 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.224Z","priority":"6","pid":"2830187","message":" 16:16:49.661294 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.225Z","priority":"6","pid":"2830187","message":" 16:16:49.661372 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.225Z","priority":"6","pid":"2830187","message":" 16:16:49.661391 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.226Z","priority":"6","pid":"2830187","message":" 16:16:49.661545 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.226Z","priority":"6","pid":"2830187","message":" 16:16:49.661566 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.226Z","priority":"6","pid":"2830187","message":" 16:16:49.661699 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.227Z","priority":"6","pid":"2830187","message":" 16:16:49.661725 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.227Z","priority":"6","pid":"2830187","message":" 16:16:49.661807 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.228Z","priority":"6","pid":"2830187","message":" 16:16:49.661936 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.228Z","priority":"6","pid":"2830187","message":" 16:16:49.661956 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.228Z","priority":"6","pid":"2830187","message":" 16:16:49.666540 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.229Z","priority":"6","pid":"2830187","message":" 16:16:49.666568 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.229Z","priority":"6","pid":"2830187","message":" 16:16:49.666582 '229 Entering Passive Mode (|||35287|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.230Z","priority":"6","pid":"2830187","message":" 16:16:49.666934 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.230Z","priority":"6","pid":"2830187","message":" 16:16:49.666969 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.231Z","priority":"6","pid":"2830187","message":" 16:16:49.667406 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.231Z","priority":"6","pid":"2830187","message":" 16:16:49.667430 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.232Z","priority":"6","pid":"2830187","message":" 16:16:49.667456 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.232Z","priority":"6","pid":"2830187","message":" 16:16:49.667580 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.232Z","priority":"6","pid":"2830187","message":" 16:16:49.667603 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.233Z","priority":"6","pid":"2830187","message":" 16:16:49.667957 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.233Z","priority":"6","pid":"2830187","message":" 16:16:49.667982 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.234Z","priority":"6","pid":"2830187","message":" 16:16:49.667995 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.234Z","priority":"6","pid":"2830187","message":" 16:16:49.668113 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.234Z","priority":"6","pid":"2830187","message":" 16:16:49.668132 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.235Z","priority":"6","pid":"2830187","message":" 16:16:49.668288 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.235Z","priority":"6","pid":"2830187","message":" 16:16:49.668303 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.236Z","priority":"6","pid":"2830187","message":" 16:16:49.668454 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.237Z","priority":"6","pid":"2830187","message":" 16:16:49.669778 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.237Z","priority":"6","pid":"2830187","message":" 16:16:49.669797 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.237Z","priority":"6","pid":"2830187","message":" 16:16:49.669811 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.237Z","priority":"6","pid":"2830187","message":" 16:16:49.709756 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.237Z","priority":"6","pid":"2830187","message":" 16:16:49.709829 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.238Z","priority":"6","pid":"2830187","message":" 16:16:49.710216 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.238Z","priority":"6","pid":"2830187","message":" 16:16:49.710252 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.239Z","priority":"6","pid":"2830187","message":" 16:16:49.710265 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.239Z","priority":"6","pid":"2830187","message":" 16:16:49.711142 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:50.239Z","priority":"6","pid":"2830187","message":" 16:16:49.711445 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:50.240Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:50.240Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:50.240Z","priority":"6","pid":"2830187","message":" 16:16:49.665650 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:50.241Z","priority":"6","pid":"2830187","message":" 16:16:49.665841 Listening on port 35287"}

data: {"time":"2026-09-19T16:16:50.241Z","priority":"6","pid":"2830187","message":" 16:16:49.665904 Wrote pid 96537 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:50.242Z","priority":"6","pid":"2830187","message":" 16:16:49.665944 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:50.242Z","priority":"6","pid":"2830187","message":" 16:16:49.666151 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:50.242Z","priority":"6","pid":"2830187","message":" 16:16:49.667013 ====> Client connect"}

data: {"time":"2026-09-19T16:16:50.243Z","priority":"6","pid":"2830187","message":" 16:16:49.668392 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.243Z","priority":"6","pid":"2830187","message":" 16:16:49.668423 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.244Z","priority":"6","pid":"2830187","message":" 16:16:49.668596 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.244Z","priority":"6","pid":"2830187","message":" 16:16:49.669001 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:50.245Z","priority":"6","pid":"2830187","message":" 16:16:49.669043 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:50.245Z","priority":"6","pid":"2830187","message":" 16:16:49.669199 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:50.245Z","priority":"6","pid":"2830187","message":" 16:16:49.669213 quits"}

data: {"time":"2026-09-19T16:16:50.246Z","priority":"6","pid":"2830187","message":" 16:16:49.669369 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:50.246Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:50.246Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:50.247Z","priority":"6","pid":"2830187","message":" Testnum 297"}

data: {"time":"2026-09-19T16:16:50.247Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:50.247Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind297"}

data: {"time":"2026-09-19T16:16:50.247Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:50.248Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:50.248Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:50.249Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.249Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:50.250Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:50.250Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:50.251Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:50.252Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:50.252Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.252Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:50.253Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:50.253Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:50.254Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:50.254Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:50.255Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:50.255Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:50.255Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.255Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:50.256Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:50.256Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.256Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:50.257Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:50.257Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:50.258Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.258Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:50.258Z","priority":"6","pid":"2830187","message":"=== End of file valgrind297"}

data: {"time":"2026-09-19T16:16:50.258Z","priority":"6","pid":"2830187","message":"test 0298 [FTP CWD with --ftp-method nocwd]"}

data: {"time":"2026-09-19T16:16:50.260Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind298 ../src/curl -q --output log/curl298.out  --include --trace-ascii log/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:40021/first/second/th%69rd/298 > log/stdout298 2> log/stderr298"}

data: {"time":"2026-09-19T16:16:50.261Z","priority":"6","pid":"2830187","message":" 298: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:50.261Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:50.261Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:50.262Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 298"}

data: {"time":"2026-09-19T16:16:50.262Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:50.491Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/sCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind299 ../src/curl -q --output log/curl299.out  --include --trace-ascii log/trace299 --trace-time -x http://127.0.0.1:36137 -u michal:aybabtu ftp://host.com/we/want/299 > log/stdout299 2> log/stderr299"}

data: {"time":"2026-09-19T16:16:50.506Z","priority":"6","pid":"2830187","message":"rc/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind298 ../src/curl -q --output log/curl298.out  --include --trace-ascii log/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:40021/first/second/th%69rd/298 > log/stdout298 2> log/stderr298"}

data: {"time":"2026-09-19T16:16:50.507Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:50.507Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:50.507Z","priority":"6","pid":"2830187","message":" 16:16:49.947211 ====> Client connect"}

data: {"time":"2026-09-19T16:16:50.508Z","priority":"6","pid":"2830187","message":" 16:16:49.948046 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.509Z","priority":"6","pid":"2830187","message":" 16:16:49.948269 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:50.509Z","priority":"6","pid":"2830187","message":" 16:16:49.948475 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.510Z","priority":"6","pid":"2830187","message":" 16:16:49.948748 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:50.510Z","priority":"6","pid":"2830187","message":" 16:16:49.948797 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.511Z","priority":"6","pid":"2830187","message":" 16:16:49.949062 < \"PWD\""}

data: {"time":"2026-09-19T16:16:50.511Z","priority":"6","pid":"2830187","message":" 16:16:49.949121 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.512Z","priority":"6","pid":"2830187","message":" 16:16:49.949433 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:50.512Z","priority":"6","pid":"2830187","message":" 16:16:49.949474 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:50.512Z","priority":"6","pid":"2830187","message":" 16:16:49.949494 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:50.513Z","priority":"6","pid":"2830187","message":" 16:16:49.953135 DATA sockfilt for passive data channel started (pid 96603)"}

data: {"time":"2026-09-19T16:16:50.514Z","priority":"6","pid":"2830187","message":" 16:16:49.953474 DATA sockfilt for passive data channel listens on port 39507"}

data: {"time":"2026-09-19T16:16:50.514Z","priority":"6","pid":"2830187","message":" 16:16:49.953573 > \"229 Entering Passive Mode (|||39507|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.514Z","priority":"6","pid":"2830187","message":" 16:16:49.953609 Client has been notified that upcoming DATA connection is awaited on port 39507"}

data: {"time":"2026-09-19T16:16:50.515Z","priority":"6","pid":"2830187","message":" 16:16:49.954204 Client connects to port 39507"}

data: {"time":"2026-09-19T16:16:50.515Z","priority":"6","pid":"2830187","message":" 16:16:49.954273 ====> Client established passive DATA connection on port 39507"}

data: {"time":"2026-09-19T16:16:50.516Z","priority":"6","pid":"2830187","message":" 16:16:49.954479 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:50.516Z","priority":"6","pid":"2830187","message":" 16:16:49.954966 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.517Z","priority":"6","pid":"2830187","message":" 16:16:49.955110 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:50.519Z","priority":"6","pid":"2830187","message":" 16:16:49.955178 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.955524 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.955637 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.955771 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.955797 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.956277 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.956326 DATA sockfilt for passive data channel quits (pid 96603)"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.956857 DATA sockfilt for passive data channel quit (pid 96603)"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.956917 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.956967 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.997237 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.997363 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.998414 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.998627 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:49.998849 Awaiting input"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:50.015966 ====> Client connect"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:50.016671 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:50.016716 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:50.016747 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:50.016761 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:50.016771 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:50.016937 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:50.016961 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.527Z","priority":"6","pid":"2830187","message":" 16:16:50.017384 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.531Z","priority":"6","pid":"2830187","message":" 16:16:50.017410 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.531Z","priority":"6","pid":"2830187","message":" 16:16:50.017482 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.531Z","priority":"6","pid":"2830187","message":" 16:16:50.017580 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.531Z","priority":"6","pid":"2830187","message":" 16:16:50.017596 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.531Z","priority":"6","pid":"2830187","message":" 16:16:50.017794 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.532Z","priority":"6","pid":"2830187","message":" 16:16:50.017810 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.533Z","priority":"6","pid":"2830187","message":" 16:16:50.017822 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.533Z","priority":"6","pid":"2830187","message":" 16:16:50.017907 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.534Z","priority":"6","pid":"2830187","message":" 16:16:50.017921 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.534Z","priority":"6","pid":"2830187","message":" 16:16:50.018127 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.535Z","priority":"6","pid":"2830187","message":" 16:16:50.018146 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.535Z","priority":"6","pid":"2830187","message":" 16:16:50.018159 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.536Z","priority":"6","pid":"2830187","message":" 16:16:50.018264 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.536Z","priority":"6","pid":"2830187","message":" 16:16:50.018279 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.537Z","priority":"6","pid":"2830187","message":" 16:16:50.022624 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.537Z","priority":"6","pid":"2830187","message":" 16:16:50.022656 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.538Z","priority":"6","pid":"2830187","message":" 16:16:50.022670 '229 Entering Passive Mode (|||39507|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.538Z","priority":"6","pid":"2830187","message":" 16:16:50.023038 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.538Z","priority":"6","pid":"2830187","message":" 16:16:50.023074 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.539Z","priority":"6","pid":"2830187","message":" 16:16:50.023511 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.540Z","priority":"6","pid":"2830187","message":" 16:16:50.023537 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.540Z","priority":"6","pid":"2830187","message":" 16:16:50.023561 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.541Z","priority":"6","pid":"2830187","message":" 16:16:50.023848 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.541Z","priority":"6","pid":"2830187","message":" 16:16:50.023887 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.542Z","priority":"6","pid":"2830187","message":" 16:16:50.024212 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.542Z","priority":"6","pid":"2830187","message":" 16:16:50.024234 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.543Z","priority":"6","pid":"2830187","message":" 16:16:50.024247 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.543Z","priority":"6","pid":"2830187","message":" 16:16:50.024364 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.544Z","priority":"6","pid":"2830187","message":" 16:16:50.024382 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.544Z","priority":"6","pid":"2830187","message":" 16:16:50.024557 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.545Z","priority":"6","pid":"2830187","message":" 16:16:50.024574 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.545Z","priority":"6","pid":"2830187","message":" 16:16:50.024798 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.546Z","priority":"6","pid":"2830187","message":" 16:16:50.025975 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.546Z","priority":"6","pid":"2830187","message":" 16:16:50.025996 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.547Z","priority":"6","pid":"2830187","message":" 16:16:50.026010 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.547Z","priority":"6","pid":"2830187","message":" 16:16:50.065918 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:50.548Z","priority":"6","pid":"2830187","message":" 16:16:50.066000 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.549Z","priority":"6","pid":"2830187","message":" 16:16:50.066394 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.549Z","priority":"6","pid":"2830187","message":" 16:16:50.066426 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.549Z","priority":"6","pid":"2830187","message":" 16:16:50.066439 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.550Z","priority":"6","pid":"2830187","message":" 16:16:50.067253 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:50.550Z","priority":"6","pid":"2830187","message":" 16:16:50.067462 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:50.550Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:50.551Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:50.551Z","priority":"6","pid":"2830187","message":" 16:16:49.021701 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:50.552Z","priority":"6","pid":"2830187","message":" 16:16:49.021890 Listening on port 39507"}

data: {"time":"2026-09-19T16:16:50.552Z","priority":"6","pid":"2830187","message":" 16:16:49.021950 Wrote pid 96603 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:50.553Z","priority":"6","pid":"2830187","message":" 16:16:49.022026 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:50.553Z","priority":"6","pid":"2830187","message":" 16:16:49.022212 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:50.554Z","priority":"6","pid":"2830187","message":" 16:16:49.023109 ====> Client connect"}

data: {"time":"2026-09-19T16:16:50.554Z","priority":"6","pid":"2830187","message":" 16:16:49.024948 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:50.555Z","priority":"6","pid":"2830187","message":" 16:16:49.024983 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:50.555Z","priority":"6","pid":"2830187","message":" 16:16:49.025010 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:50.555Z","priority":"6","pid":"2830187","message":" 16:16:49.025058 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:50.556Z","priority":"6","pid":"2830187","message":" 16:16:49.025074 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:50.556Z","priority":"6","pid":"2830187","message":" 16:16:49.025363 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:50.557Z","priority":"6","pid":"2830187","message":" 16:16:49.025386 quits"}

data: {"time":"2026-09-19T16:16:50.557Z","priority":"6","pid":"2830187","message":" 16:16:49.025507 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:50.557Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:50.558Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:50.558Z","priority":"6","pid":"2830187","message":" Testnum 298"}

data: {"time":"2026-09-19T16:16:50.559Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:50.559Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind298"}

data: {"time":"2026-09-19T16:16:50.560Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:50.560Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:50.560Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:50.561Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.561Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:50.562Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:50.562Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:50.562Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:50.563Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:50.563Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.564Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:50.565Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:50.565Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:50.566Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:50.567Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:50.567Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:50.567Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:50.568Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.568Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:50.568Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:50.569Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.569Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:50.570Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:50.571Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:50.571Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:50.571Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:50.571Z","priority":"6","pid":"2830187","message":"=== End of file valgrind298"}

data: {"time":"2026-09-19T16:16:50.572Z","priority":"6","pid":"2830187","message":"test 0299 [FTP over HTTP proxy with user:pass not in url]"}

data: {"time":"2026-09-19T16:16:50.574Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind299 ../src/curl -q --output log/curl299.out  --include --trace-ascii log/trace299 --trace-time -x http://127.0.0.1:36137 -u michal:aybabtu ftp://host.com/we/want/299 > log/stdout299 2> log/stderr299"}

data: {"time":"2026-09-19T16:16:50.575Z","priority":"6","pid":"2830187","message":" 299: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:50.575Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:50.576Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:50.577Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 299"}

data: {"time":"2026-09-19T16:16:50.577Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:50.578Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind299 ../src/curl -q --output log/curl299.out  --include --trace-ascii log/trace299 --trace-time -x http://127.0.0.1:36137 -u michal:aybabtu ftp://host.com/we/want/299 > log/stdout299 2> log/stderr299"}

data: {"time":"2026-09-19T16:16:50.579Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:50.579Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:50.580Z","priority":"6","pid":"2830187","message":" 16:16:50.371876 ====> Client connect"}

data: {"time":"2026-09-19T16:16:50.580Z","priority":"6","pid":"2830187","message":" 16:16:50.371923 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:50.886Z","priority":"6","pid":"2830187","message":" 16:16:50.CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind314 ../src/curl -q --output log/curl314.out  --include --trace-ascii log/trace314 --trace-time http://127.0.0.1:36137/314 --compressed > log/stdout314 2> log/stderr314"}

data: {"time":"2026-09-19T16:16:51.134Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind315 ../src/curl -q --output log/curl315.out  --include --trace-ascii log/trace315 --trace-time http://127.0.0.1:36137/315 --compressed > log/stdout315 2> log/stderr315"}

data: {"time":"2026-09-19T16:16:51.139Z","priority":"6","pid":"2830187","message":"372066 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:51.140Z","priority":"6","pid":"2830187","message":" 16:16:50.372081 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:51.141Z","priority":"6","pid":"2830187","message":" 16:16:50.372096 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.142Z","priority":"6","pid":"2830187","message":" 16:16:50.372105 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:51.143Z","priority":"6","pid":"2830187","message":" 16:16:50.372141 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:51.143Z","priority":"6","pid":"2830187","message":" 16:16:50.372161 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:51.145Z","priority":"6","pid":"2830187","message":" 16:16:50.372215 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:51.145Z","priority":"6","pid":"2830187","message":" 16:16:50.372224 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:51.146Z","priority":"6","pid":"2830187","message":" 16:16:50.372233 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:51.148Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:51.148Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:51.148Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:51.148Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54264"}

data: {"time":"2026-09-19T16:16:51.148Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:51.149Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.149Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:51.150Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:51.151Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:51.153Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:51.154Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:51.154Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:51.154Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:51.154Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:51.154Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:51.155Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:51.155Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:51.156Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:51.156Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:51.157Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:51.158Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:51.158Z","priority":"6","pid":"2830187","message":" Testnum 299"}

data: {"time":"2026-09-19T16:16:51.158Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:51.160Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:51.161Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:51.161Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:51.161Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:51.161Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:51.162Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind299"}

data: {"time":"2026-09-19T16:16:51.163Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:51.164Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:51.166Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:51.166Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.166Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:51.168Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:51.169Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:51.169Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:51.170Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:51.171Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.172Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:51.174Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:51.175Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:51.175Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:51.176Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:51.177Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:51.178Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:51.179Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.180Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:51.181Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:51.181Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.182Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:51.183Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:51.185Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:51.185Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.186Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:51.186Z","priority":"6","pid":"2830187","message":"=== End of file valgrind299"}

data: {"time":"2026-09-19T16:16:51.187Z","priority":"6","pid":"2830187","message":"test 0300 SKIPPED: no stunnel"}

data: {"time":"2026-09-19T16:16:51.188Z","priority":"6","pid":"2830187","message":"test 0301 SKIPPED: no stunnel"}

data: {"time":"2026-09-19T16:16:51.189Z","priority":"6","pid":"2830187","message":"test 0302 SKIPPED: no stunnel"}

data: {"time":"2026-09-19T16:16:51.189Z","priority":"6","pid":"2830187","message":"test 0314 [HTTP GET brotli compressed content]"}

data: {"time":"2026-09-19T16:16:51.193Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind314 ../src/curl -q --output log/curl314.out  --include --trace-ascii log/trace314 --trace-time http://127.0.0.1:36137/314 --compressed > log/stdout314 2> log/stderr314"}

data: {"time":"2026-09-19T16:16:51.194Z","priority":"6","pid":"2830187","message":" 314: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:51.195Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:51.197Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:51.198Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 314"}

data: {"time":"2026-09-19T16:16:51.200Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:51.203Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind314 ../src/curl -q --output log/curl314.out  --include --trace-ascii log/trace314 --trace-time http://127.0.0.1:36137/314 --compressed > log/stdout314 2> log/stderr314"}

data: {"time":"2026-09-19T16:16:51.204Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:51.204Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:51.206Z","priority":"6","pid":"2830187","message":" 16:16:50.779737 ====> Client connect"}

data: {"time":"2026-09-19T16:16:51.208Z","priority":"6","pid":"2830187","message":" 16:16:50.779790 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:51.209Z","priority":"6","pid":"2830187","message":" 16:16:50.779951 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:51.209Z","priority":"6","pid":"2830187","message":" 16:16:50.779967 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:51.209Z","priority":"6","pid":"2830187","message":" 16:16:50.779983 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.209Z","priority":"6","pid":"2830187","message":" 16:16:50.779993 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:51.210Z","priority":"6","pid":"2830187","message":" 16:16:50.780027 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:51.211Z","priority":"6","pid":"2830187","message":" 16:16:50.780049 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:51.211Z","priority":"6","pid":"2830187","message":" 16:16:50.780115 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:51.212Z","priority":"6","pid":"2830187","message":" 16:16:50.780125 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:51.212Z","priority":"6","pid":"2830187","message":" 16:16:50.780134 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:51.212Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:51.213Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:51.213Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:51.214Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54272"}

data: {"time":"2026-09-19T16:16:51.214Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:51.214Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.215Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:51.215Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:51.215Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:51.216Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:51.216Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:51.216Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:51.217Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:51.217Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:51.217Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:51.217Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:51.218Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:51.218Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:51.218Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:51.219Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:51.219Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:51.219Z","priority":"6","pid":"2830187","message":" Testnum 314"}

data: {"time":"2026-09-19T16:16:51.219Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:51.220Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:51.220Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:51.220Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:51.221Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:51.221Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:51.221Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind314"}

data: {"time":"2026-09-19T16:16:51.222Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:51.223Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:51.223Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:51.223Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.224Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:51.224Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:51.225Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:51.225Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:51.225Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:51.226Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.226Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:51.227Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:51.227Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:51.228Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:51.228Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:51.229Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:51.229Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:51.230Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.230Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:51.231Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:51.231Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.232Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:51.232Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:51.232Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:51.233Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.233Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:51.233Z","priority":"6","pid":"2830187","message":"=== End of file valgrind314"}

data: {"time":"2026-09-19T16:16:51.235Z","priority":"6","pid":"2830187","message":"test 0315 [HTTP GET brotli compressed content with broken header]"}

data: {"time":"2026-09-19T16:16:51.236Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind315 ../src/curl -q --output log/curl315.out  --include --trace-ascii log/trace315 --trace-time http://127.0.0.1:36137/315 --compressed > log/stdout315 2> log/stderr315"}

data: {"time":"2026-09-19T16:16:51.237Z","priority":"6","pid":"2830187","message":" 315: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:51.237Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:51.238Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:51.239Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 315"}

data: {"time":"2026-09-19T16:16:51.239Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:51.240Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind315 ../src/curl -q --output log/curl315.out  --include --trace-ascii log/trace315 --trace-time http://127.0.0.1:36137/315 --compressed > log/stdout315 2> log/stderr315"}

data: {"time":"2026-09-19T16:16:51.241Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:51.241Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:51.242Z","priority":"6","pid":"2830187","message":" 16:16:51.003916 ====> Client connect"}

data: {"time":"2026-09-19T16:16:51.243Z","priority":"6","pid":"2830187","message":" 16:16:51.003962 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:51.243Z","priority":"6","pid":"2830187","message":" 16:16:51.004190 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:51.243Z","priority":"6","pid":"2830187","message":" 16:16:51.004214 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:51.243Z","priority":"6","pid":"2830187","message":" 16:16:51.004233 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.244Z","priority":"6","pid":"2830187","message":" 16:16:51.004287 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:51.244Z","priority":"6","pid":"2830187","message":" 16:16:51.004349 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:51.245Z","priority":"6","pid":"2830187","message":" 16:16:51.004374 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:51.246Z","priority":"6","pid":"2830187","message":" 16:16:51.004461 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:51.246Z","priority":"6","pid":"2830187","message":" 16:16:51.004476 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:51.247Z","priority":"6","pid":"2830187","message":" 16:16:51.004486 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:51.247Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:51.487Z","priority":"6","pid":"2830187","message":"=== Start of file CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind316 ../src/curl -q --output log/curl316.out  --include --trace-ascii log/trace316 --trace-time http://127.0.0.1:36137/316 --compressed > log/stdout316 2> log/stderr316"}

data: {"time":"2026-09-19T16:16:51.741Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind317 ../src/curl -q --output log/curl317.out  --include --trace-ascii log/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:36137 -H \"Authorization: s3cr3t\" --proxy-user testing:this --location > log/stdout317 2> log/stderr317"}

data: {"time":"2026-09-19T16:16:51.748Z","priority":"6","pid":"2830187","message":"http_verify.log"}

data: {"time":"2026-09-19T16:16:51.748Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:51.748Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54282"}

data: {"time":"2026-09-19T16:16:51.749Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:51.749Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.749Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:51.749Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:51.749Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:51.750Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:51.750Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:51.750Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:51.751Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:51.751Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:51.751Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:51.751Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:51.752Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:51.752Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:51.753Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:51.753Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:51.753Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:51.753Z","priority":"6","pid":"2830187","message":" Testnum 315"}

data: {"time":"2026-09-19T16:16:51.753Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:51.754Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:51.754Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:51.754Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:51.754Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:51.754Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:51.755Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind315"}

data: {"time":"2026-09-19T16:16:51.755Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:51.756Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:51.756Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:51.757Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.757Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:51.757Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:51.758Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:51.758Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:51.759Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:51.759Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.759Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:51.760Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:51.760Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:51.761Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:51.762Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:51.762Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:51.762Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:51.762Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.763Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:51.763Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:51.763Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.764Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:51.765Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:51.765Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:51.765Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.765Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:51.765Z","priority":"6","pid":"2830187","message":"=== End of file valgrind315"}

data: {"time":"2026-09-19T16:16:51.766Z","priority":"6","pid":"2830187","message":"test 0316 [HTTP brotli compressed content of size more than CURL_MAX_WRITE_SIZE]"}

data: {"time":"2026-09-19T16:16:51.767Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind316 ../src/curl -q --output log/curl316.out  --include --trace-ascii log/trace316 --trace-time http://127.0.0.1:36137/316 --compressed > log/stdout316 2> log/stderr316"}

data: {"time":"2026-09-19T16:16:51.768Z","priority":"6","pid":"2830187","message":" 316: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:51.768Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:51.769Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:51.769Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 316"}

data: {"time":"2026-09-19T16:16:51.769Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:51.771Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind316 ../src/curl -q --output log/curl316.out  --include --trace-ascii log/trace316 --trace-time http://127.0.0.1:36137/316 --compressed > log/stdout316 2> log/stderr316"}

data: {"time":"2026-09-19T16:16:51.771Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:51.771Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:51.771Z","priority":"6","pid":"2830187","message":" 16:16:51.363484 ====> Client connect"}

data: {"time":"2026-09-19T16:16:51.772Z","priority":"6","pid":"2830187","message":" 16:16:51.363555 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:51.772Z","priority":"6","pid":"2830187","message":" 16:16:51.363594 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:51.772Z","priority":"6","pid":"2830187","message":" 16:16:51.363609 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:51.773Z","priority":"6","pid":"2830187","message":" 16:16:51.363628 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.774Z","priority":"6","pid":"2830187","message":" 16:16:51.363641 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:51.774Z","priority":"6","pid":"2830187","message":" 16:16:51.363680 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:51.774Z","priority":"6","pid":"2830187","message":" 16:16:51.363704 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:51.774Z","priority":"6","pid":"2830187","message":" 16:16:51.363799 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:51.775Z","priority":"6","pid":"2830187","message":" 16:16:51.363813 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:51.775Z","priority":"6","pid":"2830187","message":" 16:16:51.363823 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:51.776Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:51.776Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:51.776Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:51.777Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54288"}

data: {"time":"2026-09-19T16:16:51.777Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:51.778Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.778Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:51.778Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:51.778Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:51.779Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:51.779Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:51.779Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:51.779Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:51.779Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:51.780Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:51.780Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:51.781Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:51.781Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:51.781Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:51.782Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:51.782Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:51.782Z","priority":"6","pid":"2830187","message":" Testnum 316"}

data: {"time":"2026-09-19T16:16:51.782Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:51.782Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:51.782Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:51.783Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:51.783Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:51.783Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:51.784Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind316"}

data: {"time":"2026-09-19T16:16:51.784Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:51.784Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:51.785Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:51.785Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.786Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:51.786Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:51.786Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:51.792Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:51.792Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:51.792Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.792Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:51.793Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:51.794Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:51.794Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:51.795Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:51.795Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:51.797Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:51.797Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.800Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:51.800Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:51.800Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.802Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:51.802Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:51.802Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:51.802Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:51.804Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:51.805Z","priority":"6","pid":"2830187","message":"=== End of file valgrind316"}

data: {"time":"2026-09-19T16:16:51.805Z","priority":"6","pid":"2830187","message":"test 0317 [HTTP with custom Authorization: and redirect to new host]"}

data: {"time":"2026-09-19T16:16:51.809Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind317 ../src/curl -q --output log/curl317.out  --include --trace-ascii log/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:36137 -H \"Authorization: s3cr3t\" --proxy-user testing:this --location > log/stdout317 2> log/stderr317"}

data: {"time":"2026-09-19T16:16:51.811Z","priority":"6","pid":"2830187","message":" 317: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:51.812Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:51.815Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:51.816Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 317"}

data: {"time":"2026-09-19T16:16:51.816Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:51.820Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind317 ../src/curl -q --output log/curl317.out  --include --trace-ascii log/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:36137 -H \"Authorization: s3cr3t\" --proxy-user testing:this --location > log/stdout317 2> log/stderr317"}

data: {"time":"2026-09-19T16:16:51.821Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:51.821Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:51.823Z","priority":"6","pid":"2830187","message":" 16:16:51.617997 ====> Client connect"}

data: {"time":"2026-09-19T16:16:51.823Z","priority":"6","pid":"2830187","message":" 16:16:51.618059 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:51.824Z","priority":"6","pid":"2830187","message":" 16:16:51.618290 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:51.824Z","priority":"6","pid":"2830187","message":" 16:16:51.618323 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:51.825Z","priority":"6","pid":"2830187","message":" 16:16:51.618341 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.825Z","priority":"6","pid":"2830187","message":" 16:16:51.618352 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:51.826Z","priority":"6","pid":"2830187","message":" 16:16:51.618407 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:51.826Z","priority":"6","pid":"2830187","message":" 16:16:51.618443 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:51.826Z","priority":"6","pid":"2830187","message":" 16:16:51.618518 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:51.827Z","priority":"6","pid":"2830187","message":" 16:16:51.618530 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:51.827Z","priority":"6","pid":"2830187","message":" 16:16:51.618540 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:51.828Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:51.828Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:51.829Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:51.829Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54296"}

data: {"time":"2026-09-19T16:16:51.829Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:51.829Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:51.830Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:51.830Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:51.830Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:51.830Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:51.831Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:51.831Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:51.831Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:51.831Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:51.832Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:52.064Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 lCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind318 ../src/curl -q --output log/curl318.out  --include --trace-ascii log/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:36137 -H \"Authorization: s3cr3t\" --proxy-user testing:this --location-trusted > log/stdout318 2> log/stderr318"}

data: {"time":"2026-09-19T16:16:52.287Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind319 ../src/curl -q --output log/curl319.out  --trace-ascii log/trace319 --trace-time http://127.0.0.1:36137/319 --raw > log/stdout319 2> log/stderr319"}

data: {"time":"2026-09-19T16:16:52.291Z","priority":"6","pid":"2830187","message":"eft intact"}

data: {"time":"2026-09-19T16:16:52.292Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:52.292Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.292Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.293Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.293Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.293Z","priority":"6","pid":"2830187","message":" Testnum 317"}

data: {"time":"2026-09-19T16:16:52.294Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.294Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:52.295Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:52.295Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:52.295Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.295Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:52.295Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind317"}

data: {"time":"2026-09-19T16:16:52.296Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:52.296Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:52.296Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:52.297Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.297Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:52.297Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:52.298Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:52.298Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:52.299Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:52.299Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.299Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:52.300Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:52.300Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:52.301Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:52.301Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:52.301Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:52.302Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:52.302Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.303Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:52.303Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:52.303Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.304Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:52.304Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:52.305Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:52.305Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.305Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:52.305Z","priority":"6","pid":"2830187","message":"=== End of file valgrind317"}

data: {"time":"2026-09-19T16:16:52.306Z","priority":"6","pid":"2830187","message":"test 0318 [HTTP with custom Authorization: then trusted redirect to new host]"}

data: {"time":"2026-09-19T16:16:52.308Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind318 ../src/curl -q --output log/curl318.out  --include --trace-ascii log/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:36137 -H \"Authorization: s3cr3t\" --proxy-user testing:this --location-trusted > log/stdout318 2> log/stderr318"}

data: {"time":"2026-09-19T16:16:52.309Z","priority":"6","pid":"2830187","message":" 318: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:52.309Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:52.309Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:52.309Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 318"}

data: {"time":"2026-09-19T16:16:52.310Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:52.311Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind318 ../src/curl -q --output log/curl318.out  --include --trace-ascii log/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:36137 -H \"Authorization: s3cr3t\" --proxy-user testing:this --location-trusted > log/stdout318 2> log/stderr318"}

data: {"time":"2026-09-19T16:16:52.312Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:52.312Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:52.313Z","priority":"6","pid":"2830187","message":" 16:16:51.941083 ====> Client connect"}

data: {"time":"2026-09-19T16:16:52.313Z","priority":"6","pid":"2830187","message":" 16:16:51.941193 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:52.313Z","priority":"6","pid":"2830187","message":" 16:16:51.941509 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:52.314Z","priority":"6","pid":"2830187","message":" 16:16:51.941530 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:52.314Z","priority":"6","pid":"2830187","message":" 16:16:51.941549 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:52.316Z","priority":"6","pid":"2830187","message":" 16:16:51.941561 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:52.316Z","priority":"6","pid":"2830187","message":" 16:16:51.941615 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:52.317Z","priority":"6","pid":"2830187","message":" 16:16:51.941641 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:52.318Z","priority":"6","pid":"2830187","message":" 16:16:51.941738 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:52.318Z","priority":"6","pid":"2830187","message":" 16:16:51.941751 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:52.319Z","priority":"6","pid":"2830187","message":" 16:16:51.941763 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:52.319Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:52.319Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:52.320Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:52.321Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54304"}

data: {"time":"2026-09-19T16:16:52.322Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:52.322Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:52.323Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:52.324Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:52.324Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:52.324Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:52.324Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:52.324Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:52.324Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:52.325Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:52.325Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:52.327Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:52.327Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:52.328Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.328Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.329Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.330Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.330Z","priority":"6","pid":"2830187","message":" Testnum 318"}

data: {"time":"2026-09-19T16:16:52.330Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.331Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:52.331Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:52.331Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:52.333Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.333Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:52.333Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind318"}

data: {"time":"2026-09-19T16:16:52.334Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:52.334Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:52.335Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:52.336Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.336Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:52.336Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:52.337Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:52.337Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:52.337Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:52.338Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.338Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:52.339Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:52.339Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:52.340Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:52.340Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:52.341Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:52.341Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:52.341Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.342Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:52.342Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:52.342Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.343Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:52.343Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:52.344Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:52.344Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.344Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:52.344Z","priority":"6","pid":"2830187","message":"=== End of file valgrind318"}

data: {"time":"2026-09-19T16:16:52.345Z","priority":"6","pid":"2830187","message":"test 0319 [HTTP GET gobbledigook transfer-encoded data in raw mode]"}

data: {"time":"2026-09-19T16:16:52.346Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind319 ../src/curl -q --output log/curl319.out  --trace-ascii log/trace319 --trace-time http://127.0.0.1:36137/319 --raw > log/stdout319 2> log/stderr319"}

data: {"time":"2026-09-19T16:16:52.347Z","priority":"6","pid":"2830187","message":" 319: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:52.347Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:52.348Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:52.348Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 319"}

data: {"time":"2026-09-19T16:16:52.348Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:52.350Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind319 ../src/curl -q --output log/curl319.out  --trace-ascii log/trace319 --trace-time http://127.0.0.1:36137/319 --raw > log/stdout319 2> log/stderr319"}

data: {"time":"2026-09-19T16:16:52.350Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:52.351Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:52.351Z","priority":"6","pid":"2830187","message":" 16:16:52.181981 ====> Client connect"}

data: {"time":"2026-09-19T16:16:52.351Z","priority":"6","pid":"2830187","message":" 16:16:52.182038 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:52.352Z","priority":"6","pid":"2830187","message":" 16:16:52.182073 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:52.352Z","priority":"6","pid":"2830187","message":" 16:16:52.182086 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:52.353Z","priority":"6","pid":"2830187","message":" 16:16:52.182103 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:52.353Z","priority":"6","pid":"2830187","message":" 16:16:52.182114 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:52.354Z","priority":"6","pid":"2830187","message":" 16:16:52.182150 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:52.354Z","priority":"6","pid":"2830187","message":" 16:16:52.182173 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:52.355Z","priority":"6","pid":"2830187","message":" 16:16:52.182319 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:52.355Z","priority":"6","pid":"2830187","message":" 16:16:52.182337 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:52.355Z","priority":"6","pid":"2830187","message":" 16:16:52.182346 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:52.356Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:52.356Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:52.356Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:52.357Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54316"}

data: {"time":"2026-09-19T16:16:52.357Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:52.357Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:52.357Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:52.358Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:52.358Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:52.358Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:52.358Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:52.359Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:52.359Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:52.359Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:52.359Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:52.360Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:52.360Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:52.361Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.361Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.361Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.361Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.361Z","priority":"6","pid":"2830187","message":" Testnum 319"}

data: {"time":"2026-09-19T16:16:52.361Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.362Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:52.362Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:52.362Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:52.362Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.363Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:52.363Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind319"}

data: {"time":"2026-09-19T16:16:52.363Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:52.601Z","priority":"6","pid":"2830187","message":" valgrind:  CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind320 ../src/curl -q --output log/curl320.out  --include --trace-ascii log/trace320 --trace-time http://localhost:36137/320 -b log/cookies.txt --resolve localhost:36137:127.0.0.1 > log/stdout320 2> log/stderr320"}

data: {"time":"2026-09-19T16:16:52.826Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind321 ../src/curl -q --output log/curl321.out  --include --trace-ascii log/trace321 --trace-time http://127.0.0.1:36137/321 --etag-save - >> log/out321  2> log/stderr321"}

data: {"time":"2026-09-19T16:16:52.830Z","priority":"6","pid":"2830187","message":"which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:52.831Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:52.831Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.832Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:52.832Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:52.833Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:52.833Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:52.833Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:52.834Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.834Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:52.835Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:52.835Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:52.836Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:52.836Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:52.837Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:52.837Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:52.837Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.838Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:52.838Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:52.838Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.839Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:52.839Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:52.840Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:52.840Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.840Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:52.840Z","priority":"6","pid":"2830187","message":"=== End of file valgrind319"}

data: {"time":"2026-09-19T16:16:52.841Z","priority":"6","pid":"2830187","message":"test 0320 [Load cookies from file for localhost]"}

data: {"time":"2026-09-19T16:16:52.843Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind320 ../src/curl -q --output log/curl320.out  --include --trace-ascii log/trace320 --trace-time http://localhost:36137/320 -b log/cookies.txt --resolve localhost:36137:127.0.0.1 > log/stdout320 2> log/stderr320"}

data: {"time":"2026-09-19T16:16:52.843Z","priority":"6","pid":"2830187","message":" 320: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:52.843Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:52.844Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:52.844Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 320"}

data: {"time":"2026-09-19T16:16:52.845Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:52.846Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind320 ../src/curl -q --output log/curl320.out  --include --trace-ascii log/trace320 --trace-time http://localhost:36137/320 -b log/cookies.txt --resolve localhost:36137:127.0.0.1 > log/stdout320 2> log/stderr320"}

data: {"time":"2026-09-19T16:16:52.847Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:52.847Z","priority":"6","pid":"2830187","message":"=== Start of file cookies.txt"}

data: {"time":"2026-09-19T16:16:52.847Z","priority":"6","pid":"2830187","message":" localhost\tTRUE\t/\tFALSE\t0\tgood\tallowed"}

data: {"time":"2026-09-19T16:16:52.848Z","priority":"6","pid":"2830187","message":"=== End of file cookies.txt"}

data: {"time":"2026-09-19T16:16:52.848Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:52.849Z","priority":"6","pid":"2830187","message":" 16:16:52.474687 ====> Client connect"}

data: {"time":"2026-09-19T16:16:52.849Z","priority":"6","pid":"2830187","message":" 16:16:52.474743 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:52.849Z","priority":"6","pid":"2830187","message":" 16:16:52.474945 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:52.850Z","priority":"6","pid":"2830187","message":" 16:16:52.474970 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:52.850Z","priority":"6","pid":"2830187","message":" 16:16:52.474989 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:52.850Z","priority":"6","pid":"2830187","message":" 16:16:52.474999 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:52.852Z","priority":"6","pid":"2830187","message":" 16:16:52.475044 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:52.852Z","priority":"6","pid":"2830187","message":" 16:16:52.475068 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:52.853Z","priority":"6","pid":"2830187","message":" 16:16:52.475136 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:52.854Z","priority":"6","pid":"2830187","message":" 16:16:52.475148 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:52.855Z","priority":"6","pid":"2830187","message":" 16:16:52.475157 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:52.855Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:52.856Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:52.857Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:52.858Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54318"}

data: {"time":"2026-09-19T16:16:52.858Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:52.859Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:52.860Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:52.860Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:52.861Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:52.861Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:52.861Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:52.861Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:52.862Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:52.862Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:52.863Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:52.864Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:52.864Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:52.865Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.865Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.866Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.866Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.866Z","priority":"6","pid":"2830187","message":" Testnum 320"}

data: {"time":"2026-09-19T16:16:52.866Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.867Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:52.867Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:52.867Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:52.867Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.867Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:52.867Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind320"}

data: {"time":"2026-09-19T16:16:52.869Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:52.869Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:52.870Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:52.870Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.870Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:52.871Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:52.871Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:52.871Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:52.872Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:52.873Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.873Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:52.873Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:52.873Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:52.874Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:52.875Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:52.875Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:52.875Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:52.875Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.876Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:52.876Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:52.876Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.877Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:52.877Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:52.878Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:52.878Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.878Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:52.879Z","priority":"6","pid":"2830187","message":"=== End of file valgrind320"}

data: {"time":"2026-09-19T16:16:52.879Z","priority":"6","pid":"2830187","message":"test 0321 [--etag-save to stdout append to file]"}

data: {"time":"2026-09-19T16:16:52.881Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind321 ../src/curl -q --output log/curl321.out  --include --trace-ascii log/trace321 --trace-time http://127.0.0.1:36137/321 --etag-save - >> log/out321  2> log/stderr321"}

data: {"time":"2026-09-19T16:16:52.881Z","priority":"6","pid":"2830187","message":" 321: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:52.881Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:52.882Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:52.883Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 321"}

data: {"time":"2026-09-19T16:16:52.883Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:52.884Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind321 ../src/curl -q --output log/curl321.out  --include --trace-ascii log/trace321 --trace-time http://127.0.0.1:36137/321 --etag-save - >> log/out321  2> log/stderr321"}

data: {"time":"2026-09-19T16:16:52.884Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:52.884Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:52.885Z","priority":"6","pid":"2830187","message":" 16:16:52.720279 ====> Client connect"}

data: {"time":"2026-09-19T16:16:52.885Z","priority":"6","pid":"2830187","message":" 16:16:52.720370 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:52.885Z","priority":"6","pid":"2830187","message":" 16:16:52.720596 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:52.886Z","priority":"6","pid":"2830187","message":" 16:16:52.720613 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:52.886Z","priority":"6","pid":"2830187","message":" 16:16:52.720629 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:52.886Z","priority":"6","pid":"2830187","message":" 16:16:52.720639 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:52.887Z","priority":"6","pid":"2830187","message":" 16:16:52.720679 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:52.887Z","priority":"6","pid":"2830187","message":" 16:16:52.720728 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:52.888Z","priority":"6","pid":"2830187","message":" 16:16:52.720818 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:52.888Z","priority":"6","pid":"2830187","message":" 16:16:52.720829 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:52.888Z","priority":"6","pid":"2830187","message":" 16:16:52.720838 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:52.889Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:52.889Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:52.889Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:52.890Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54334"}

data: {"time":"2026-09-19T16:16:52.890Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:52.890Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:52.890Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:52.891Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:52.891Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:52.891Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:52.891Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:52.892Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:52.892Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:52.893Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:52.893Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:52.893Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:52.893Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:52.893Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.893Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.893Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:52.894Z","priority":"6","pid":"2830187","message":"=== Start of file out321"}

data: {"time":"2026-09-19T16:16:52.894Z","priority":"6","pid":"2830187","message":" initial content"}

data: {"time":"2026-09-19T16:16:52.894Z","priority":"6","pid":"2830187","message":"=== End of file out321"}

data: {"time":"2026-09-19T16:16:52.895Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.895Z","priority":"6","pid":"2830187","message":" Testnum 321"}

data: {"time":"2026-09-19T16:16:52.895Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:52.895Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:52.896Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:52.896Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:52.896Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:52.897Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:52.897Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind321"}

data: {"time":"2026-09-19T16:16:52.897Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:52.898Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:52.898Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:52.899Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:52.899Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:52.899Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:52.899Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:52.900Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:53.074Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind322 ../src/curl -q --output log/curl322.out  --include --trace-ascii log/trace322 --trace-time http://localhost/wont-get-this --proto +-http > log/stdout322 2> log/stderr322"}

data: {"time":"2026-09-19T16:16:53.078Z","priority":"6","pid":"2830187","message":"with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:53.079Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.079Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:53.080Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:53.081Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:53.081Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:53.082Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:53.082Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:53.083Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:53.084Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.084Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:53.084Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:53.084Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.085Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:53.086Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:53.086Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:53.087Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.088Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:53.089Z","priority":"6","pid":"2830187","message":"=== End of file valgrind321"}

data: {"time":"2026-09-19T16:16:53.350Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind326 ../src/curl -q --output log/curl326.out  --trace-ascii log/trace326 --trace-time http://127.0.0.1:36137/326 --raw > log/stdout326 2> log/stderr326"}

data: {"time":"2026-09-19T16:16:53.601Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind327 ../src/curl -q --output log/curl327.out  --include --trace-ascii log/trace327 --trace-time http://127.0.0.1:36137/we/want/327 -b none -c log/cookies327 http://127.0.0.1:36137/we/want/3270002 > log/stdout327 2> log/stderr327"}

data: {"time":"2026-09-19T16:16:53.607Z","priority":"6","pid":"2830187","message":"test 0322 [--proto with multiple modifiers]"}

data: {"time":"2026-09-19T16:16:53.609Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind322 ../src/curl -q --output log/curl322.out  --include --trace-ascii log/trace322 --trace-time http://localhost/wont-get-this --proto +-http > log/stdout322 2> log/stderr322"}

data: {"time":"2026-09-19T16:16:53.610Z","priority":"6","pid":"2830187","message":" 322: stderr FAILED:"}

data: {"time":"2026-09-19T16:16:53.610Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:16:53.078305366 +0000"}

data: {"time":"2026-09-19T16:16:53.610Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:16:53.076820255 +0000"}

data: {"time":"2026-09-19T16:16:53.611Z","priority":"6","pid":"2830187","message":"@@ -1,3 +0,0 @@"}

data: {"time":"2026-09-19T16:16:53.611Z","priority":"6","pid":"2830187","message":"-curl: unrecognized protocol '-http'[CR][LF]"}

data: {"time":"2026-09-19T16:16:53.612Z","priority":"6","pid":"2830187","message":"-curl: option --proto: is badly used here[CR][LF]"}

data: {"time":"2026-09-19T16:16:53.612Z","priority":"6","pid":"2830187","message":"-curl: try 'curl --help' for more information[CR][LF]"}

data: {"time":"2026-09-19T16:16:53.612Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 322"}

data: {"time":"2026-09-19T16:16:53.613Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:16:53.613Z","priority":"6","pid":"2830187","message":" curl: unrecognized protocol '-http'[CR][LF]"}

data: {"time":"2026-09-19T16:16:53.614Z","priority":"6","pid":"2830187","message":" curl: option --proto: is badly used here[CR][LF]"}

data: {"time":"2026-09-19T16:16:53.614Z","priority":"6","pid":"2830187","message":" curl: try 'curl --help' for more information[CR][LF]"}

data: {"time":"2026-09-19T16:16:53.615Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:16:53.615Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:53.616Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind322 ../src/curl -q --output log/curl322.out  --include --trace-ascii log/trace322 --trace-time http://localhost/wont-get-this --proto +-http > log/stdout322 2> log/stderr322"}

data: {"time":"2026-09-19T16:16:53.617Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:53.617Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:53.617Z","priority":"6","pid":"2830187","message":" Testnum 322"}

data: {"time":"2026-09-19T16:16:53.618Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:53.618Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind322"}

data: {"time":"2026-09-19T16:16:53.618Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:53.619Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:53.620Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:53.620Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.620Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:53.620Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:53.621Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:53.621Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:53.621Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:53.622Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.622Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:53.622Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:53.623Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:53.623Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:53.624Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:53.624Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:53.625Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:53.625Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.625Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:53.626Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:53.626Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.627Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:53.627Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:53.627Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:53.628Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.628Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:53.628Z","priority":"6","pid":"2830187","message":"=== End of file valgrind322"}

data: {"time":"2026-09-19T16:16:53.628Z","priority":"6","pid":"2830187","message":"test 0326 [HTTP GET chunked data in raw mode]"}

data: {"time":"2026-09-19T16:16:53.630Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind326 ../src/curl -q --output log/curl326.out  --trace-ascii log/trace326 --trace-time http://127.0.0.1:36137/326 --raw > log/stdout326 2> log/stderr326"}

data: {"time":"2026-09-19T16:16:53.630Z","priority":"6","pid":"2830187","message":" 326: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:53.631Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:53.631Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:53.632Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 326"}

data: {"time":"2026-09-19T16:16:53.632Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:53.634Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind326 ../src/curl -q --output log/curl326.out  --trace-ascii log/trace326 --trace-time http://127.0.0.1:36137/326 --raw > log/stdout326 2> log/stderr326"}

data: {"time":"2026-09-19T16:16:53.634Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:53.634Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:53.634Z","priority":"6","pid":"2830187","message":" 16:16:53.222813 ====> Client connect"}

data: {"time":"2026-09-19T16:16:53.634Z","priority":"6","pid":"2830187","message":" 16:16:53.222857 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:53.635Z","priority":"6","pid":"2830187","message":" 16:16:53.222985 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:53.635Z","priority":"6","pid":"2830187","message":" 16:16:53.223025 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:53.636Z","priority":"6","pid":"2830187","message":" 16:16:53.223039 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:53.636Z","priority":"6","pid":"2830187","message":" 16:16:53.223047 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:53.636Z","priority":"6","pid":"2830187","message":" 16:16:53.223096 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:53.637Z","priority":"6","pid":"2830187","message":" 16:16:53.223114 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:53.638Z","priority":"6","pid":"2830187","message":" 16:16:53.223191 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:53.638Z","priority":"6","pid":"2830187","message":" 16:16:53.223201 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:53.638Z","priority":"6","pid":"2830187","message":" 16:16:53.223208 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:53.639Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:53.639Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:53.639Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:53.640Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54336"}

data: {"time":"2026-09-19T16:16:53.640Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:53.640Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:53.640Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:53.641Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:53.641Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:53.642Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:53.642Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:53.642Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:53.642Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:53.642Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:53.642Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:53.643Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:53.643Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:53.644Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:53.644Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:53.644Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:53.644Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:53.645Z","priority":"6","pid":"2830187","message":" Testnum 326"}

data: {"time":"2026-09-19T16:16:53.645Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:53.645Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:53.645Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:53.646Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:53.646Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:53.646Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:53.647Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind326"}

data: {"time":"2026-09-19T16:16:53.647Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:53.647Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:53.648Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:53.649Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.649Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:53.649Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:53.649Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:53.649Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:53.650Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:53.650Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.650Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:53.651Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:53.651Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:53.652Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:53.652Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:53.653Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:53.653Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:53.654Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.654Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:53.654Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:53.654Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.655Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:53.655Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:53.656Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:53.656Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:53.656Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:53.657Z","priority":"6","pid":"2830187","message":"=== End of file valgrind326"}

data: {"time":"2026-09-19T16:16:53.657Z","priority":"6","pid":"2830187","message":"test 0327 [HTTP with cookiejar without cookies left]"}

data: {"time":"2026-09-19T16:16:53.659Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind327 ../src/curl -q --output log/curl327.out  --include --trace-ascii log/trace327 --trace-time http://127.0.0.1:36137/we/want/327 -b none -c log/cookies327 http://127.0.0.1:36137/we/want/3270002 > log/stdout327 2> log/stderr327"}

data: {"time":"2026-09-19T16:16:53.660Z","priority":"6","pid":"2830187","message":" 327: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:53.660Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:53.660Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:53.661Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 327"}

data: {"time":"2026-09-19T16:16:53.662Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:53.664Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind327 ../src/curl -q --output log/curl327.out  --include --trace-ascii log/trace327 --trace-time http://127.0.0.1:36137/we/want/327 -b none -c log/cookies327 http://127.0.0.1:36137/we/want/3270002 > log/stdout327 2> log/stderr327"}

data: {"time":"2026-09-19T16:16:53.664Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:53.665Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:53.665Z","priority":"6","pid":"2830187","message":" 16:16:53.460239 ====> Client connect"}

data: {"time":"2026-09-19T16:16:53.665Z","priority":"6","pid":"2830187","message":" 16:16:53.460291 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:53.666Z","priority":"6","pid":"2830187","message":" 16:16:53.460488 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:53.666Z","priority":"6","pid":"2830187","message":" 16:16:53.460510 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:53.667Z","priority":"6","pid":"2830187","message":" 16:16:53.460525 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:53.667Z","priority":"6","pid":"2830187","message":" 16:16:53.460535 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:53.668Z","priority":"6","pid":"2830187","message":" 16:16:53.460575 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:53.668Z","priority":"6","pid":"2830187","message":" 16:16:53.460596 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:53.903Z","priority":"6","pid":"2830187","message":" 16:16:53.460CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind328 ../src/curl -q --output log/curl328.out  --include --trace-ascii log/trace328 --trace-time http://127.0.0.1:36137/hello/328 --compressed > log/stdout328 2> log/stderr328"}

data: {"time":"2026-09-19T16:16:54.164Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind329 ../src/curl -q --output log/curl329.out  --include --trace-ascii log/trace329 --trace-time http://127.0.0.1:36137/we/want/329 -b log/jar329.txt -b log/jar329-2.txt -H \"Host: host.foo.com\" http://127.0.0.1:36137/we/want/3290002 > log/stdout329 2> log/stderr329"}

data: {"time":"2026-09-19T16:16:54.171Z","priority":"6","pid":"2830187","message":"650 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:54.171Z","priority":"6","pid":"2830187","message":" 16:16:53.460661 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:54.173Z","priority":"6","pid":"2830187","message":" 16:16:53.460691 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:54.173Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:54.173Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:54.174Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:54.174Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54352"}

data: {"time":"2026-09-19T16:16:54.174Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:54.175Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:54.175Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:54.175Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:54.176Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:54.176Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:54.176Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:54.176Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:54.177Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:54.177Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:54.177Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:54.178Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:54.178Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:54.179Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:54.179Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:54.179Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:54.179Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:54.179Z","priority":"6","pid":"2830187","message":" Testnum 327"}

data: {"time":"2026-09-19T16:16:54.180Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:54.180Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:54.180Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:54.180Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:54.181Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:54.181Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:54.182Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind327"}

data: {"time":"2026-09-19T16:16:54.183Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:54.183Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:54.183Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:54.183Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.183Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:54.184Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:54.184Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:54.186Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:54.186Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:54.187Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.188Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:54.188Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:54.188Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:54.189Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:54.189Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:54.190Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:54.190Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:54.191Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.191Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:54.192Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:54.192Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.193Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:54.194Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:54.194Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:54.194Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.194Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:54.194Z","priority":"6","pid":"2830187","message":"=== End of file valgrind327"}

data: {"time":"2026-09-19T16:16:54.195Z","priority":"6","pid":"2830187","message":"test 0328 [HTTP with \"Content-Encoding: none]"}

data: {"time":"2026-09-19T16:16:54.197Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind328 ../src/curl -q --output log/curl328.out  --include --trace-ascii log/trace328 --trace-time http://127.0.0.1:36137/hello/328 --compressed > log/stdout328 2> log/stderr328"}

data: {"time":"2026-09-19T16:16:54.197Z","priority":"6","pid":"2830187","message":" 328: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:54.198Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:54.199Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:54.199Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 328"}

data: {"time":"2026-09-19T16:16:54.199Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:54.200Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind328 ../src/curl -q --output log/curl328.out  --include --trace-ascii log/trace328 --trace-time http://127.0.0.1:36137/hello/328 --compressed > log/stdout328 2> log/stderr328"}

data: {"time":"2026-09-19T16:16:54.201Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:54.201Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:54.202Z","priority":"6","pid":"2830187","message":" 16:16:53.782947 ====> Client connect"}

data: {"time":"2026-09-19T16:16:54.202Z","priority":"6","pid":"2830187","message":" 16:16:53.783008 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:54.203Z","priority":"6","pid":"2830187","message":" 16:16:53.783226 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:54.203Z","priority":"6","pid":"2830187","message":" 16:16:53.783247 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:54.203Z","priority":"6","pid":"2830187","message":" 16:16:53.783264 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:54.204Z","priority":"6","pid":"2830187","message":" 16:16:53.783275 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:54.204Z","priority":"6","pid":"2830187","message":" 16:16:53.783321 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:54.205Z","priority":"6","pid":"2830187","message":" 16:16:53.783345 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:54.205Z","priority":"6","pid":"2830187","message":" 16:16:53.783413 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:54.206Z","priority":"6","pid":"2830187","message":" 16:16:53.783425 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:54.206Z","priority":"6","pid":"2830187","message":" 16:16:53.783435 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:54.207Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:54.207Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:54.208Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:54.208Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54362"}

data: {"time":"2026-09-19T16:16:54.209Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:54.209Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:54.209Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:54.210Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:54.210Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:54.210Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:54.211Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:54.211Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:54.211Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:54.211Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:54.211Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:54.212Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:54.212Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:54.212Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:54.213Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:54.215Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:54.215Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:54.215Z","priority":"6","pid":"2830187","message":" Testnum 328"}

data: {"time":"2026-09-19T16:16:54.215Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:54.215Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:54.216Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:54.217Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:54.218Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:54.220Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:54.221Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind328"}

data: {"time":"2026-09-19T16:16:54.222Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:54.224Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:54.224Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:54.226Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.226Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:54.226Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:54.228Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:54.230Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:54.233Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:54.233Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.234Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:54.236Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:54.237Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:54.239Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:54.239Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:54.240Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:54.241Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:54.242Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.242Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:54.244Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:54.245Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.246Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:54.247Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:54.248Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:54.248Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.248Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:54.249Z","priority":"6","pid":"2830187","message":"=== End of file valgrind328"}

data: {"time":"2026-09-19T16:16:54.249Z","priority":"6","pid":"2830187","message":"setenv TZ = GMT"}

data: {"time":"2026-09-19T16:16:54.250Z","priority":"6","pid":"2830187","message":"test 0329 [HTTP cookie with Max-Age=0]"}

data: {"time":"2026-09-19T16:16:54.251Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind329 ../src/curl -q --output log/curl329.out  --include --trace-ascii log/trace329 --trace-time http://127.0.0.1:36137/we/want/329 -b log/jar329.txt -b log/jar329-2.txt -H \"Host: host.foo.com\" http://127.0.0.1:36137/we/want/3290002 > log/stdout329 2> log/stderr329"}

data: {"time":"2026-09-19T16:16:54.252Z","priority":"6","pid":"2830187","message":" 329: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:54.252Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:54.253Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:54.253Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 329"}

data: {"time":"2026-09-19T16:16:54.254Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:54.256Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind329 ../src/curl -q --output log/curl329.out  --include --trace-ascii log/trace329 --trace-time http://127.0.0.1:36137/we/want/329 -b log/jar329.txt -b log/jar329-2.txt -H \"Host: host.foo.com\" http://127.0.0.1:36137/we/want/3290002 > log/stdout329 2> log/stderr329"}

data: {"time":"2026-09-19T16:16:54.256Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:54.256Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:54.257Z","priority":"6","pid":"2830187","message":" 16:16:54.017281 ====> Client connect"}

data: {"time":"2026-09-19T16:16:54.258Z","priority":"6","pid":"2830187","message":" 16:16:54.017345 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:54.258Z","priority":"6","pid":"2830187","message":" 16:16:54.017613 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:54.258Z","priority":"6","pid":"2830187","message":" 16:16:54.017648 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:54.259Z","priority":"6","pid":"2830187","message":" 16:16:54.017669 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:54.259Z","priority":"6","pid":"2830187","message":" 16:16:54.017684 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:54.259Z","priority":"6","pid":"2830187","message":" 16:16:54.017743 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:54.260Z","priority":"6","pid":"2830187","message":" 16:16:54.017772 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:54.260Z","priority":"6","pid":"2830187","message":" 16:16:54.017884 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:54.261Z","priority":"6","pid":"2830187","message":" 16:16:54.017900 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:54.261Z","priority":"6","pid":"2830187","message":" 16:16:54.017910 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:54.262Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:54.262Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:54.262Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:54.263Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54368"}

data: {"time":"2026-09-19T16:16:54.263Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:54.263Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:54.494Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind330 ../src/curl -q --output log/curl330.out  --include --trace-ascii log/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:36137 -H \"Cookie: test=yes\" --location > log/stdout330 2> log/stderr330"}

data: {"time":"2026-09-19T16:16:54.738Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind331 ../src/curl -q --output log/curl331.out  --include --trace-ascii log/trace331 --trace-time -x http://127.0.0.1:36137 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/stdout331 2> log/stderr331"}

data: {"time":"2026-09-19T16:16:54.742Z","priority":"6","pid":"2830187","message":".1:36137"}

data: {"time":"2026-09-19T16:16:54.742Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:54.742Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:54.742Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:54.743Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:54.743Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:54.743Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:54.743Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:54.744Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:54.744Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:54.745Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:54.746Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:54.746Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:54.747Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:54.747Z","priority":"6","pid":"2830187","message":"=== Start of file jar329.txt"}

data: {"time":"2026-09-19T16:16:54.747Z","priority":"6","pid":"2830187","message":" .host.foo.com\tTRUE\t/we/want/\tFALSE\t22147483647\ttest\tno"}

data: {"time":"2026-09-19T16:16:54.748Z","priority":"6","pid":"2830187","message":" .host.foo.com\tTRUE\t/we/want/\tFALSE\t22147483647\ttester\tyes"}

data: {"time":"2026-09-19T16:16:54.750Z","priority":"6","pid":"2830187","message":"=== End of file jar329.txt"}

data: {"time":"2026-09-19T16:16:54.750Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:54.750Z","priority":"6","pid":"2830187","message":" Testnum 329"}

data: {"time":"2026-09-19T16:16:54.750Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:54.750Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:54.751Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:54.751Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:54.752Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:54.752Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:54.753Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind329"}

data: {"time":"2026-09-19T16:16:54.754Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:54.755Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:54.755Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:54.755Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.755Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:54.756Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:54.757Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:54.757Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:54.757Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:54.757Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.758Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:54.759Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:54.759Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:54.759Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:54.760Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:54.760Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:54.761Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:54.761Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.761Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:54.761Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:54.762Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.762Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:54.762Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:54.763Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:54.763Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.763Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:54.764Z","priority":"6","pid":"2830187","message":"=== End of file valgrind329"}

data: {"time":"2026-09-19T16:16:54.764Z","priority":"6","pid":"2830187","message":"test 0330 [HTTP with custom Cookie: and redirect to new host]"}

data: {"time":"2026-09-19T16:16:54.766Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind330 ../src/curl -q --output log/curl330.out  --include --trace-ascii log/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:36137 -H \"Cookie: test=yes\" --location > log/stdout330 2> log/stderr330"}

data: {"time":"2026-09-19T16:16:54.767Z","priority":"6","pid":"2830187","message":" 330: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:54.767Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:54.767Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:54.767Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 330"}

data: {"time":"2026-09-19T16:16:54.768Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:54.769Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind330 ../src/curl -q --output log/curl330.out  --include --trace-ascii log/trace330 --trace-time http://first.host.it.is/we/want/that/page/330 -x 127.0.0.1:36137 -H \"Cookie: test=yes\" --location > log/stdout330 2> log/stderr330"}

data: {"time":"2026-09-19T16:16:54.770Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:54.770Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:54.770Z","priority":"6","pid":"2830187","message":" 16:16:54.374259 ====> Client connect"}

data: {"time":"2026-09-19T16:16:54.771Z","priority":"6","pid":"2830187","message":" 16:16:54.374318 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:54.771Z","priority":"6","pid":"2830187","message":" 16:16:54.374496 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:54.771Z","priority":"6","pid":"2830187","message":" 16:16:54.374517 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:54.772Z","priority":"6","pid":"2830187","message":" 16:16:54.374536 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:54.773Z","priority":"6","pid":"2830187","message":" 16:16:54.374548 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:54.773Z","priority":"6","pid":"2830187","message":" 16:16:54.374596 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:54.773Z","priority":"6","pid":"2830187","message":" 16:16:54.374623 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:54.773Z","priority":"6","pid":"2830187","message":" 16:16:54.374696 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:54.774Z","priority":"6","pid":"2830187","message":" 16:16:54.374709 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:54.774Z","priority":"6","pid":"2830187","message":" 16:16:54.374721 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:54.775Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:54.775Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:54.775Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:54.776Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54382"}

data: {"time":"2026-09-19T16:16:54.776Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:54.776Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:54.777Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:54.777Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:54.777Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:54.778Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:54.778Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:54.778Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:54.778Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:54.778Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:54.778Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:54.779Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:54.779Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:54.779Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:54.779Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:54.780Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:54.780Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:54.780Z","priority":"6","pid":"2830187","message":" Testnum 330"}

data: {"time":"2026-09-19T16:16:54.781Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:54.781Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:54.781Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:54.781Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:54.781Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:54.782Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:54.782Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind330"}

data: {"time":"2026-09-19T16:16:54.782Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:54.783Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:54.783Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:54.783Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.784Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:54.784Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:54.784Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:54.785Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:54.785Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:54.785Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.786Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:54.786Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:54.786Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:54.787Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:54.787Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:54.788Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:54.788Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:54.788Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.788Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:54.789Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:54.789Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.790Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:54.790Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:54.790Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:54.790Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:54.791Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:54.791Z","priority":"6","pid":"2830187","message":"=== End of file valgrind330"}

data: {"time":"2026-09-19T16:16:54.791Z","priority":"6","pid":"2830187","message":"test 0331 [HTTP with cookie using hostname 'moo']"}

data: {"time":"2026-09-19T16:16:54.793Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind331 ../src/curl -q --output log/curl331.out  --include --trace-ascii log/trace331 --trace-time -x http://127.0.0.1:36137 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/stdout331 2> log/stderr331"}

data: {"time":"2026-09-19T16:16:54.794Z","priority":"6","pid":"2830187","message":" 331: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:54.794Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:54.794Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:54.794Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 331"}

data: {"time":"2026-09-19T16:16:54.794Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:54.796Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind331 ../src/curl -q --output log/curl331.out  --include --trace-ascii log/trace331 --trace-time -x http://127.0.0.1:36137 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/stdout331 2> log/stderr331"}

data: {"time":"2026-09-19T16:16:54.796Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:54.797Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:54.797Z","priority":"6","pid":"2830187","message":" 16:16:54.623504 ====> Client connect"}

data: {"time":"2026-09-19T16:16:54.797Z","priority":"6","pid":"2830187","message":" 16:16:54.623573 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:54.797Z","priority":"6","pid":"2830187","message":" 16:16:54.623609 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:54.798Z","priority":"6","pid":"2830187","message":" 16:16:54.623621 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:54.798Z","priority":"6","pid":"2830187","message":" 16:16:54.623641 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:54.798Z","priority":"6","pid":"2830187","message":" 16:16:54.623654 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:54.799Z","priority":"6","pid":"2830187","message":" 16:16:54.623691 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:54.799Z","priority":"6","pid":"2830187","message":" 16:16:54.623712 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:54.800Z","priority":"6","pid":"2830187","message":" 16:16:54.623805 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:54.800Z","priority":"6","pid":"2830187","message":" 16:16:54.623817 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:54.800Z","priority":"6","pid":"2830187","message":" 16:16:54.623826 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:54.801Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:54.801Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:54.801Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:54.802Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54388"}

data: {"time":"2026-09-19T16:16:54.802Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:54.802Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:54.803Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:54.803Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:54.803Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:54.803Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:54.803Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:54.803Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:54.804Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:54.804Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:54.804Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:54.804Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:54.805Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:55.022Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind332 ../src/curl -q --output log/curl332.out  --include --trace-ascii log/trace332 --trace-time tftp://127.0.0.1:35071//332 --tftp-blksize 400 > log/stdout332 2> log/stderr332"}

data: {"time":"2026-09-19T16:16:55.203Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind333 ../src/curl -q --output log/curl333.out  --include --trace-ascii log/trace333 --trace-time --no-proxy \"hey\" http://127.0.0.1:47/333 > log/stdout333 2> log/stderr333"}

data: {"time":"2026-09-19T16:16:55.423Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind334 ../src/curl -q --output log/curl334.out  --include --trace-ascii log/trace334 --trace-time http://127.0.0.1:36137/want/334 > log/stdout334 2> log/stderr334"}

data: {"time":"2026-09-19T16:16:55.426Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:55.426Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:55.426Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:55.427Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:55.427Z","priority":"6","pid":"2830187","message":" Testnum 331"}

data: {"time":"2026-09-19T16:16:55.427Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:55.428Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:55.428Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:55.428Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:55.429Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:55.429Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:55.429Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind331"}

data: {"time":"2026-09-19T16:16:55.430Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:55.430Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:55.431Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:55.431Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.431Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:55.432Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:55.432Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:55.433Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:55.433Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:55.433Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.434Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:55.434Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:55.435Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:55.435Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:55.436Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:55.436Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:55.436Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:55.437Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.437Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:55.438Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:55.438Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.438Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:55.439Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:55.439Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:55.440Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.440Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:55.440Z","priority":"6","pid":"2830187","message":"=== End of file valgrind331"}

data: {"time":"2026-09-19T16:16:55.440Z","priority":"6","pid":"2830187","message":"test 0332 [TFTP retrieve with blksize 400]"}

data: {"time":"2026-09-19T16:16:55.441Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind332 ../src/curl -q --output log/curl332.out  --include --trace-ascii log/trace332 --trace-time tftp://127.0.0.1:35071//332 --tftp-blksize 400 > log/stdout332 2> log/stderr332"}

data: {"time":"2026-09-19T16:16:55.442Z","priority":"6","pid":"2830187","message":" 332: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:55.442Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:55.443Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:55.443Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 332"}

data: {"time":"2026-09-19T16:16:55.443Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:55.445Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind332 ../src/curl -q --output log/curl332.out  --include --trace-ascii log/trace332 --trace-time tftp://127.0.0.1:35071//332 --tftp-blksize 400 > log/stdout332 2> log/stderr332"}

data: {"time":"2026-09-19T16:16:55.445Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:55.446Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:55.446Z","priority":"6","pid":"2830187","message":" Testnum 332"}

data: {"time":"2026-09-19T16:16:55.447Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:55.447Z","priority":"6","pid":"2830187","message":"=== Start of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:55.447Z","priority":"6","pid":"2830187","message":" 16:16:54.915339 trying to get file: verifiedserver mode 1"}

data: {"time":"2026-09-19T16:16:55.447Z","priority":"6","pid":"2830187","message":" 16:16:54.915389 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:55.447Z","priority":"6","pid":"2830187","message":" 16:16:54.915412 write"}

data: {"time":"2026-09-19T16:16:55.448Z","priority":"6","pid":"2830187","message":" 16:16:54.915447 read"}

data: {"time":"2026-09-19T16:16:55.448Z","priority":"6","pid":"2830187","message":" 16:16:54.916100 read: 4"}

data: {"time":"2026-09-19T16:16:55.448Z","priority":"6","pid":"2830187","message":" 16:16:54.916234 end of one transfer"}

data: {"time":"2026-09-19T16:16:55.448Z","priority":"6","pid":"2830187","message":"=== End of file tftp_server.log"}

data: {"time":"2026-09-19T16:16:55.449Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind332"}

data: {"time":"2026-09-19T16:16:55.449Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:55.449Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:55.450Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:55.450Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.450Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:55.451Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:55.451Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:55.451Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:55.452Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:55.452Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.452Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:55.453Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:55.453Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:55.454Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:55.454Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:55.455Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:55.456Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:55.456Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.456Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:55.456Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:55.456Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.457Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:55.457Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:55.457Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:55.458Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.458Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:55.458Z","priority":"6","pid":"2830187","message":"=== End of file valgrind332"}

data: {"time":"2026-09-19T16:16:55.459Z","priority":"6","pid":"2830187","message":"test 0333 [Try a non-boolean command line option with --no-]"}

data: {"time":"2026-09-19T16:16:55.460Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind333 ../src/curl -q --output log/curl333.out  --include --trace-ascii log/trace333 --trace-time --no-proxy \"hey\" http://127.0.0.1:47/333 > log/stdout333 2> log/stderr333"}

data: {"time":"2026-09-19T16:16:55.461Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 2"}

data: {"time":"2026-09-19T16:16:55.461Z","priority":"6","pid":"2830187","message":" 333: exit FAILED"}

data: {"time":"2026-09-19T16:16:55.462Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 333"}

data: {"time":"2026-09-19T16:16:55.462Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:55.464Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind333 ../src/curl -q --output log/curl333.out  --include --trace-ascii log/trace333 --trace-time --no-proxy \"hey\" http://127.0.0.1:47/333 > log/stdout333 2> log/stderr333"}

data: {"time":"2026-09-19T16:16:55.464Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:55.464Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:55.465Z","priority":"6","pid":"2830187","message":" Testnum 333"}

data: {"time":"2026-09-19T16:16:55.465Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:55.465Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind333"}

data: {"time":"2026-09-19T16:16:55.466Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:55.466Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:55.467Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:55.467Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.468Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:55.468Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:55.468Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:55.468Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:55.469Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:55.469Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.470Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:55.470Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:55.471Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:55.471Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:55.472Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:55.472Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:55.473Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:55.473Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.473Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:55.474Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:55.474Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.474Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:55.475Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:55.475Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:55.476Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:55.477Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:55.477Z","priority":"6","pid":"2830187","message":"=== End of file valgrind333"}

data: {"time":"2026-09-19T16:16:55.477Z","priority":"6","pid":"2830187","message":"test 0334 [HTTP 204 No content with chunked header]"}

data: {"time":"2026-09-19T16:16:55.478Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind334 ../src/curl -q --output log/curl334.out  --include --trace-ascii log/trace334 --trace-time http://127.0.0.1:36137/want/334 > log/stdout334 2> log/stderr334"}

data: {"time":"2026-09-19T16:16:55.479Z","priority":"6","pid":"2830187","message":" 334: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:55.479Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:55.479Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:55.480Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 334"}

data: {"time":"2026-09-19T16:16:55.480Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:55.483Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind334 ../src/curl -q --output log/curl334.out  --include --trace-ascii log/trace334 --trace-time http://127.0.0.1:36137/want/334 > log/stdout334 2> log/stderr334"}

data: {"time":"2026-09-19T16:16:55.483Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:55.483Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:55.483Z","priority":"6","pid":"2830187","message":" 16:16:55.314715 ====> Client connect"}

data: {"time":"2026-09-19T16:16:55.483Z","priority":"6","pid":"2830187","message":" 16:16:55.314780 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:55.484Z","priority":"6","pid":"2830187","message":" 16:16:55.314999 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:55.484Z","priority":"6","pid":"2830187","message":" 16:16:55.315015 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:55.484Z","priority":"6","pid":"2830187","message":" 16:16:55.315030 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:55.718Z","priority":"6","pid":"2830187","message":" 16:16:55.315041 Are-we-friendly questCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind335 ../src/curl -q --output log/curl335.out  --include --trace-ascii log/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:36137 --proxy-digest --digest > log/stdout335 2> log/stderr335"}

data: {"time":"2026-09-19T16:16:56.005Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind336 ../src/curl -q --output log/curl336.out  --include --trace-ascii log/trace336 --trace-time ftp://127.0.0.1:40021/336 --range 3-6 > log/stdout336 2> log/stderr336"}

data: {"time":"2026-09-19T16:16:56.008Z","priority":"6","pid":"2830187","message":"ion received"}

data: {"time":"2026-09-19T16:16:56.009Z","priority":"6","pid":"2830187","message":" 16:16:55.315105 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:56.010Z","priority":"6","pid":"2830187","message":" 16:16:55.315136 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:56.010Z","priority":"6","pid":"2830187","message":" 16:16:55.315491 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:56.011Z","priority":"6","pid":"2830187","message":" 16:16:55.315512 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:56.012Z","priority":"6","pid":"2830187","message":" 16:16:55.315523 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:56.012Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:56.012Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:56.012Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:56.013Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54396"}

data: {"time":"2026-09-19T16:16:56.013Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:56.014Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:56.014Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:56.015Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:56.015Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:56.015Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:56.015Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:56.015Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:56.015Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:56.015Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:56.016Z","priority":"6","pid":"2830187","message":" { [1 bytes data]"}

data: {"time":"2026-09-19T16:16:56.016Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:56.016Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:56.017Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:56.017Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:56.017Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:56.018Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.018Z","priority":"6","pid":"2830187","message":" Testnum 334"}

data: {"time":"2026-09-19T16:16:56.018Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.018Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:56.019Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:56.019Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:56.020Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:56.020Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:56.020Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind334"}

data: {"time":"2026-09-19T16:16:56.021Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:56.021Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:56.021Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:56.021Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.022Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:56.022Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:56.023Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:56.023Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:56.024Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:56.024Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.024Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:56.025Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:56.025Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:56.026Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:56.026Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:56.027Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:56.027Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:56.028Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.029Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:56.029Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:56.029Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.029Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:56.030Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:56.030Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:56.030Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.031Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:56.031Z","priority":"6","pid":"2830187","message":"=== End of file valgrind334"}

data: {"time":"2026-09-19T16:16:56.032Z","priority":"6","pid":"2830187","message":"test 0335 [HTTP with proxy Digest and site Digest with creds in URLs]"}

data: {"time":"2026-09-19T16:16:56.034Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind335 ../src/curl -q --output log/curl335.out  --include --trace-ascii log/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:36137 --proxy-digest --digest > log/stdout335 2> log/stderr335"}

data: {"time":"2026-09-19T16:16:56.034Z","priority":"6","pid":"2830187","message":" 335: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:56.035Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:56.035Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:56.035Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 335"}

data: {"time":"2026-09-19T16:16:56.035Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:56.037Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind335 ../src/curl -q --output log/curl335.out  --include --trace-ascii log/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:36137 --proxy-digest --digest > log/stdout335 2> log/stderr335"}

data: {"time":"2026-09-19T16:16:56.038Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:56.039Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:56.039Z","priority":"6","pid":"2830187","message":" 16:16:55.593651 ====> Client connect"}

data: {"time":"2026-09-19T16:16:56.039Z","priority":"6","pid":"2830187","message":" 16:16:55.593696 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:56.039Z","priority":"6","pid":"2830187","message":" 16:16:55.593981 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:56.039Z","priority":"6","pid":"2830187","message":" 16:16:55.594003 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:56.040Z","priority":"6","pid":"2830187","message":" 16:16:55.594019 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:56.040Z","priority":"6","pid":"2830187","message":" 16:16:55.594059 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:56.041Z","priority":"6","pid":"2830187","message":" 16:16:55.594104 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:56.041Z","priority":"6","pid":"2830187","message":" 16:16:55.594132 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:56.042Z","priority":"6","pid":"2830187","message":" 16:16:55.594199 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:56.042Z","priority":"6","pid":"2830187","message":" 16:16:55.594210 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:56.043Z","priority":"6","pid":"2830187","message":" 16:16:55.594220 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:56.043Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:56.043Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:56.044Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:56.044Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 54412"}

data: {"time":"2026-09-19T16:16:56.045Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:56.045Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:56.045Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:56.045Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:56.045Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:56.046Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:56.046Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:56.047Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:56.047Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:56.047Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:56.047Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:56.047Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:56.048Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:56.048Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:56.048Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:56.048Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:56.049Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.049Z","priority":"6","pid":"2830187","message":" Testnum 335"}

data: {"time":"2026-09-19T16:16:56.049Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.050Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:56.050Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:56.050Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:56.051Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:56.051Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:56.051Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind335"}

data: {"time":"2026-09-19T16:16:56.051Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:56.052Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:56.052Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:56.052Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.053Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:56.053Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:56.054Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:56.054Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:56.055Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:56.055Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.055Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:56.056Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:56.056Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:56.057Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:56.057Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:56.058Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:56.059Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:56.059Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.060Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:56.060Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:56.060Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.061Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:56.061Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:56.062Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:56.062Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.062Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:56.063Z","priority":"6","pid":"2830187","message":"=== End of file valgrind335"}

data: {"time":"2026-09-19T16:16:56.063Z","priority":"6","pid":"2830187","message":"test 0336 [FTP range download when SIZE does not work]"}

data: {"time":"2026-09-19T16:16:56.065Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind336 ../src/curl -q --output log/curl336.out  --include --trace-ascii log/trace336 --trace-time ftp://127.0.0.1:40021/336 --range 3-6 > log/stdout336 2> log/stderr336"}

data: {"time":"2026-09-19T16:16:56.065Z","priority":"6","pid":"2830187","message":" 336: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:56.066Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:56.067Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:56.067Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 336"}

data: {"time":"2026-09-19T16:16:56.068Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:56.069Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind336 ../src/curl -q --output log/curl336.out  --include --trace-ascii log/trace336 --trace-time ftp://127.0.0.1:40021/336 --range 3-6 > log/stdout336 2> log/stderr336"}

data: {"time":"2026-09-19T16:16:56.069Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:56.070Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:56.070Z","priority":"6","pid":"2830187","message":" 16:16:55.779044 ====> Client connect"}

data: {"time":"2026-09-19T16:16:56.072Z","priority":"6","pid":"2830187","message":" 16:16:55.779941 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.072Z","priority":"6","pid":"2830187","message":" 16:16:55.780194 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:56.072Z","priority":"6","pid":"2830187","message":" 16:16:55.780319 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.072Z","priority":"6","pid":"2830187","message":" 16:16:55.780744 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:56.073Z","priority":"6","pid":"2830187","message":" 16:16:55.780803 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.073Z","priority":"6","pid":"2830187","message":" 16:16:55.781127 < \"PWD\""}

data: {"time":"2026-09-19T16:16:56.074Z","priority":"6","pid":"2830187","message":" 16:16:55.781185 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.074Z","priority":"6","pid":"2830187","message":" 16:16:55.781520 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:56.074Z","priority":"6","pid":"2830187","message":" 16:16:55.781567 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:56.075Z","priority":"6","pid":"2830187","message":" 16:16:55.781592 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:56.357Z","priority":"6","pid":"2830187","message":" CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind337 ../src/curl -q --output log/curl337.out  --include --trace-ascii log/trace337 --trace-time ftp://127.0.0.1:40021/337 --range 3-6 > log/stdout337 2> log/stderr337"}

data: {"time":"2026-09-19T16:16:56.373Z","priority":"6","pid":"2830187","message":"16:16:55.785291 DATA sockfilt for passive data channel started (pid 97968)"}

data: {"time":"2026-09-19T16:16:56.374Z","priority":"6","pid":"2830187","message":" 16:16:55.785904 DATA sockfilt for passive data channel listens on port 41849"}

data: {"time":"2026-09-19T16:16:56.375Z","priority":"6","pid":"2830187","message":" 16:16:55.786209 > \"229 Entering Passive Mode (|||41849|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.376Z","priority":"6","pid":"2830187","message":" 16:16:55.786264 Client has been notified that upcoming DATA connection is awaited on port 41849"}

data: {"time":"2026-09-19T16:16:56.376Z","priority":"6","pid":"2830187","message":" 16:16:55.786737 Client connects to port 41849"}

data: {"time":"2026-09-19T16:16:56.376Z","priority":"6","pid":"2830187","message":" 16:16:55.786805 ====> Client established passive DATA connection on port 41849"}

data: {"time":"2026-09-19T16:16:56.377Z","priority":"6","pid":"2830187","message":" 16:16:55.787067 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:56.377Z","priority":"6","pid":"2830187","message":" 16:16:55.787233 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.378Z","priority":"6","pid":"2830187","message":" 16:16:55.787516 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:56.378Z","priority":"6","pid":"2830187","message":" 16:16:55.787582 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.378Z","priority":"6","pid":"2830187","message":" 16:16:55.787867 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:56.379Z","priority":"6","pid":"2830187","message":" 16:16:55.787948 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.379Z","priority":"6","pid":"2830187","message":" 16:16:55.788088 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:56.380Z","priority":"6","pid":"2830187","message":" 16:16:55.788115 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:56.380Z","priority":"6","pid":"2830187","message":" 16:16:55.788640 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:56.381Z","priority":"6","pid":"2830187","message":" 16:16:55.788702 DATA sockfilt for passive data channel quits (pid 97968)"}

data: {"time":"2026-09-19T16:16:56.381Z","priority":"6","pid":"2830187","message":" 16:16:55.789204 DATA sockfilt for passive data channel quit (pid 97968)"}

data: {"time":"2026-09-19T16:16:56.382Z","priority":"6","pid":"2830187","message":" 16:16:55.789252 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:56.382Z","priority":"6","pid":"2830187","message":" 16:16:55.789304 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.383Z","priority":"6","pid":"2830187","message":" 16:16:55.829518 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:56.383Z","priority":"6","pid":"2830187","message":" 16:16:55.829625 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.384Z","priority":"6","pid":"2830187","message":" 16:16:55.830400 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:56.385Z","priority":"6","pid":"2830187","message":" 16:16:55.830505 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:56.385Z","priority":"6","pid":"2830187","message":" 16:16:55.830671 Awaiting input"}

data: {"time":"2026-09-19T16:16:56.386Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:56.386Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:56.386Z","priority":"6","pid":"2830187","message":" 16:16:55.847537 ====> Client connect"}

data: {"time":"2026-09-19T16:16:56.387Z","priority":"6","pid":"2830187","message":" 16:16:55.848242 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.388Z","priority":"6","pid":"2830187","message":" 16:16:55.848291 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.388Z","priority":"6","pid":"2830187","message":" 16:16:55.848326 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:56.388Z","priority":"6","pid":"2830187","message":" 16:16:55.848342 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.389Z","priority":"6","pid":"2830187","message":" 16:16:55.848363 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.390Z","priority":"6","pid":"2830187","message":" 16:16:55.848526 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.390Z","priority":"6","pid":"2830187","message":" 16:16:55.848551 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.390Z","priority":"6","pid":"2830187","message":" 16:16:55.848951 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.390Z","priority":"6","pid":"2830187","message":" 16:16:55.848975 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.391Z","priority":"6","pid":"2830187","message":" 16:16:55.849080 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.391Z","priority":"6","pid":"2830187","message":" 16:16:55.849254 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.392Z","priority":"6","pid":"2830187","message":" 16:16:55.849277 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.392Z","priority":"6","pid":"2830187","message":" 16:16:55.849532 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.393Z","priority":"6","pid":"2830187","message":" 16:16:55.849555 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.393Z","priority":"6","pid":"2830187","message":" 16:16:55.849570 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.394Z","priority":"6","pid":"2830187","message":" 16:16:55.849672 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.394Z","priority":"6","pid":"2830187","message":" 16:16:55.849691 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.394Z","priority":"6","pid":"2830187","message":" 16:16:55.849913 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.394Z","priority":"6","pid":"2830187","message":" 16:16:55.849934 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.395Z","priority":"6","pid":"2830187","message":" 16:16:55.849948 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.395Z","priority":"6","pid":"2830187","message":" 16:16:55.850081 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.396Z","priority":"6","pid":"2830187","message":" 16:16:55.850103 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.396Z","priority":"6","pid":"2830187","message":" 16:16:55.854706 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.397Z","priority":"6","pid":"2830187","message":" 16:16:55.854738 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.397Z","priority":"6","pid":"2830187","message":" 16:16:55.854767 '229 Entering Passive Mode (|||41849|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.397Z","priority":"6","pid":"2830187","message":" 16:16:55.855573 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.398Z","priority":"6","pid":"2830187","message":" 16:16:55.855598 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.398Z","priority":"6","pid":"2830187","message":" 16:16:55.855819 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.399Z","priority":"6","pid":"2830187","message":" 16:16:55.855840 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.399Z","priority":"6","pid":"2830187","message":" 16:16:55.855866 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.400Z","priority":"6","pid":"2830187","message":" 16:16:55.856043 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.400Z","priority":"6","pid":"2830187","message":" 16:16:55.856062 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.400Z","priority":"6","pid":"2830187","message":" 16:16:55.856307 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.400Z","priority":"6","pid":"2830187","message":" 16:16:55.856325 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.401Z","priority":"6","pid":"2830187","message":" 16:16:55.856338 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.401Z","priority":"6","pid":"2830187","message":" 16:16:55.856464 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.402Z","priority":"6","pid":"2830187","message":" 16:16:55.856483 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.402Z","priority":"6","pid":"2830187","message":" 16:16:55.856851 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.402Z","priority":"6","pid":"2830187","message":" 16:16:55.856879 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.403Z","priority":"6","pid":"2830187","message":" 16:16:55.856892 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.403Z","priority":"6","pid":"2830187","message":" 16:16:55.858076 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.404Z","priority":"6","pid":"2830187","message":" 16:16:55.858099 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.404Z","priority":"6","pid":"2830187","message":" 16:16:55.858113 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.407Z","priority":"6","pid":"2830187","message":" 16:16:55.897871 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.407Z","priority":"6","pid":"2830187","message":" 16:16:55.897947 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.409Z","priority":"6","pid":"2830187","message":" 16:16:55.898392 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.409Z","priority":"6","pid":"2830187","message":" 16:16:55.898420 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.409Z","priority":"6","pid":"2830187","message":" 16:16:55.898434 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.410Z","priority":"6","pid":"2830187","message":" 16:16:55.898535 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:56.410Z","priority":"6","pid":"2830187","message":" 16:16:55.899434 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:56.413Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:56.413Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:56.414Z","priority":"6","pid":"2830187","message":" 16:16:55.853592 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:56.414Z","priority":"6","pid":"2830187","message":" 16:16:55.853790 Listening on port 41849"}

data: {"time":"2026-09-19T16:16:56.414Z","priority":"6","pid":"2830187","message":" 16:16:55.853849 Wrote pid 97968 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:56.415Z","priority":"6","pid":"2830187","message":" 16:16:55.853901 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:56.415Z","priority":"6","pid":"2830187","message":" 16:16:55.854142 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:56.416Z","priority":"6","pid":"2830187","message":" 16:16:55.855275 ====> Client connect"}

data: {"time":"2026-09-19T16:16:56.417Z","priority":"6","pid":"2830187","message":" 16:16:55.856948 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.417Z","priority":"6","pid":"2830187","message":" 16:16:55.856986 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.417Z","priority":"6","pid":"2830187","message":" 16:16:55.856999 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.418Z","priority":"6","pid":"2830187","message":" 16:16:55.857071 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:56.418Z","priority":"6","pid":"2830187","message":" 16:16:55.857089 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:56.418Z","priority":"6","pid":"2830187","message":" 16:16:55.857439 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:56.419Z","priority":"6","pid":"2830187","message":" 16:16:55.857460 quits"}

data: {"time":"2026-09-19T16:16:56.419Z","priority":"6","pid":"2830187","message":" 16:16:55.857584 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:56.420Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:56.420Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.421Z","priority":"6","pid":"2830187","message":" REPLY EPSV 500 no such command"}

data: {"time":"2026-09-19T16:16:56.421Z","priority":"6","pid":"2830187","message":" REPLY SIZE 500 no such command"}

data: {"time":"2026-09-19T16:16:56.421Z","priority":"6","pid":"2830187","message":" Testnum 336"}

data: {"time":"2026-09-19T16:16:56.421Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.422Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind336"}

data: {"time":"2026-09-19T16:16:56.422Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:56.423Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:56.423Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:56.424Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.424Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:56.424Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:56.425Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:56.425Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:56.426Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:56.426Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.427Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:56.427Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:56.428Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:56.428Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:56.429Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:56.429Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:56.430Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:56.430Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.431Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:56.432Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:56.432Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.432Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:56.433Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:56.433Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:56.433Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.434Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:56.434Z","priority":"6","pid":"2830187","message":"=== End of file valgrind336"}

data: {"time":"2026-09-19T16:16:56.435Z","priority":"6","pid":"2830187","message":"test 0337 [FTP range download with SIZE returning extra crap]"}

data: {"time":"2026-09-19T16:16:56.437Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind337 ../src/curl -q --output log/curl337.out  --include --trace-ascii log/trace337 --trace-time ftp://127.0.0.1:40021/337 --range 3-6 > log/stdout337 2> log/stderr337"}

data: {"time":"2026-09-19T16:16:56.437Z","priority":"6","pid":"2830187","message":" 337: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:56.437Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:56.437Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:56.439Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 337"}

data: {"time":"2026-09-19T16:16:56.439Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:56.440Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind337 ../src/curl -q --output log/curl337.out  --include --trace-ascii log/trace337 --trace-time ftp://127.0.0.1:40021/337 --range 3-6 > log/stdout337 2> log/stderr337"}

data: {"time":"2026-09-19T16:16:56.441Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:56.441Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:56.441Z","priority":"6","pid":"2830187","message":" 16:16:56.121403 ====> Client connect"}

data: {"time":"2026-09-19T16:16:56.443Z","priority":"6","pid":"2830187","message":" 16:16:56.122089 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.443Z","priority":"6","pid":"2830187","message":" 16:16:56.122448 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:56.444Z","priority":"6","pid":"2830187","message":" 16:16:56.122561 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.444Z","priority":"6","pid":"2830187","message":" 16:16:56.122854 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:56.445Z","priority":"6","pid":"2830187","message":" 16:16:56.122910 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.445Z","priority":"6","pid":"2830187","message":" 16:16:56.123170 < \"PWD\""}

data: {"time":"2026-09-19T16:16:56.446Z","priority":"6","pid":"2830187","message":" 16:16:56.123224 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.446Z","priority":"6","pid":"2830187","message":" 16:16:56.123589 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:56.446Z","priority":"6","pid":"2830187","message":" 16:16:56.123631 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:56.447Z","priority":"6","pid":"2830187","message":" 16:16:56.123651 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:56.447Z","priority":"6","pid":"2830187","message":" 16:16:56.127720 DATA sockfilt for passive data channel started (pid 98034)"}

data: {"time":"2026-09-19T16:16:56.448Z","priority":"6","pid":"2830187","message":" 16:16:56.127978 DATA sockfilt for passive data channel listens on port 39985"}

data: {"time":"2026-09-19T16:16:56.448Z","priority":"6","pid":"2830187","message":" 16:16:56.128244 > \"229 Entering Passive Mode (|||39985|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.449Z","priority":"6","pid":"2830187","message":" 16:16:56.128291 Client has been notified that upcoming DATA connection is awaited on port 39985"}

data: {"time":"2026-09-19T16:16:56.450Z","priority":"6","pid":"2830187","message":" 16:16:56.128781 Client connects to port 39985"}

data: {"time":"2026-09-19T16:16:56.702Z","priority":"6","pid":"2830187","message":" 16:16:56.128849 ====> Client established passive DATA CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind338 ../src/curl -q --output log/curl338.out  --include --trace-ascii log/trace338 --trace-time http://127.0.0.1:36137/338 --next http://127.0.0.1:36137/338 --anyauth -u foo:moo > log/stdout338 2> log/stderr338"}

data: {"time":"2026-09-19T16:16:56.706Z","priority":"6","pid":"2830187","message":"connection on port 39985"}

data: {"time":"2026-09-19T16:16:56.707Z","priority":"6","pid":"2830187","message":" 16:16:56.129117 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:56.707Z","priority":"6","pid":"2830187","message":" 16:16:56.129261 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.708Z","priority":"6","pid":"2830187","message":" 16:16:56.129697 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:56.708Z","priority":"6","pid":"2830187","message":" 16:16:56.129786 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.709Z","priority":"6","pid":"2830187","message":" 16:16:56.130095 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:56.709Z","priority":"6","pid":"2830187","message":" 16:16:56.130167 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.710Z","priority":"6","pid":"2830187","message":" 16:16:56.130306 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:56.710Z","priority":"6","pid":"2830187","message":" 16:16:56.130352 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:56.711Z","priority":"6","pid":"2830187","message":" 16:16:56.130907 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:56.711Z","priority":"6","pid":"2830187","message":" 16:16:56.130965 DATA sockfilt for passive data channel quits (pid 98034)"}

data: {"time":"2026-09-19T16:16:56.711Z","priority":"6","pid":"2830187","message":" 16:16:56.131496 DATA sockfilt for passive data channel quit (pid 98034)"}

data: {"time":"2026-09-19T16:16:56.712Z","priority":"6","pid":"2830187","message":" 16:16:56.131552 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:56.712Z","priority":"6","pid":"2830187","message":" 16:16:56.131617 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.713Z","priority":"6","pid":"2830187","message":" 16:16:56.172237 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:56.713Z","priority":"6","pid":"2830187","message":" 16:16:56.172437 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:56.714Z","priority":"6","pid":"2830187","message":" 16:16:56.173397 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:56.715Z","priority":"6","pid":"2830187","message":" 16:16:56.173529 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:56.715Z","priority":"6","pid":"2830187","message":" 16:16:56.173661 Awaiting input"}

data: {"time":"2026-09-19T16:16:56.715Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:56.716Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:56.716Z","priority":"6","pid":"2830187","message":" 16:16:56.189718 ====> Client connect"}

data: {"time":"2026-09-19T16:16:56.717Z","priority":"6","pid":"2830187","message":" 16:16:56.190441 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.718Z","priority":"6","pid":"2830187","message":" 16:16:56.190485 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.719Z","priority":"6","pid":"2830187","message":" 16:16:56.190516 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:56.719Z","priority":"6","pid":"2830187","message":" 16:16:56.190530 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.719Z","priority":"6","pid":"2830187","message":" 16:16:56.190541 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.719Z","priority":"6","pid":"2830187","message":" 16:16:56.190869 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.720Z","priority":"6","pid":"2830187","message":" 16:16:56.190890 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.720Z","priority":"6","pid":"2830187","message":" 16:16:56.191183 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.721Z","priority":"6","pid":"2830187","message":" 16:16:56.191204 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.721Z","priority":"6","pid":"2830187","message":" 16:16:56.191272 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.722Z","priority":"6","pid":"2830187","message":" 16:16:56.191388 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.722Z","priority":"6","pid":"2830187","message":" 16:16:56.191408 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.722Z","priority":"6","pid":"2830187","message":" 16:16:56.191614 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.723Z","priority":"6","pid":"2830187","message":" 16:16:56.191631 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.724Z","priority":"6","pid":"2830187","message":" 16:16:56.191645 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.727Z","priority":"6","pid":"2830187","message":" 16:16:56.191733 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.727Z","priority":"6","pid":"2830187","message":" 16:16:56.191748 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.727Z","priority":"6","pid":"2830187","message":" 16:16:56.191927 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.728Z","priority":"6","pid":"2830187","message":" 16:16:56.191943 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.728Z","priority":"6","pid":"2830187","message":" 16:16:56.191957 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.729Z","priority":"6","pid":"2830187","message":" 16:16:56.192142 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.730Z","priority":"6","pid":"2830187","message":" 16:16:56.192164 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.732Z","priority":"6","pid":"2830187","message":" 16:16:56.196734 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.733Z","priority":"6","pid":"2830187","message":" 16:16:56.196763 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.734Z","priority":"6","pid":"2830187","message":" 16:16:56.196804 '229 Entering Passive Mode (|||39985|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.734Z","priority":"6","pid":"2830187","message":" 16:16:56.197625 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.734Z","priority":"6","pid":"2830187","message":" 16:16:56.197648 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.735Z","priority":"6","pid":"2830187","message":" 16:16:56.197839 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.736Z","priority":"6","pid":"2830187","message":" 16:16:56.197854 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.738Z","priority":"6","pid":"2830187","message":" 16:16:56.197878 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.738Z","priority":"6","pid":"2830187","message":" 16:16:56.198200 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.739Z","priority":"6","pid":"2830187","message":" 16:16:56.198233 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.741Z","priority":"6","pid":"2830187","message":" 16:16:56.198500 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.741Z","priority":"6","pid":"2830187","message":" 16:16:56.198518 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.741Z","priority":"6","pid":"2830187","message":" 16:16:56.198529 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.742Z","priority":"6","pid":"2830187","message":" 16:16:56.198672 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.742Z","priority":"6","pid":"2830187","message":" 16:16:56.198691 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.742Z","priority":"6","pid":"2830187","message":" 16:16:56.199074 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.743Z","priority":"6","pid":"2830187","message":" 16:16:56.199099 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.744Z","priority":"6","pid":"2830187","message":" 16:16:56.199114 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.744Z","priority":"6","pid":"2830187","message":" 16:16:56.200336 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.744Z","priority":"6","pid":"2830187","message":" 16:16:56.200359 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.744Z","priority":"6","pid":"2830187","message":" 16:16:56.200373 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.745Z","priority":"6","pid":"2830187","message":" 16:16:56.240672 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:56.745Z","priority":"6","pid":"2830187","message":" 16:16:56.240757 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.746Z","priority":"6","pid":"2830187","message":" 16:16:56.241037 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.746Z","priority":"6","pid":"2830187","message":" 16:16:56.241066 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.746Z","priority":"6","pid":"2830187","message":" 16:16:56.241167 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.747Z","priority":"6","pid":"2830187","message":" 16:16:56.241975 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:56.747Z","priority":"6","pid":"2830187","message":" 16:16:56.242124 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:56.748Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:56.748Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:56.748Z","priority":"6","pid":"2830187","message":" 16:16:56.195978 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:56.749Z","priority":"6","pid":"2830187","message":" 16:16:56.196219 Listening on port 39985"}

data: {"time":"2026-09-19T16:16:56.750Z","priority":"6","pid":"2830187","message":" 16:16:56.196284 Wrote pid 98034 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:56.750Z","priority":"6","pid":"2830187","message":" 16:16:56.196318 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:56.750Z","priority":"6","pid":"2830187","message":" 16:16:56.196506 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:56.751Z","priority":"6","pid":"2830187","message":" 16:16:56.197384 ====> Client connect"}

data: {"time":"2026-09-19T16:16:56.751Z","priority":"6","pid":"2830187","message":" 16:16:56.199234 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:56.752Z","priority":"6","pid":"2830187","message":" 16:16:56.199269 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:56.752Z","priority":"6","pid":"2830187","message":" 16:16:56.199281 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:56.752Z","priority":"6","pid":"2830187","message":" 16:16:56.199325 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:56.753Z","priority":"6","pid":"2830187","message":" 16:16:56.199340 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:56.754Z","priority":"6","pid":"2830187","message":" 16:16:56.199675 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:56.754Z","priority":"6","pid":"2830187","message":" 16:16:56.199697 quits"}

data: {"time":"2026-09-19T16:16:56.754Z","priority":"6","pid":"2830187","message":" 16:16:56.199799 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:56.755Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:56.755Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.755Z","priority":"6","pid":"2830187","message":" REPLY EPSV 500 no such command"}

data: {"time":"2026-09-19T16:16:56.756Z","priority":"6","pid":"2830187","message":" REPLY SIZE 213 file: 213, Size =51"}

data: {"time":"2026-09-19T16:16:56.756Z","priority":"6","pid":"2830187","message":" Testnum 337"}

data: {"time":"2026-09-19T16:16:56.757Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.757Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind337"}

data: {"time":"2026-09-19T16:16:56.757Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:56.758Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:56.759Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:56.759Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.759Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:56.759Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:56.760Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:56.760Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:56.761Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:56.762Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.762Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:56.763Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:56.763Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:56.764Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:56.764Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:56.765Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:56.765Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:56.765Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.766Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:56.766Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:56.767Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.767Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:56.768Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:56.768Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:56.768Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:56.769Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:56.769Z","priority":"6","pid":"2830187","message":"=== End of file valgrind337"}

data: {"time":"2026-09-19T16:16:56.770Z","priority":"6","pid":"2830187","message":"test 0338 [ANYAUTH connection reuse of non-authed connection]"}

data: {"time":"2026-09-19T16:16:56.771Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind338 ../src/curl -q --output log/curl338.out  --include --trace-ascii log/trace338 --trace-time http://127.0.0.1:36137/338 --next http://127.0.0.1:36137/338 --anyauth -u foo:moo > log/stdout338 2> log/stderr338"}

data: {"time":"2026-09-19T16:16:56.772Z","priority":"6","pid":"2830187","message":" 338: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:56.773Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:56.774Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:56.774Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 338"}

data: {"time":"2026-09-19T16:16:56.774Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:56.775Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind338 ../src/curl -q --output log/curl338.out  --include --trace-ascii log/trace338 --trace-time http://127.0.0.1:36137/338 --next http://127.0.0.1:36137/338 --anyauth -u foo:moo > log/stdout338 2> log/stderr338"}

data: {"time":"2026-09-19T16:16:56.776Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:56.776Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:56.777Z","priority":"6","pid":"2830187","message":" 16:16:56.561191 ====> Client connect"}

data: {"time":"2026-09-19T16:16:56.777Z","priority":"6","pid":"2830187","message":" 16:16:56.561252 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:56.778Z","priority":"6","pid":"2830187","message":" 16:16:56.561448 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:56.778Z","priority":"6","pid":"2830187","message":" 16:16:56.561477 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:56.778Z","priority":"6","pid":"2830187","message":" 16:16:56.561495 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:56.779Z","priority":"6","pid":"2830187","message":" 16:16:56.561509 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:56.779Z","priority":"6","pid":"2830187","message":" 16:16:56.561555 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:56.780Z","priority":"6","pid":"2830187","message":" 16:16:56.561577 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:56.780Z","priority":"6","pid":"2830187","message":" 16:16:56.561658 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:56.781Z","priority":"6","pid":"2830187","message":" 16:16:56.561671 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:56.782Z","priority":"6","pid":"2830187","message":" 16:16:56.561682 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:56.782Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:56.782Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:56.784Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:56.784Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57660"}

data: {"time":"2026-09-19T16:16:56.784Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:56.785Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:56.786Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:56.786Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:56.786Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:56.786Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:56.786Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:56.786Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:56.787Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:56.787Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:56.787Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:56.788Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:56.788Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:56.788Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:56.789Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:56.789Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:56.789Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.790Z","priority":"6","pid":"2830187","message":" connection-monitor"}

data: {"time":"2026-09-19T16:16:56.790Z","priority":"6","pid":"2830187","message":" Testnum 338"}

data: {"time":"2026-09-19T16:16:56.790Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:56.790Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:56.790Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:56.790Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:56.791Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:56.791Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:56.791Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind338"}

data: {"time":"2026-09-19T16:16:57.044Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a functionCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind339 ../src/curl -q --output log/curl339.out  --include --trace-ascii log/trace339 --trace-time http://127.0.0.1:36137/339 --etag-save log/etag339 > log/stdout339 2> log/stderr339"}

data: {"time":"2026-09-19T16:16:57.373Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind340 ../src/curl -q --output log/curl340.out  --include --trace-ascii log/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:40021/%00first/second/third/340 > log/stdout340 2> log/stderr340"}

data: {"time":"2026-09-19T16:16:57.377Z","priority":"6","pid":"2830187","message":" redirection"}

data: {"time":"2026-09-19T16:16:57.378Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:57.379Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:57.379Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.379Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:57.379Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:57.380Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:57.380Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:57.381Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:57.381Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.381Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:57.382Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:57.382Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:57.383Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:57.383Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:57.384Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:57.384Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:57.385Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.385Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:57.386Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:57.386Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.386Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:57.387Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:57.387Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:57.387Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.388Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:57.388Z","priority":"6","pid":"2830187","message":"=== End of file valgrind338"}

data: {"time":"2026-09-19T16:16:57.388Z","priority":"6","pid":"2830187","message":"test 0339 [Check if --etag-save saved correct etag to a file]"}

data: {"time":"2026-09-19T16:16:57.390Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind339 ../src/curl -q --output log/curl339.out  --include --trace-ascii log/trace339 --trace-time http://127.0.0.1:36137/339 --etag-save log/etag339 > log/stdout339 2> log/stderr339"}

data: {"time":"2026-09-19T16:16:57.391Z","priority":"6","pid":"2830187","message":" 339: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:57.391Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:57.391Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:57.392Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 339"}

data: {"time":"2026-09-19T16:16:57.392Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:57.394Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind339 ../src/curl -q --output log/curl339.out  --include --trace-ascii log/trace339 --trace-time http://127.0.0.1:36137/339 --etag-save log/etag339 > log/stdout339 2> log/stderr339"}

data: {"time":"2026-09-19T16:16:57.394Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:57.395Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:57.395Z","priority":"6","pid":"2830187","message":" 16:16:56.911205 ====> Client connect"}

data: {"time":"2026-09-19T16:16:57.395Z","priority":"6","pid":"2830187","message":" 16:16:56.911268 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:57.396Z","priority":"6","pid":"2830187","message":" 16:16:56.911557 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:57.396Z","priority":"6","pid":"2830187","message":" 16:16:56.911589 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:57.397Z","priority":"6","pid":"2830187","message":" 16:16:56.911609 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:57.397Z","priority":"6","pid":"2830187","message":" 16:16:56.911623 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:57.397Z","priority":"6","pid":"2830187","message":" 16:16:56.911684 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:57.398Z","priority":"6","pid":"2830187","message":" 16:16:56.911716 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:57.398Z","priority":"6","pid":"2830187","message":" 16:16:56.911831 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:57.399Z","priority":"6","pid":"2830187","message":" 16:16:56.911844 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:57.399Z","priority":"6","pid":"2830187","message":" 16:16:56.911853 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:57.400Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:57.400Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:57.401Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:57.401Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57672"}

data: {"time":"2026-09-19T16:16:57.401Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:57.402Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:57.402Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:57.402Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:57.403Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:57.403Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:57.404Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:57.404Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:57.404Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:57.404Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:57.404Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:57.405Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:57.405Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:57.405Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:57.405Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:57.406Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:57.406Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:57.406Z","priority":"6","pid":"2830187","message":" Testnum 339"}

data: {"time":"2026-09-19T16:16:57.406Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:57.407Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:57.408Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:57.408Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:57.408Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:57.409Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:57.409Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind339"}

data: {"time":"2026-09-19T16:16:57.409Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:57.409Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:57.410Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:57.410Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.410Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:57.411Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:57.411Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:57.412Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:57.412Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:57.412Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.413Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:57.413Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:57.414Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:57.414Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:57.415Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:57.415Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:57.416Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:57.416Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.416Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:57.417Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:57.417Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.417Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:57.418Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:57.418Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:57.418Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.419Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:57.419Z","priority":"6","pid":"2830187","message":"=== End of file valgrind339"}

data: {"time":"2026-09-19T16:16:57.420Z","priority":"6","pid":"2830187","message":"test 0340 [FTP using %00 in path with singlecwd]"}

data: {"time":"2026-09-19T16:16:57.421Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind340 ../src/curl -q --output log/curl340.out  --include --trace-ascii log/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:40021/%00first/second/third/340 > log/stdout340 2> log/stderr340"}

data: {"time":"2026-09-19T16:16:57.422Z","priority":"6","pid":"2830187","message":" 340: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:57.422Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:57.423Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:57.423Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 340"}

data: {"time":"2026-09-19T16:16:57.424Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:57.425Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind340 ../src/curl -q --output log/curl340.out  --include --trace-ascii log/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:40021/%00first/second/third/340 > log/stdout340 2> log/stderr340"}

data: {"time":"2026-09-19T16:16:57.426Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:57.426Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:57.426Z","priority":"6","pid":"2830187","message":" 16:16:57.128654 ====> Client connect"}

data: {"time":"2026-09-19T16:16:57.427Z","priority":"6","pid":"2830187","message":" 16:16:57.129536 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.428Z","priority":"6","pid":"2830187","message":" 16:16:57.129799 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:57.428Z","priority":"6","pid":"2830187","message":" 16:16:57.129937 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.429Z","priority":"6","pid":"2830187","message":" 16:16:57.130322 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:57.429Z","priority":"6","pid":"2830187","message":" 16:16:57.130448 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.430Z","priority":"6","pid":"2830187","message":" 16:16:57.130761 < \"PWD\""}

data: {"time":"2026-09-19T16:16:57.430Z","priority":"6","pid":"2830187","message":" 16:16:57.130827 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.430Z","priority":"6","pid":"2830187","message":" 16:16:57.131162 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:57.431Z","priority":"6","pid":"2830187","message":" 16:16:57.131206 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:57.431Z","priority":"6","pid":"2830187","message":" 16:16:57.131229 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:57.432Z","priority":"6","pid":"2830187","message":" 16:16:57.135255 DATA sockfilt for passive data channel started (pid 98231)"}

data: {"time":"2026-09-19T16:16:57.432Z","priority":"6","pid":"2830187","message":" 16:16:57.135599 DATA sockfilt for passive data channel listens on port 34799"}

data: {"time":"2026-09-19T16:16:57.433Z","priority":"6","pid":"2830187","message":" 16:16:57.135870 > \"229 Entering Passive Mode (|||34799|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.434Z","priority":"6","pid":"2830187","message":" 16:16:57.135943 Client has been notified that upcoming DATA connection is awaited on port 34799"}

data: {"time":"2026-09-19T16:16:57.434Z","priority":"6","pid":"2830187","message":" 16:16:57.136421 Client connects to port 34799"}

data: {"time":"2026-09-19T16:16:57.434Z","priority":"6","pid":"2830187","message":" 16:16:57.136491 ====> Client established passive DATA connection on port 34799"}

data: {"time":"2026-09-19T16:16:57.435Z","priority":"6","pid":"2830187","message":" 16:16:57.136773 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:57.435Z","priority":"6","pid":"2830187","message":" 16:16:57.136922 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.436Z","priority":"6","pid":"2830187","message":" 16:16:57.137219 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:57.436Z","priority":"6","pid":"2830187","message":" 16:16:57.137295 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.437Z","priority":"6","pid":"2830187","message":" 16:16:57.137607 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:57.437Z","priority":"6","pid":"2830187","message":" 16:16:57.137668 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.437Z","priority":"6","pid":"2830187","message":" 16:16:57.137794 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:57.438Z","priority":"6","pid":"2830187","message":" 16:16:57.137816 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:57.438Z","priority":"6","pid":"2830187","message":" 16:16:57.138323 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:57.439Z","priority":"6","pid":"2830187","message":" 16:16:57.138417 DATA sockfilt for passive data channel quits (pid 98231)"}

data: {"time":"2026-09-19T16:16:57.439Z","priority":"6","pid":"2830187","message":" 16:16:57.138916 DATA sockfilt for passive data channel quit (pid 98231)"}

data: {"time":"2026-09-19T16:16:57.440Z","priority":"6","pid":"2830187","message":" 16:16:57.138970 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:57.441Z","priority":"6","pid":"2830187","message":" 16:16:57.139084 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.441Z","priority":"6","pid":"2830187","message":" 16:16:57.179148 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:57.441Z","priority":"6","pid":"2830187","message":" 16:16:57.179270 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:57.689Z","priority":"6","pid":"2830187","message":" 16:16:57.180329 MAIN sockfilt saidCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind341 ../src/curl -q --output log/curl341.out  --include --trace-ascii log/trace341 --trace-time http://127.0.0.1:36137/341 --etag-compare log/etag341 > log/stdout341 2> log/stderr341"}

data: {"time":"2026-09-19T16:16:57.704Z","priority":"6","pid":"2830187","message":" DISC"}

data: {"time":"2026-09-19T16:16:57.705Z","priority":"6","pid":"2830187","message":" 16:16:57.180584 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:57.705Z","priority":"6","pid":"2830187","message":" 16:16:57.180747 Awaiting input"}

data: {"time":"2026-09-19T16:16:57.706Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:57.706Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:57.706Z","priority":"6","pid":"2830187","message":" 16:16:57.197076 ====> Client connect"}

data: {"time":"2026-09-19T16:16:57.707Z","priority":"6","pid":"2830187","message":" 16:16:57.197626 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.707Z","priority":"6","pid":"2830187","message":" 16:16:57.197698 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.708Z","priority":"6","pid":"2830187","message":" 16:16:57.197841 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:57.708Z","priority":"6","pid":"2830187","message":" 16:16:57.197867 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.709Z","priority":"6","pid":"2830187","message":" 16:16:57.197881 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.710Z","priority":"6","pid":"2830187","message":" 16:16:57.198077 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:57.710Z","priority":"6","pid":"2830187","message":" 16:16:57.198103 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.710Z","priority":"6","pid":"2830187","message":" 16:16:57.198624 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.710Z","priority":"6","pid":"2830187","message":" 16:16:57.198648 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.711Z","priority":"6","pid":"2830187","message":" 16:16:57.198664 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.711Z","priority":"6","pid":"2830187","message":" 16:16:57.198781 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:57.711Z","priority":"6","pid":"2830187","message":" 16:16:57.198801 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.712Z","priority":"6","pid":"2830187","message":" 16:16:57.199113 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.713Z","priority":"6","pid":"2830187","message":" 16:16:57.199136 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.713Z","priority":"6","pid":"2830187","message":" 16:16:57.199149 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.713Z","priority":"6","pid":"2830187","message":" 16:16:57.199253 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:57.713Z","priority":"6","pid":"2830187","message":" 16:16:57.199273 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.714Z","priority":"6","pid":"2830187","message":" 16:16:57.199490 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.714Z","priority":"6","pid":"2830187","message":" 16:16:57.199511 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.715Z","priority":"6","pid":"2830187","message":" 16:16:57.199523 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.715Z","priority":"6","pid":"2830187","message":" 16:16:57.199653 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:57.716Z","priority":"6","pid":"2830187","message":" 16:16:57.199675 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.716Z","priority":"6","pid":"2830187","message":" 16:16:57.204310 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.716Z","priority":"6","pid":"2830187","message":" 16:16:57.204338 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.717Z","priority":"6","pid":"2830187","message":" 16:16:57.204364 '229 Entering Passive Mode (|||34799|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.717Z","priority":"6","pid":"2830187","message":" 16:16:57.205200 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:57.718Z","priority":"6","pid":"2830187","message":" 16:16:57.205228 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.718Z","priority":"6","pid":"2830187","message":" 16:16:57.205477 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.719Z","priority":"6","pid":"2830187","message":" 16:16:57.205501 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.719Z","priority":"6","pid":"2830187","message":" 16:16:57.205599 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.719Z","priority":"6","pid":"2830187","message":" 16:16:57.205724 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:57.720Z","priority":"6","pid":"2830187","message":" 16:16:57.205741 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.720Z","priority":"6","pid":"2830187","message":" 16:16:57.206000 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.720Z","priority":"6","pid":"2830187","message":" 16:16:57.206021 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.720Z","priority":"6","pid":"2830187","message":" 16:16:57.206033 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.721Z","priority":"6","pid":"2830187","message":" 16:16:57.206115 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:57.721Z","priority":"6","pid":"2830187","message":" 16:16:57.206129 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.722Z","priority":"6","pid":"2830187","message":" 16:16:57.206477 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.722Z","priority":"6","pid":"2830187","message":" 16:16:57.206498 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.722Z","priority":"6","pid":"2830187","message":" 16:16:57.206511 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.723Z","priority":"6","pid":"2830187","message":" 16:16:57.207644 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.723Z","priority":"6","pid":"2830187","message":" 16:16:57.207673 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.724Z","priority":"6","pid":"2830187","message":" 16:16:57.207757 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.724Z","priority":"6","pid":"2830187","message":" 16:16:57.247529 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:57.725Z","priority":"6","pid":"2830187","message":" 16:16:57.247617 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.725Z","priority":"6","pid":"2830187","message":" 16:16:57.247942 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.726Z","priority":"6","pid":"2830187","message":" 16:16:57.247988 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.726Z","priority":"6","pid":"2830187","message":" 16:16:57.248004 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.726Z","priority":"6","pid":"2830187","message":" 16:16:57.248832 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:57.726Z","priority":"6","pid":"2830187","message":" 16:16:57.249095 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:57.727Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:57.727Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:57.728Z","priority":"6","pid":"2830187","message":" 16:16:57.203485 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:57.728Z","priority":"6","pid":"2830187","message":" 16:16:57.203698 Listening on port 34799"}

data: {"time":"2026-09-19T16:16:57.729Z","priority":"6","pid":"2830187","message":" 16:16:57.203763 Wrote pid 98231 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:57.729Z","priority":"6","pid":"2830187","message":" 16:16:57.203804 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:57.730Z","priority":"6","pid":"2830187","message":" 16:16:57.204083 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:57.730Z","priority":"6","pid":"2830187","message":" 16:16:57.204838 ====> Client connect"}

data: {"time":"2026-09-19T16:16:57.731Z","priority":"6","pid":"2830187","message":" 16:16:57.206561 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:57.731Z","priority":"6","pid":"2830187","message":" 16:16:57.206591 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:57.731Z","priority":"6","pid":"2830187","message":" 16:16:57.206604 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:57.732Z","priority":"6","pid":"2830187","message":" 16:16:57.206658 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:57.733Z","priority":"6","pid":"2830187","message":" 16:16:57.206675 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:57.734Z","priority":"6","pid":"2830187","message":" 16:16:57.207095 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:57.734Z","priority":"6","pid":"2830187","message":" 16:16:57.207124 quits"}

data: {"time":"2026-09-19T16:16:57.735Z","priority":"6","pid":"2830187","message":" 16:16:57.207253 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:57.736Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:57.736Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:57.737Z","priority":"6","pid":"2830187","message":" Testnum 340"}

data: {"time":"2026-09-19T16:16:57.738Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:57.738Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind340"}

data: {"time":"2026-09-19T16:16:57.739Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:57.740Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:57.742Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:57.742Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.742Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:57.742Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:57.743Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:57.743Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:57.744Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:57.744Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.744Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:57.745Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:57.745Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:57.746Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:57.746Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:57.747Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:57.747Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:57.747Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.748Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:57.748Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:57.748Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.749Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:57.749Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:57.750Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:57.750Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.751Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:57.751Z","priority":"6","pid":"2830187","message":"=== End of file valgrind340"}

data: {"time":"2026-09-19T16:16:57.752Z","priority":"6","pid":"2830187","message":"test 0341 [A non existing file with --etag-compare is a blank]"}

data: {"time":"2026-09-19T16:16:57.753Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind341 ../src/curl -q --output log/curl341.out  --include --trace-ascii log/trace341 --trace-time http://127.0.0.1:36137/341 --etag-compare log/etag341 > log/stdout341 2> log/stderr341"}

data: {"time":"2026-09-19T16:16:57.754Z","priority":"6","pid":"2830187","message":" 341: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:57.754Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:57.755Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:57.755Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 341"}

data: {"time":"2026-09-19T16:16:57.755Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:57.757Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind341 ../src/curl -q --output log/curl341.out  --include --trace-ascii log/trace341 --trace-time http://127.0.0.1:36137/341 --etag-compare log/etag341 > log/stdout341 2> log/stderr341"}

data: {"time":"2026-09-19T16:16:57.758Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:57.758Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:57.758Z","priority":"6","pid":"2830187","message":" 16:16:57.554634 ====> Client connect"}

data: {"time":"2026-09-19T16:16:57.759Z","priority":"6","pid":"2830187","message":" 16:16:57.554689 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:57.759Z","priority":"6","pid":"2830187","message":" 16:16:57.554865 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:57.759Z","priority":"6","pid":"2830187","message":" 16:16:57.554883 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:57.760Z","priority":"6","pid":"2830187","message":" 16:16:57.554901 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:57.761Z","priority":"6","pid":"2830187","message":" 16:16:57.554914 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:57.761Z","priority":"6","pid":"2830187","message":" 16:16:57.555003 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:57.761Z","priority":"6","pid":"2830187","message":" 16:16:57.555032 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:57.762Z","priority":"6","pid":"2830187","message":" 16:16:57.555102 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:57.762Z","priority":"6","pid":"2830187","message":" 16:16:57.555114 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:57.763Z","priority":"6","pid":"2830187","message":" 16:16:57.555123 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:57.763Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:57.763Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:57.764Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:57.764Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57678"}

data: {"time":"2026-09-19T16:16:57.765Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:57.765Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:57.765Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:57.765Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:57.766Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:57.766Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:57.766Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:57.767Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:57.767Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:57.767Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:57.767Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:57.767Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:57.768Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:57.768Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:57.768Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:57.769Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:57.769Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:57.770Z","priority":"6","pid":"2830187","message":" Testnum 341"}

data: {"time":"2026-09-19T16:16:57.770Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:57.770Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:57.770Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:57.770Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:57.770Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:57.771Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:57.771Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind341"}

data: {"time":"2026-09-19T16:16:57.772Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:57.772Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:57.772Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:57.773Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.773Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:57.774Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:57.774Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:57.774Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:57.775Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:57.775Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:57.776Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:57.776Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:57.777Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:57.777Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:57.778Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:57.778Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:57.779Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:57.779Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.012Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:    CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind342 ../src/curl -q --output log/curl342.out  --include --trace-ascii log/trace342 --trace-time http://127.0.0.1:36137/342 --etag-compare log/etag342 > log/stdout342 2> log/stderr342"}

data: {"time":"2026-09-19T16:16:58.264Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind343 ../src/curl -q --output log/curl343.out  --include --trace-ascii log/trace343 --trace-time http://127.0.0.1:36137/343 --etag-compare log/etag343 --etag-save log/out343 > log/stdout343 2> log/stderr343"}

data: {"time":"2026-09-19T16:16:58.270Z","priority":"6","pid":"2830187","message":"             libc6-dbg"}

data: {"time":"2026-09-19T16:16:58.271Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:58.271Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.272Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:58.272Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:58.273Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:58.273Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.273Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:58.274Z","priority":"6","pid":"2830187","message":"=== End of file valgrind341"}

data: {"time":"2026-09-19T16:16:58.274Z","priority":"6","pid":"2830187","message":"test 0342 [Check if --etag-compare set correct etag in header]"}

data: {"time":"2026-09-19T16:16:58.276Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind342 ../src/curl -q --output log/curl342.out  --include --trace-ascii log/trace342 --trace-time http://127.0.0.1:36137/342 --etag-compare log/etag342 > log/stdout342 2> log/stderr342"}

data: {"time":"2026-09-19T16:16:58.277Z","priority":"6","pid":"2830187","message":" 342: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:58.277Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:58.278Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:58.278Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 342"}

data: {"time":"2026-09-19T16:16:58.278Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:58.280Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind342 ../src/curl -q --output log/curl342.out  --include --trace-ascii log/trace342 --trace-time http://127.0.0.1:36137/342 --etag-compare log/etag342 > log/stdout342 2> log/stderr342"}

data: {"time":"2026-09-19T16:16:58.280Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:58.281Z","priority":"6","pid":"2830187","message":"=== Start of file etag342"}

data: {"time":"2026-09-19T16:16:58.281Z","priority":"6","pid":"2830187","message":" \"21025-dc7-39462498\""}

data: {"time":"2026-09-19T16:16:58.281Z","priority":"6","pid":"2830187","message":"=== End of file etag342"}

data: {"time":"2026-09-19T16:16:58.282Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:58.282Z","priority":"6","pid":"2830187","message":" 16:16:57.891777 ====> Client connect"}

data: {"time":"2026-09-19T16:16:58.282Z","priority":"6","pid":"2830187","message":" 16:16:57.891837 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:58.283Z","priority":"6","pid":"2830187","message":" 16:16:57.892053 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:58.283Z","priority":"6","pid":"2830187","message":" 16:16:57.892077 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:58.283Z","priority":"6","pid":"2830187","message":" 16:16:57.892096 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:58.284Z","priority":"6","pid":"2830187","message":" 16:16:57.892109 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:58.284Z","priority":"6","pid":"2830187","message":" 16:16:57.892154 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:58.285Z","priority":"6","pid":"2830187","message":" 16:16:57.892179 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:58.285Z","priority":"6","pid":"2830187","message":" 16:16:57.892249 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:58.286Z","priority":"6","pid":"2830187","message":" 16:16:57.892261 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:58.286Z","priority":"6","pid":"2830187","message":" 16:16:57.892271 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:58.287Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:58.287Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:58.287Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:58.287Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57684"}

data: {"time":"2026-09-19T16:16:58.288Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:58.289Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:58.289Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:58.289Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:58.289Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:58.289Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:58.289Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:58.289Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:58.290Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:58.290Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:58.290Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:58.291Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:58.291Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:58.291Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:58.292Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:58.292Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:58.292Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:58.293Z","priority":"6","pid":"2830187","message":" Testnum 342"}

data: {"time":"2026-09-19T16:16:58.293Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:58.293Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:58.294Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:58.294Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:58.294Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:58.294Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:58.294Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind342"}

data: {"time":"2026-09-19T16:16:58.295Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:58.295Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:58.296Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:58.296Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.297Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:58.297Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:58.297Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:58.298Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:58.298Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:58.298Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.299Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:58.299Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:58.300Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:58.300Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:58.301Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:58.301Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:58.302Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:58.302Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.302Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:58.303Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:58.303Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.304Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:58.304Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:58.305Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:58.305Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.305Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:58.305Z","priority":"6","pid":"2830187","message":"=== End of file valgrind342"}

data: {"time":"2026-09-19T16:16:58.306Z","priority":"6","pid":"2830187","message":"test 0343 [Both --etag-compare and --etag-save to save new Etag]"}

data: {"time":"2026-09-19T16:16:58.308Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind343 ../src/curl -q --output log/curl343.out  --include --trace-ascii log/trace343 --trace-time http://127.0.0.1:36137/343 --etag-compare log/etag343 --etag-save log/out343 > log/stdout343 2> log/stderr343"}

data: {"time":"2026-09-19T16:16:58.309Z","priority":"6","pid":"2830187","message":" 343: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:58.309Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:58.309Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:58.310Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 343"}

data: {"time":"2026-09-19T16:16:58.310Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:58.312Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind343 ../src/curl -q --output log/curl343.out  --include --trace-ascii log/trace343 --trace-time http://127.0.0.1:36137/343 --etag-compare log/etag343 --etag-save log/out343 > log/stdout343 2> log/stderr343"}

data: {"time":"2026-09-19T16:16:58.313Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:58.313Z","priority":"6","pid":"2830187","message":"=== Start of file etag343"}

data: {"time":"2026-09-19T16:16:58.313Z","priority":"6","pid":"2830187","message":" \"21025-dc7-39462498\""}

data: {"time":"2026-09-19T16:16:58.313Z","priority":"6","pid":"2830187","message":"=== End of file etag343"}

data: {"time":"2026-09-19T16:16:58.313Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:58.314Z","priority":"6","pid":"2830187","message":" 16:16:58.138676 ====> Client connect"}

data: {"time":"2026-09-19T16:16:58.314Z","priority":"6","pid":"2830187","message":" 16:16:58.138741 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:58.314Z","priority":"6","pid":"2830187","message":" 16:16:58.138780 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:58.315Z","priority":"6","pid":"2830187","message":" 16:16:58.138792 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:58.315Z","priority":"6","pid":"2830187","message":" 16:16:58.138809 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:58.316Z","priority":"6","pid":"2830187","message":" 16:16:58.138820 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:58.316Z","priority":"6","pid":"2830187","message":" 16:16:58.138857 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:58.317Z","priority":"6","pid":"2830187","message":" 16:16:58.138878 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:58.317Z","priority":"6","pid":"2830187","message":" 16:16:58.139022 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:58.318Z","priority":"6","pid":"2830187","message":" 16:16:58.139036 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:58.318Z","priority":"6","pid":"2830187","message":" 16:16:58.139045 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:58.318Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:58.319Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:58.320Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:58.320Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57696"}

data: {"time":"2026-09-19T16:16:58.320Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:58.320Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:58.320Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:58.321Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:58.321Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:58.321Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:58.321Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:58.321Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:58.322Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:58.322Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:58.322Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:58.323Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:58.323Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:58.323Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:58.323Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:58.324Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:58.324Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:58.324Z","priority":"6","pid":"2830187","message":" Testnum 343"}

data: {"time":"2026-09-19T16:16:58.325Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:58.325Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:58.325Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:58.326Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:58.326Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:58.326Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:58.326Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind343"}

data: {"time":"2026-09-19T16:16:58.327Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:58.327Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:58.328Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:58.328Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.328Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:58.329Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:58.329Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:58.330Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:58.330Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:58.330Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.330Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:58.331Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:58.331Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:58.332Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:58.333Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:58.333Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:58.333Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:58.334Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.334Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:58.335Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:58.335Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.335Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:58.336Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:58.336Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:58.336Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:58.337Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:58.567Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind344 ../src/curl -q --output log/curl344.out  --include --trace-ascii log/trace344 --trace-time http://127.0.0.1:36137/344 --etag-compare log/etag344 --etag-save log/etag344 > log/stdout344 2> log/stderr344"}

data: {"time":"2026-09-19T16:16:58.824Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind345 ../src/curl -q --output log/curl345.out  --include --trace-ascii log/trace345 --trace-time http://127.0.0.1:36137/345 --etag-compare log/etag345 --etag-save log/etag345 > log/stdout345 2> log/stderr345"}

data: {"time":"2026-09-19T16:16:59.064Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind346 ../src/curl -q --output log/curl346.out  --include --trace-ascii log/trace346 --trace-time -x http://127.0.0.1:36137/346 -U puser: -u suser: http://remote.example/346 > log/stdout346 2> log/stderr346"}

data: {"time":"2026-09-19T16:16:59.068Z","priority":"6","pid":"2830187","message":"=== End of file valgrind343"}

data: {"time":"2026-09-19T16:16:59.068Z","priority":"6","pid":"2830187","message":"test 0344 [Both --etag-compare and -save store new Etag using non-existing file]"}

data: {"time":"2026-09-19T16:16:59.071Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind344 ../src/curl -q --output log/curl344.out  --include --trace-ascii log/trace344 --trace-time http://127.0.0.1:36137/344 --etag-compare log/etag344 --etag-save log/etag344 > log/stdout344 2> log/stderr344"}

data: {"time":"2026-09-19T16:16:59.071Z","priority":"6","pid":"2830187","message":" 344: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:59.072Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:59.072Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:59.073Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 344"}

data: {"time":"2026-09-19T16:16:59.073Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:59.075Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind344 ../src/curl -q --output log/curl344.out  --include --trace-ascii log/trace344 --trace-time http://127.0.0.1:36137/344 --etag-compare log/etag344 --etag-save log/etag344 > log/stdout344 2> log/stderr344"}

data: {"time":"2026-09-19T16:16:59.076Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:59.076Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:59.076Z","priority":"6","pid":"2830187","message":" 16:16:58.450521 ====> Client connect"}

data: {"time":"2026-09-19T16:16:59.077Z","priority":"6","pid":"2830187","message":" 16:16:58.450592 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:59.077Z","priority":"6","pid":"2830187","message":" 16:16:58.450965 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:59.077Z","priority":"6","pid":"2830187","message":" 16:16:58.451000 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:59.079Z","priority":"6","pid":"2830187","message":" 16:16:58.451149 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:59.080Z","priority":"6","pid":"2830187","message":" 16:16:58.451167 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:59.081Z","priority":"6","pid":"2830187","message":" 16:16:58.451331 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:59.081Z","priority":"6","pid":"2830187","message":" 16:16:58.451375 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:59.082Z","priority":"6","pid":"2830187","message":" 16:16:58.451631 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:59.083Z","priority":"6","pid":"2830187","message":" 16:16:58.451651 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:59.083Z","priority":"6","pid":"2830187","message":" 16:16:58.452537 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:59.083Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:59.083Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:59.084Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:59.084Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57710"}

data: {"time":"2026-09-19T16:16:59.084Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:59.085Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:59.085Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:59.085Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:59.086Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:59.086Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:59.086Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:59.086Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:59.087Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:59.087Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:59.088Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:59.089Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:59.089Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:59.089Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:59.090Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:59.090Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:59.091Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.091Z","priority":"6","pid":"2830187","message":" Testnum 344"}

data: {"time":"2026-09-19T16:16:59.091Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.091Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:59.091Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:59.091Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:59.092Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:59.092Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:59.092Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind344"}

data: {"time":"2026-09-19T16:16:59.093Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:59.093Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:59.094Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:59.094Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.095Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:59.095Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:59.095Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.096Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:59.096Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.097Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.097Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:59.098Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:59.098Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:59.099Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:59.099Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:59.100Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:59.100Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:59.100Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.101Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:59.101Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:59.102Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.102Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:59.102Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:59.103Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:59.103Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.103Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:59.104Z","priority":"6","pid":"2830187","message":"=== End of file valgrind344"}

data: {"time":"2026-09-19T16:16:59.104Z","priority":"6","pid":"2830187","message":"test 0345 [Both --etag-compare and -save store new Etag in pre-existing file]"}

data: {"time":"2026-09-19T16:16:59.106Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind345 ../src/curl -q --output log/curl345.out  --include --trace-ascii log/trace345 --trace-time http://127.0.0.1:36137/345 --etag-compare log/etag345 --etag-save log/etag345 > log/stdout345 2> log/stderr345"}

data: {"time":"2026-09-19T16:16:59.107Z","priority":"6","pid":"2830187","message":" 345: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:59.107Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:59.108Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:59.108Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 345"}

data: {"time":"2026-09-19T16:16:59.109Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:59.110Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind345 ../src/curl -q --output log/curl345.out  --include --trace-ascii log/trace345 --trace-time http://127.0.0.1:36137/345 --etag-compare log/etag345 --etag-save log/etag345 > log/stdout345 2> log/stderr345"}

data: {"time":"2026-09-19T16:16:59.110Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:59.111Z","priority":"6","pid":"2830187","message":"=== Start of file etag345"}

data: {"time":"2026-09-19T16:16:59.111Z","priority":"6","pid":"2830187","message":" \"21025-dc7-39462498\""}

data: {"time":"2026-09-19T16:16:59.112Z","priority":"6","pid":"2830187","message":"=== End of file etag345"}

data: {"time":"2026-09-19T16:16:59.112Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:59.112Z","priority":"6","pid":"2830187","message":" 16:16:58.689006 ====> Client connect"}

data: {"time":"2026-09-19T16:16:59.113Z","priority":"6","pid":"2830187","message":" 16:16:58.689050 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:59.113Z","priority":"6","pid":"2830187","message":" 16:16:58.689205 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:59.113Z","priority":"6","pid":"2830187","message":" 16:16:58.689220 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:59.114Z","priority":"6","pid":"2830187","message":" 16:16:58.689234 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:59.115Z","priority":"6","pid":"2830187","message":" 16:16:58.689242 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:59.115Z","priority":"6","pid":"2830187","message":" 16:16:58.689273 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:59.116Z","priority":"6","pid":"2830187","message":" 16:16:58.689291 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:59.116Z","priority":"6","pid":"2830187","message":" 16:16:58.689338 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:59.116Z","priority":"6","pid":"2830187","message":" 16:16:58.689346 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:59.117Z","priority":"6","pid":"2830187","message":" 16:16:58.689353 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:59.117Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:59.118Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:59.118Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:59.118Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57722"}

data: {"time":"2026-09-19T16:16:59.118Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:59.119Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:59.119Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:59.119Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:59.120Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:59.120Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:59.120Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:59.121Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:59.122Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:59.122Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:59.122Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:59.122Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:59.122Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:59.122Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:59.122Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:59.123Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:59.123Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.123Z","priority":"6","pid":"2830187","message":" Testnum 345"}

data: {"time":"2026-09-19T16:16:59.123Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.124Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:59.124Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:59.124Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:59.125Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:59.125Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:59.125Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind345"}

data: {"time":"2026-09-19T16:16:59.126Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:59.126Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:59.127Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:59.128Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.128Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:59.128Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:59.128Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.129Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:59.129Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.129Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.130Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:59.130Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:59.131Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:59.131Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:59.132Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:59.132Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:59.132Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:59.133Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.133Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:59.133Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:59.134Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.134Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:59.135Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:59.135Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:59.135Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.136Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:59.136Z","priority":"6","pid":"2830187","message":"=== End of file valgrind345"}

data: {"time":"2026-09-19T16:16:59.136Z","priority":"6","pid":"2830187","message":"test 0346 [HTTP GET over proxy with credentials using blank passwords]"}

data: {"time":"2026-09-19T16:16:59.347Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind346 ../src/curl -q --output log/curl346.out  --include --trCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind347 ../src/curl -q --output log/curl347.out  --include --trace-ascii log/trace347 --trace-time http://127.0.0.1:36137/347 --etag-save log/etag347 > log/stdout347 2> log/stderr347"}

data: {"time":"2026-09-19T16:16:59.620Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind348 ../src/curl -q --output log/curl348.out  --include --trace-ascii log/trace348 --trace-time ftp://127.0.0.1:40021/348 -T log/test348.txt > log/stdout348 2> log/stderr348"}

data: {"time":"2026-09-19T16:16:59.625Z","priority":"6","pid":"2830187","message":"ace-ascii log/trace346 --trace-time -x http://127.0.0.1:36137/346 -U puser: -u suser: http://remote.example/346 > log/stdout346 2> log/stderr346"}

data: {"time":"2026-09-19T16:16:59.626Z","priority":"6","pid":"2830187","message":" 346: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:59.626Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:59.626Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:59.627Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 346"}

data: {"time":"2026-09-19T16:16:59.627Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:59.628Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind346 ../src/curl -q --output log/curl346.out  --include --trace-ascii log/trace346 --trace-time -x http://127.0.0.1:36137/346 -U puser: -u suser: http://remote.example/346 > log/stdout346 2> log/stderr346"}

data: {"time":"2026-09-19T16:16:59.629Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:59.629Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:59.629Z","priority":"6","pid":"2830187","message":" 16:16:58.943538 ====> Client connect"}

data: {"time":"2026-09-19T16:16:59.630Z","priority":"6","pid":"2830187","message":" 16:16:58.943608 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:59.630Z","priority":"6","pid":"2830187","message":" 16:16:58.943787 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:59.631Z","priority":"6","pid":"2830187","message":" 16:16:58.943805 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:59.631Z","priority":"6","pid":"2830187","message":" 16:16:58.943821 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:59.631Z","priority":"6","pid":"2830187","message":" 16:16:58.943831 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:59.633Z","priority":"6","pid":"2830187","message":" 16:16:58.943915 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:59.633Z","priority":"6","pid":"2830187","message":" 16:16:58.943946 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:59.633Z","priority":"6","pid":"2830187","message":" 16:16:58.944034 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:59.633Z","priority":"6","pid":"2830187","message":" 16:16:58.944046 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:59.634Z","priority":"6","pid":"2830187","message":" 16:16:58.944056 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:59.634Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:59.635Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:59.635Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:59.636Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57730"}

data: {"time":"2026-09-19T16:16:59.636Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:59.636Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:59.636Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:59.636Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:59.636Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:59.636Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:59.636Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:59.637Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:59.637Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:59.637Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:59.637Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:59.638Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:59.638Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:59.639Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:59.639Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:59.639Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:59.640Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.640Z","priority":"6","pid":"2830187","message":" Testnum 346"}

data: {"time":"2026-09-19T16:16:59.640Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.640Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:59.640Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:59.641Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:59.641Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:59.641Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:59.642Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind346"}

data: {"time":"2026-09-19T16:16:59.642Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:59.643Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:59.643Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:59.643Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.644Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:59.644Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:59.645Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.645Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:59.645Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.645Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.646Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:59.646Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:59.647Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:59.647Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:59.647Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:59.648Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:59.648Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:59.649Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.649Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:59.650Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:59.650Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.650Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:59.650Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:59.650Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:59.651Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.651Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:59.651Z","priority":"6","pid":"2830187","message":"=== End of file valgrind346"}

data: {"time":"2026-09-19T16:16:59.652Z","priority":"6","pid":"2830187","message":"test 0347 [--etag-save with blank incoming header]"}

data: {"time":"2026-09-19T16:16:59.653Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind347 ../src/curl -q --output log/curl347.out  --include --trace-ascii log/trace347 --trace-time http://127.0.0.1:36137/347 --etag-save log/etag347 > log/stdout347 2> log/stderr347"}

data: {"time":"2026-09-19T16:16:59.654Z","priority":"6","pid":"2830187","message":" 347: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:59.654Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:59.654Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:59.654Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 347"}

data: {"time":"2026-09-19T16:16:59.654Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:59.656Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind347 ../src/curl -q --output log/curl347.out  --include --trace-ascii log/trace347 --trace-time http://127.0.0.1:36137/347 --etag-save log/etag347 > log/stdout347 2> log/stderr347"}

data: {"time":"2026-09-19T16:16:59.656Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:59.657Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:59.657Z","priority":"6","pid":"2830187","message":" 16:16:59.245911 ====> Client connect"}

data: {"time":"2026-09-19T16:16:59.658Z","priority":"6","pid":"2830187","message":" 16:16:59.245979 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:16:59.658Z","priority":"6","pid":"2830187","message":" 16:16:59.246226 Read 93 bytes"}

data: {"time":"2026-09-19T16:16:59.658Z","priority":"6","pid":"2830187","message":" 16:16:59.246246 Process 93 bytes request"}

data: {"time":"2026-09-19T16:16:59.658Z","priority":"6","pid":"2830187","message":" 16:16:59.246263 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:59.659Z","priority":"6","pid":"2830187","message":" 16:16:59.246274 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:16:59.659Z","priority":"6","pid":"2830187","message":" 16:16:59.246319 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:16:59.659Z","priority":"6","pid":"2830187","message":" 16:16:59.246343 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:16:59.660Z","priority":"6","pid":"2830187","message":" 16:16:59.246426 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:16:59.660Z","priority":"6","pid":"2830187","message":" 16:16:59.246437 special request received, no persistency"}

data: {"time":"2026-09-19T16:16:59.661Z","priority":"6","pid":"2830187","message":" 16:16:59.246447 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:16:59.661Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:16:59.661Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:16:59.662Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:16:59.662Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57738"}

data: {"time":"2026-09-19T16:16:59.663Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:16:59.663Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:16:59.663Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:16:59.663Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:16:59.664Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:16:59.665Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:16:59.665Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:16:59.665Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:59.665Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:16:59.665Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:16:59.665Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:16:59.665Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:16:59.666Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:16:59.666Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:16:59.666Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:59.667Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:16:59.667Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.667Z","priority":"6","pid":"2830187","message":" Testnum 347"}

data: {"time":"2026-09-19T16:16:59.667Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.668Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:16:59.668Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:16:59.668Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:16:59.668Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:16:59.669Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:16:59.669Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind347"}

data: {"time":"2026-09-19T16:16:59.670Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:59.670Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:59.670Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:59.671Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.671Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:59.672Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:59.672Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.672Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:59.672Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.673Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.673Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:59.673Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:59.674Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:59.674Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:59.675Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:59.675Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:59.676Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:59.676Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.676Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:59.677Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:59.677Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.678Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:59.678Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:59.678Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:59.679Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.679Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:59.679Z","priority":"6","pid":"2830187","message":"=== End of file valgrind347"}

data: {"time":"2026-09-19T16:16:59.680Z","priority":"6","pid":"2830187","message":"test 0348 [FTP upload file with 552 disk full response]"}

data: {"time":"2026-09-19T16:16:59.681Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind348 ../src/curl -q --output log/curl348.out  --include --trace-ascii log/trace348 --trace-time ftp://127.0.0.1:40021/348 -T log/test348.txt > log/stdout348 2> log/stderr348"}

data: {"time":"2026-09-19T16:16:59.682Z","priority":"6","pid":"2830187","message":" 348: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:59.682Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:59.682Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:59.683Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 348"}

data: {"time":"2026-09-19T16:16:59.683Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:59.891Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind348 .CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind349 ../src/curl -q --output log/curl349.out  --include --trace-ascii log/trace349 --trace-time http://127.0.0.1:36137/349 --fail-with-body > log/stdout349 2> log/stderr349"}

data: {"time":"2026-09-19T16:16:59.910Z","priority":"6","pid":"2830187","message":"./src/curl -q --output log/curl348.out  --include --trace-ascii log/trace348 --trace-time ftp://127.0.0.1:40021/348 -T log/test348.txt > log/stdout348 2> log/stderr348"}

data: {"time":"2026-09-19T16:16:59.910Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:59.911Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:59.911Z","priority":"6","pid":"2830187","message":" 16:16:59.400058 ====> Client connect"}

data: {"time":"2026-09-19T16:16:59.912Z","priority":"6","pid":"2830187","message":" 16:16:59.400968 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.913Z","priority":"6","pid":"2830187","message":" 16:16:59.401173 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:16:59.913Z","priority":"6","pid":"2830187","message":" 16:16:59.401236 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.913Z","priority":"6","pid":"2830187","message":" 16:16:59.401566 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:16:59.914Z","priority":"6","pid":"2830187","message":" 16:16:59.401617 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.914Z","priority":"6","pid":"2830187","message":" 16:16:59.401897 < \"PWD\""}

data: {"time":"2026-09-19T16:16:59.915Z","priority":"6","pid":"2830187","message":" 16:16:59.401959 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.915Z","priority":"6","pid":"2830187","message":" 16:16:59.402263 < \"EPSV\""}

data: {"time":"2026-09-19T16:16:59.916Z","priority":"6","pid":"2830187","message":" 16:16:59.402301 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:16:59.917Z","priority":"6","pid":"2830187","message":" 16:16:59.402320 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:16:59.917Z","priority":"6","pid":"2830187","message":" 16:16:59.405730 DATA sockfilt for passive data channel started (pid 98769)"}

data: {"time":"2026-09-19T16:16:59.917Z","priority":"6","pid":"2830187","message":" 16:16:59.405951 DATA sockfilt for passive data channel listens on port 45763"}

data: {"time":"2026-09-19T16:16:59.918Z","priority":"6","pid":"2830187","message":" 16:16:59.406030 > \"229 Entering Passive Mode (|||45763|)[CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.918Z","priority":"6","pid":"2830187","message":" 16:16:59.406059 Client has been notified that upcoming DATA connection is awaited on port 45763"}

data: {"time":"2026-09-19T16:16:59.918Z","priority":"6","pid":"2830187","message":" 16:16:59.406545 Client connects to port 45763"}

data: {"time":"2026-09-19T16:16:59.919Z","priority":"6","pid":"2830187","message":" 16:16:59.406606 ====> Client established passive DATA connection on port 45763"}

data: {"time":"2026-09-19T16:16:59.919Z","priority":"6","pid":"2830187","message":" 16:16:59.406932 < \"TYPE I\""}

data: {"time":"2026-09-19T16:16:59.920Z","priority":"6","pid":"2830187","message":" 16:16:59.407089 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.920Z","priority":"6","pid":"2830187","message":" 16:16:59.407320 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:16:59.920Z","priority":"6","pid":"2830187","message":" 16:16:59.407399 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.921Z","priority":"6","pid":"2830187","message":" 16:16:59.407674 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:16:59.921Z","priority":"6","pid":"2830187","message":" 16:16:59.407748 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.922Z","priority":"6","pid":"2830187","message":" 16:16:59.407871 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:16:59.922Z","priority":"6","pid":"2830187","message":" 16:16:59.407912 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:16:59.922Z","priority":"6","pid":"2830187","message":" 16:16:59.408407 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:16:59.923Z","priority":"6","pid":"2830187","message":" 16:16:59.408460 DATA sockfilt for passive data channel quits (pid 98769)"}

data: {"time":"2026-09-19T16:16:59.923Z","priority":"6","pid":"2830187","message":" 16:16:59.409015 DATA sockfilt for passive data channel quit (pid 98769)"}

data: {"time":"2026-09-19T16:16:59.924Z","priority":"6","pid":"2830187","message":" 16:16:59.409063 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:16:59.924Z","priority":"6","pid":"2830187","message":" 16:16:59.409163 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.924Z","priority":"6","pid":"2830187","message":" 16:16:59.448946 < \"QUIT\""}

data: {"time":"2026-09-19T16:16:59.925Z","priority":"6","pid":"2830187","message":" 16:16:59.449050 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:16:59.925Z","priority":"6","pid":"2830187","message":" 16:16:59.450067 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:16:59.926Z","priority":"6","pid":"2830187","message":" 16:16:59.450175 ====> Client disconnected"}

data: {"time":"2026-09-19T16:16:59.926Z","priority":"6","pid":"2830187","message":" 16:16:59.450308 Awaiting input"}

data: {"time":"2026-09-19T16:16:59.926Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:16:59.926Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:59.927Z","priority":"6","pid":"2830187","message":" 16:16:59.468335 ====> Client connect"}

data: {"time":"2026-09-19T16:16:59.927Z","priority":"6","pid":"2830187","message":" 16:16:59.469122 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.928Z","priority":"6","pid":"2830187","message":" 16:16:59.469165 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.928Z","priority":"6","pid":"2830187","message":" 16:16:59.469212 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:16:59.929Z","priority":"6","pid":"2830187","message":" 16:16:59.469234 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.930Z","priority":"6","pid":"2830187","message":" 16:16:59.469251 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.930Z","priority":"6","pid":"2830187","message":" 16:16:59.469410 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:59.930Z","priority":"6","pid":"2830187","message":" 16:16:59.469432 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.930Z","priority":"6","pid":"2830187","message":" 16:16:59.469788 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.930Z","priority":"6","pid":"2830187","message":" 16:16:59.469806 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.931Z","priority":"6","pid":"2830187","message":" 16:16:59.469819 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.932Z","priority":"6","pid":"2830187","message":" 16:16:59.469950 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:59.932Z","priority":"6","pid":"2830187","message":" 16:16:59.469966 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.932Z","priority":"6","pid":"2830187","message":" 16:16:59.470172 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.932Z","priority":"6","pid":"2830187","message":" 16:16:59.470188 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.932Z","priority":"6","pid":"2830187","message":" 16:16:59.470203 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.933Z","priority":"6","pid":"2830187","message":" 16:16:59.470289 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:59.933Z","priority":"6","pid":"2830187","message":" 16:16:59.470307 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.933Z","priority":"6","pid":"2830187","message":" 16:16:59.470521 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.934Z","priority":"6","pid":"2830187","message":" 16:16:59.470542 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.934Z","priority":"6","pid":"2830187","message":" 16:16:59.470559 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.935Z","priority":"6","pid":"2830187","message":" 16:16:59.470668 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:59.935Z","priority":"6","pid":"2830187","message":" 16:16:59.470686 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.935Z","priority":"6","pid":"2830187","message":" 16:16:59.474639 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.936Z","priority":"6","pid":"2830187","message":" 16:16:59.474665 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.936Z","priority":"6","pid":"2830187","message":" 16:16:59.474684 '229 Entering Passive Mode (|||45763|)\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.936Z","priority":"6","pid":"2830187","message":" 16:16:59.475277 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:59.936Z","priority":"6","pid":"2830187","message":" 16:16:59.475302 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.937Z","priority":"6","pid":"2830187","message":" 16:16:59.475512 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.937Z","priority":"6","pid":"2830187","message":" 16:16:59.475531 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.937Z","priority":"6","pid":"2830187","message":" 16:16:59.475557 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.938Z","priority":"6","pid":"2830187","message":" 16:16:59.475753 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:59.938Z","priority":"6","pid":"2830187","message":" 16:16:59.475773 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.939Z","priority":"6","pid":"2830187","message":" 16:16:59.475952 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.939Z","priority":"6","pid":"2830187","message":" 16:16:59.475971 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.939Z","priority":"6","pid":"2830187","message":" 16:16:59.475984 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.940Z","priority":"6","pid":"2830187","message":" 16:16:59.476063 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:59.940Z","priority":"6","pid":"2830187","message":" 16:16:59.476077 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.940Z","priority":"6","pid":"2830187","message":" 16:16:59.476478 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.941Z","priority":"6","pid":"2830187","message":" 16:16:59.476497 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.941Z","priority":"6","pid":"2830187","message":" 16:16:59.476510 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.942Z","priority":"6","pid":"2830187","message":" 16:16:59.477629 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.942Z","priority":"6","pid":"2830187","message":" 16:16:59.477650 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.943Z","priority":"6","pid":"2830187","message":" 16:16:59.477718 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.943Z","priority":"6","pid":"2830187","message":" 16:16:59.517205 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:16:59.943Z","priority":"6","pid":"2830187","message":" 16:16:59.517266 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.943Z","priority":"6","pid":"2830187","message":" 16:16:59.517624 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.944Z","priority":"6","pid":"2830187","message":" 16:16:59.517652 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.944Z","priority":"6","pid":"2830187","message":" 16:16:59.517665 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.944Z","priority":"6","pid":"2830187","message":" 16:16:59.517923 ====> Client disconnect"}

data: {"time":"2026-09-19T16:16:59.945Z","priority":"6","pid":"2830187","message":" 16:16:59.518894 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:16:59.945Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:16:59.945Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:59.946Z","priority":"6","pid":"2830187","message":" 16:16:59.473939 Running IPv4 version"}

data: {"time":"2026-09-19T16:16:59.946Z","priority":"6","pid":"2830187","message":" 16:16:59.474099 Listening on port 45763"}

data: {"time":"2026-09-19T16:16:59.946Z","priority":"6","pid":"2830187","message":" 16:16:59.474162 Wrote pid 98769 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:16:59.947Z","priority":"6","pid":"2830187","message":" 16:16:59.474198 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:16:59.947Z","priority":"6","pid":"2830187","message":" 16:16:59.474327 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:16:59.948Z","priority":"6","pid":"2830187","message":" 16:16:59.474999 ====> Client connect"}

data: {"time":"2026-09-19T16:16:59.948Z","priority":"6","pid":"2830187","message":" 16:16:59.476577 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:16:59.949Z","priority":"6","pid":"2830187","message":" 16:16:59.476603 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:16:59.949Z","priority":"6","pid":"2830187","message":" 16:16:59.476622 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:16:59.950Z","priority":"6","pid":"2830187","message":" 16:16:59.476674 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:16:59.950Z","priority":"6","pid":"2830187","message":" 16:16:59.476693 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:16:59.951Z","priority":"6","pid":"2830187","message":" 16:16:59.477068 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:16:59.951Z","priority":"6","pid":"2830187","message":" 16:16:59.477091 quits"}

data: {"time":"2026-09-19T16:16:59.951Z","priority":"6","pid":"2830187","message":" 16:16:59.477216 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:16:59.952Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:16:59.952Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.952Z","priority":"6","pid":"2830187","message":" STOR 552 disk full"}

data: {"time":"2026-09-19T16:16:59.953Z","priority":"6","pid":"2830187","message":" Testnum 348"}

data: {"time":"2026-09-19T16:16:59.953Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:16:59.953Z","priority":"6","pid":"2830187","message":"=== Start of file test348.txt"}

data: {"time":"2026-09-19T16:16:59.953Z","priority":"6","pid":"2830187","message":" data"}

data: {"time":"2026-09-19T16:16:59.954Z","priority":"6","pid":"2830187","message":"     to"}

data: {"time":"2026-09-19T16:16:59.954Z","priority":"6","pid":"2830187","message":"       see"}

data: {"time":"2026-09-19T16:16:59.955Z","priority":"6","pid":"2830187","message":" that FTP"}

data: {"time":"2026-09-19T16:16:59.955Z","priority":"6","pid":"2830187","message":" works"}

data: {"time":"2026-09-19T16:16:59.955Z","priority":"6","pid":"2830187","message":"   so does it?"}

data: {"time":"2026-09-19T16:16:59.955Z","priority":"6","pid":"2830187","message":"=== End of file test348.txt"}

data: {"time":"2026-09-19T16:16:59.955Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind348"}

data: {"time":"2026-09-19T16:16:59.955Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:16:59.955Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:16:59.956Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:16:59.956Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.956Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:16:59.957Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:16:59.957Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.958Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:16:59.958Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:16:59.959Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.959Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:16:59.960Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:16:59.961Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:16:59.961Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:16:59.961Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:16:59.962Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:16:59.962Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:16:59.962Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.962Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:16:59.963Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:16:59.963Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.963Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:16:59.964Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:16:59.965Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:16:59.965Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:16:59.965Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:16:59.965Z","priority":"6","pid":"2830187","message":"=== End of file valgrind348"}

data: {"time":"2026-09-19T16:16:59.966Z","priority":"6","pid":"2830187","message":"test 0349 [HTTP GET --fail-with-body on HTTP error return]"}

data: {"time":"2026-09-19T16:16:59.967Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind349 ../src/curl -q --output log/curl349.out  --include --trace-ascii log/trace349 --trace-time http://127.0.0.1:36137/349 --fail-with-body > log/stdout349 2> log/stderr349"}

data: {"time":"2026-09-19T16:16:59.968Z","priority":"6","pid":"2830187","message":" 349: protocol FAILED!"}

data: {"time":"2026-09-19T16:16:59.968Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:16:59.969Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:16:59.969Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 349"}

data: {"time":"2026-09-19T16:16:59.969Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:16:59.971Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind349 ../src/curl -q --output log/curl349.out  --include --trace-ascii log/trace349 --trace-time http://127.0.0.1:36137/349 --fail-with-body > log/stdout349 2> log/stderr349"}

data: {"time":"2026-09-19T16:16:59.972Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:16:59.972Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:16:59.972Z","priority":"6","pid":"2830187","message":" 16:16:59.793777 ====> Client connect"}

data: {"time":"2026-09-19T16:16:59.973Z","priority":"6","pid":"2830187","message":" 16:16:59.793816 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:00.277Z","priority":"6","pid":"2830187","message":" 16:16:59.793968 Read CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind350 ../src/curl -q --output log/curl350.out  --include --trace-ascii log/trace350 --trace-time ftp://127.0.0.1:40021// --ftp-method multicwd > log/stdout350 2> log/stderr350"}

data: {"time":"2026-09-19T16:17:00.282Z","priority":"6","pid":"2830187","message":"93 bytes"}

data: {"time":"2026-09-19T16:17:00.283Z","priority":"6","pid":"2830187","message":" 16:16:59.793982 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:00.283Z","priority":"6","pid":"2830187","message":" 16:16:59.793995 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:00.284Z","priority":"6","pid":"2830187","message":" 16:16:59.794002 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:00.285Z","priority":"6","pid":"2830187","message":" 16:16:59.794033 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:00.286Z","priority":"6","pid":"2830187","message":" 16:16:59.794051 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:00.286Z","priority":"6","pid":"2830187","message":" 16:16:59.794097 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:00.287Z","priority":"6","pid":"2830187","message":" 16:16:59.794106 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:00.287Z","priority":"6","pid":"2830187","message":" 16:16:59.794113 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:00.288Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:00.289Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:00.289Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:00.289Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57750"}

data: {"time":"2026-09-19T16:17:00.290Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:00.291Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:00.291Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:00.291Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:00.291Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:00.291Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:00.291Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:00.291Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:00.292Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:00.293Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:00.294Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:00.294Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:00.295Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:00.295Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:00.296Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:00.298Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:00.300Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:00.300Z","priority":"6","pid":"2830187","message":" Testnum 349"}

data: {"time":"2026-09-19T16:17:00.300Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:00.301Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:00.301Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:00.301Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:00.301Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:00.302Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:00.303Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind349"}

data: {"time":"2026-09-19T16:17:00.304Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:00.305Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:00.305Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:00.308Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.309Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:00.309Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:00.309Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:00.309Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:00.310Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:00.311Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.312Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:00.313Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:00.314Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:00.316Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:00.316Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:00.318Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:00.318Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:00.318Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.319Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:00.320Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:00.320Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.321Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:00.323Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:00.323Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:00.323Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.325Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:00.326Z","priority":"6","pid":"2830187","message":"=== End of file valgrind349"}

data: {"time":"2026-09-19T16:17:00.326Z","priority":"6","pid":"2830187","message":"test 0350 [FTP root dir list multicwd]"}

data: {"time":"2026-09-19T16:17:00.328Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind350 ../src/curl -q --output log/curl350.out  --include --trace-ascii log/trace350 --trace-time ftp://127.0.0.1:40021// --ftp-method multicwd > log/stdout350 2> log/stderr350"}

data: {"time":"2026-09-19T16:17:00.329Z","priority":"6","pid":"2830187","message":" 350: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:00.330Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:00.330Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:00.331Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 350"}

data: {"time":"2026-09-19T16:17:00.331Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:00.333Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind350 ../src/curl -q --output log/curl350.out  --include --trace-ascii log/trace350 --trace-time ftp://127.0.0.1:40021// --ftp-method multicwd > log/stdout350 2> log/stderr350"}

data: {"time":"2026-09-19T16:17:00.334Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:00.334Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:00.334Z","priority":"6","pid":"2830187","message":" 16:17:00.016782 ====> Client connect"}

data: {"time":"2026-09-19T16:17:00.335Z","priority":"6","pid":"2830187","message":" 16:17:00.017142 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.335Z","priority":"6","pid":"2830187","message":" 16:17:00.017815 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:17:00.336Z","priority":"6","pid":"2830187","message":" 16:17:00.018111 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.336Z","priority":"6","pid":"2830187","message":" 16:17:00.018653 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:17:00.337Z","priority":"6","pid":"2830187","message":" 16:17:00.018719 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.337Z","priority":"6","pid":"2830187","message":" 16:17:00.019037 < \"PWD\""}

data: {"time":"2026-09-19T16:17:00.339Z","priority":"6","pid":"2830187","message":" 16:17:00.019103 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.339Z","priority":"6","pid":"2830187","message":" 16:17:00.019429 < \"EPSV\""}

data: {"time":"2026-09-19T16:17:00.339Z","priority":"6","pid":"2830187","message":" 16:17:00.019507 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:17:00.339Z","priority":"6","pid":"2830187","message":" 16:17:00.019531 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:17:00.340Z","priority":"6","pid":"2830187","message":" 16:17:00.023875 DATA sockfilt for passive data channel started (pid 98902)"}

data: {"time":"2026-09-19T16:17:00.340Z","priority":"6","pid":"2830187","message":" 16:17:00.024240 DATA sockfilt for passive data channel listens on port 38437"}

data: {"time":"2026-09-19T16:17:00.341Z","priority":"6","pid":"2830187","message":" 16:17:00.024502 > \"229 Entering Passive Mode (|||38437|)[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.341Z","priority":"6","pid":"2830187","message":" 16:17:00.024555 Client has been notified that upcoming DATA connection is awaited on port 38437"}

data: {"time":"2026-09-19T16:17:00.341Z","priority":"6","pid":"2830187","message":" 16:17:00.025084 Client connects to port 38437"}

data: {"time":"2026-09-19T16:17:00.342Z","priority":"6","pid":"2830187","message":" 16:17:00.025154 ====> Client established passive DATA connection on port 38437"}

data: {"time":"2026-09-19T16:17:00.342Z","priority":"6","pid":"2830187","message":" 16:17:00.025577 < \"TYPE I\""}

data: {"time":"2026-09-19T16:17:00.343Z","priority":"6","pid":"2830187","message":" 16:17:00.025673 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.344Z","priority":"6","pid":"2830187","message":" 16:17:00.026081 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:17:00.344Z","priority":"6","pid":"2830187","message":" 16:17:00.026193 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.344Z","priority":"6","pid":"2830187","message":" 16:17:00.026492 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:17:00.344Z","priority":"6","pid":"2830187","message":" 16:17:00.026553 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.344Z","priority":"6","pid":"2830187","message":" 16:17:00.026825 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:17:00.345Z","priority":"6","pid":"2830187","message":" 16:17:00.026860 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:17:00.345Z","priority":"6","pid":"2830187","message":" 16:17:00.027285 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:17:00.346Z","priority":"6","pid":"2830187","message":" 16:17:00.027380 DATA sockfilt for passive data channel quits (pid 98902)"}

data: {"time":"2026-09-19T16:17:00.346Z","priority":"6","pid":"2830187","message":" 16:17:00.027973 DATA sockfilt for passive data channel quit (pid 98902)"}

data: {"time":"2026-09-19T16:17:00.347Z","priority":"6","pid":"2830187","message":" 16:17:00.028032 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:17:00.349Z","priority":"6","pid":"2830187","message":" 16:17:00.028095 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.349Z","priority":"6","pid":"2830187","message":" 16:17:00.068382 < \"QUIT\""}

data: {"time":"2026-09-19T16:17:00.350Z","priority":"6","pid":"2830187","message":" 16:17:00.068630 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.351Z","priority":"6","pid":"2830187","message":" 16:17:00.069455 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:17:00.351Z","priority":"6","pid":"2830187","message":" 16:17:00.069586 ====> Client disconnected"}

data: {"time":"2026-09-19T16:17:00.352Z","priority":"6","pid":"2830187","message":" 16:17:00.069720 Awaiting input"}

data: {"time":"2026-09-19T16:17:00.352Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:00.353Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:00.353Z","priority":"6","pid":"2830187","message":" 16:17:00.085073 ====> Client connect"}

data: {"time":"2026-09-19T16:17:00.353Z","priority":"6","pid":"2830187","message":" 16:17:00.085802 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.353Z","priority":"6","pid":"2830187","message":" 16:17:00.085871 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.354Z","priority":"6","pid":"2830187","message":" 16:17:00.085890 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:17:00.354Z","priority":"6","pid":"2830187","message":" 16:17:00.085904 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.355Z","priority":"6","pid":"2830187","message":" 16:17:00.085916 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.355Z","priority":"6","pid":"2830187","message":" 16:17:00.086073 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.355Z","priority":"6","pid":"2830187","message":" 16:17:00.086092 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.355Z","priority":"6","pid":"2830187","message":" 16:17:00.086381 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.356Z","priority":"6","pid":"2830187","message":" 16:17:00.086405 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.356Z","priority":"6","pid":"2830187","message":" 16:17:00.086435 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.356Z","priority":"6","pid":"2830187","message":" 16:17:00.086536 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.357Z","priority":"6","pid":"2830187","message":" 16:17:00.086556 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.357Z","priority":"6","pid":"2830187","message":" 16:17:00.087253 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.358Z","priority":"6","pid":"2830187","message":" 16:17:00.087277 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.358Z","priority":"6","pid":"2830187","message":" 16:17:00.087294 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.358Z","priority":"6","pid":"2830187","message":" 16:17:00.087397 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.359Z","priority":"6","pid":"2830187","message":" 16:17:00.087417 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.360Z","priority":"6","pid":"2830187","message":" 16:17:00.087632 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.360Z","priority":"6","pid":"2830187","message":" 16:17:00.087650 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.360Z","priority":"6","pid":"2830187","message":" 16:17:00.087663 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.361Z","priority":"6","pid":"2830187","message":" 16:17:00.087784 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.361Z","priority":"6","pid":"2830187","message":" 16:17:00.087805 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.361Z","priority":"6","pid":"2830187","message":" 16:17:00.092865 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.362Z","priority":"6","pid":"2830187","message":" 16:17:00.092900 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.362Z","priority":"6","pid":"2830187","message":" 16:17:00.093092 '229 Entering Passive Mode (|||38437|)\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.363Z","priority":"6","pid":"2830187","message":" 16:17:00.093858 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.364Z","priority":"6","pid":"2830187","message":" 16:17:00.093889 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.364Z","priority":"6","pid":"2830187","message":" 16:17:00.094211 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.364Z","priority":"6","pid":"2830187","message":" 16:17:00.094237 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.366Z","priority":"6","pid":"2830187","message":" 16:17:00.094251 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.366Z","priority":"6","pid":"2830187","message":" 16:17:00.094395 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.366Z","priority":"6","pid":"2830187","message":" 16:17:00.094422 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.366Z","priority":"6","pid":"2830187","message":" 16:17:00.094725 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.367Z","priority":"6","pid":"2830187","message":" 16:17:00.094744 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.367Z","priority":"6","pid":"2830187","message":" 16:17:00.094755 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.368Z","priority":"6","pid":"2830187","message":" 16:17:00.094858 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.368Z","priority":"6","pid":"2830187","message":" 16:17:00.094878 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.369Z","priority":"6","pid":"2830187","message":" 16:17:00.095135 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.369Z","priority":"6","pid":"2830187","message":" 16:17:00.095151 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.370Z","priority":"6","pid":"2830187","message":" 16:17:00.095164 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.370Z","priority":"6","pid":"2830187","message":" 16:17:00.096632 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.371Z","priority":"6","pid":"2830187","message":" 16:17:00.096669 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.372Z","priority":"6","pid":"2830187","message":" 16:17:00.096683 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.372Z","priority":"6","pid":"2830187","message":" 16:17:00.136567 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.372Z","priority":"6","pid":"2830187","message":" 16:17:00.136657 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.373Z","priority":"6","pid":"2830187","message":" 16:17:00.136986 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.373Z","priority":"6","pid":"2830187","message":" 16:17:00.137017 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.374Z","priority":"6","pid":"2830187","message":" 16:17:00.137044 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.374Z","priority":"6","pid":"2830187","message":" 16:17:00.137863 ====> Client disconnect"}

data: {"time":"2026-09-19T16:17:00.375Z","priority":"6","pid":"2830187","message":" 16:17:00.137995 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:17:00.375Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:00.708Z","priority":"6","pid":"2830187","message":"=== StartCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind351 ../src/curl -q --output log/curl351.out  --include --trace-ascii log/trace351 --trace-time ftp://127.0.0.1:40021// --ftp-method nocwd > log/stdout351 2> log/stderr351"}

data: {"time":"2026-09-19T16:17:00.713Z","priority":"6","pid":"2830187","message":" of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:00.713Z","priority":"6","pid":"2830187","message":" 16:17:00.091950 Running IPv4 version"}

data: {"time":"2026-09-19T16:17:00.713Z","priority":"6","pid":"2830187","message":" 16:17:00.092167 Listening on port 38437"}

data: {"time":"2026-09-19T16:17:00.713Z","priority":"6","pid":"2830187","message":" 16:17:00.092229 Wrote pid 98902 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:17:00.714Z","priority":"6","pid":"2830187","message":" 16:17:00.092265 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:17:00.714Z","priority":"6","pid":"2830187","message":" 16:17:00.092571 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:17:00.714Z","priority":"6","pid":"2830187","message":" 16:17:00.093498 ====> Client connect"}

data: {"time":"2026-09-19T16:17:00.714Z","priority":"6","pid":"2830187","message":" 16:17:00.095089 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.715Z","priority":"6","pid":"2830187","message":" 16:17:00.095116 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.715Z","priority":"6","pid":"2830187","message":" 16:17:00.095458 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.715Z","priority":"6","pid":"2830187","message":" 16:17:00.095543 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:17:00.716Z","priority":"6","pid":"2830187","message":" 16:17:00.095566 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:17:00.716Z","priority":"6","pid":"2830187","message":" 16:17:00.095934 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:17:00.716Z","priority":"6","pid":"2830187","message":" 16:17:00.095957 quits"}

data: {"time":"2026-09-19T16:17:00.717Z","priority":"6","pid":"2830187","message":" 16:17:00.096085 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:17:00.717Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:00.717Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:00.717Z","priority":"6","pid":"2830187","message":" Testnum 350"}

data: {"time":"2026-09-19T16:17:00.718Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:00.718Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind350"}

data: {"time":"2026-09-19T16:17:00.718Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:00.719Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:00.719Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:00.720Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.720Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:00.720Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:00.720Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:00.720Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:00.721Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:00.721Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.721Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:00.722Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:00.722Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:00.723Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:00.723Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:00.724Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:00.725Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:00.725Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.725Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:00.725Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:00.725Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.726Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:00.727Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:00.727Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:00.727Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:00.727Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:00.727Z","priority":"6","pid":"2830187","message":"=== End of file valgrind350"}

data: {"time":"2026-09-19T16:17:00.728Z","priority":"6","pid":"2830187","message":"test 0351 [FTP root dir list nocwd]"}

data: {"time":"2026-09-19T16:17:00.729Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind351 ../src/curl -q --output log/curl351.out  --include --trace-ascii log/trace351 --trace-time ftp://127.0.0.1:40021// --ftp-method nocwd > log/stdout351 2> log/stderr351"}

data: {"time":"2026-09-19T16:17:00.730Z","priority":"6","pid":"2830187","message":" 351: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:00.730Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:00.730Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:00.730Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 351"}

data: {"time":"2026-09-19T16:17:00.730Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:00.732Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind351 ../src/curl -q --output log/curl351.out  --include --trace-ascii log/trace351 --trace-time ftp://127.0.0.1:40021// --ftp-method nocwd > log/stdout351 2> log/stderr351"}

data: {"time":"2026-09-19T16:17:00.732Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:00.732Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:00.733Z","priority":"6","pid":"2830187","message":" 16:17:00.424385 ====> Client connect"}

data: {"time":"2026-09-19T16:17:00.734Z","priority":"6","pid":"2830187","message":" 16:17:00.424954 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.734Z","priority":"6","pid":"2830187","message":" 16:17:00.425889 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:17:00.735Z","priority":"6","pid":"2830187","message":" 16:17:00.426102 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.735Z","priority":"6","pid":"2830187","message":" 16:17:00.426426 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:17:00.736Z","priority":"6","pid":"2830187","message":" 16:17:00.426486 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.736Z","priority":"6","pid":"2830187","message":" 16:17:00.426777 < \"PWD\""}

data: {"time":"2026-09-19T16:17:00.736Z","priority":"6","pid":"2830187","message":" 16:17:00.426836 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.737Z","priority":"6","pid":"2830187","message":" 16:17:00.427179 < \"EPSV\""}

data: {"time":"2026-09-19T16:17:00.737Z","priority":"6","pid":"2830187","message":" 16:17:00.427227 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:17:00.738Z","priority":"6","pid":"2830187","message":" 16:17:00.427256 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:17:00.738Z","priority":"6","pid":"2830187","message":" 16:17:00.430944 DATA sockfilt for passive data channel started (pid 98968)"}

data: {"time":"2026-09-19T16:17:00.739Z","priority":"6","pid":"2830187","message":" 16:17:00.431250 DATA sockfilt for passive data channel listens on port 44449"}

data: {"time":"2026-09-19T16:17:00.739Z","priority":"6","pid":"2830187","message":" 16:17:00.431408 > \"229 Entering Passive Mode (|||44449|)[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.740Z","priority":"6","pid":"2830187","message":" 16:17:00.431444 Client has been notified that upcoming DATA connection is awaited on port 44449"}

data: {"time":"2026-09-19T16:17:00.740Z","priority":"6","pid":"2830187","message":" 16:17:00.433423 Client connects to port 44449"}

data: {"time":"2026-09-19T16:17:00.741Z","priority":"6","pid":"2830187","message":" 16:17:00.433520 ====> Client established passive DATA connection on port 44449"}

data: {"time":"2026-09-19T16:17:00.741Z","priority":"6","pid":"2830187","message":" 16:17:00.433700 < \"TYPE I\""}

data: {"time":"2026-09-19T16:17:00.741Z","priority":"6","pid":"2830187","message":" 16:17:00.434027 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.742Z","priority":"6","pid":"2830187","message":" 16:17:00.434181 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:17:00.742Z","priority":"6","pid":"2830187","message":" 16:17:00.434250 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.742Z","priority":"6","pid":"2830187","message":" 16:17:00.434631 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:17:00.743Z","priority":"6","pid":"2830187","message":" 16:17:00.434768 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.743Z","priority":"6","pid":"2830187","message":" 16:17:00.435126 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:17:00.743Z","priority":"6","pid":"2830187","message":" 16:17:00.435190 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:17:00.744Z","priority":"6","pid":"2830187","message":" 16:17:00.435545 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:17:00.744Z","priority":"6","pid":"2830187","message":" 16:17:00.435596 DATA sockfilt for passive data channel quits (pid 98968)"}

data: {"time":"2026-09-19T16:17:00.745Z","priority":"6","pid":"2830187","message":" 16:17:00.436221 DATA sockfilt for passive data channel quit (pid 98968)"}

data: {"time":"2026-09-19T16:17:00.745Z","priority":"6","pid":"2830187","message":" 16:17:00.436274 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:17:00.746Z","priority":"6","pid":"2830187","message":" 16:17:00.436369 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.746Z","priority":"6","pid":"2830187","message":" 16:17:00.476546 < \"QUIT\""}

data: {"time":"2026-09-19T16:17:00.746Z","priority":"6","pid":"2830187","message":" 16:17:00.476666 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:17:00.746Z","priority":"6","pid":"2830187","message":" 16:17:00.477504 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:17:00.746Z","priority":"6","pid":"2830187","message":" 16:17:00.477891 ====> Client disconnected"}

data: {"time":"2026-09-19T16:17:00.747Z","priority":"6","pid":"2830187","message":" 16:17:00.478050 Awaiting input"}

data: {"time":"2026-09-19T16:17:00.747Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:00.747Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:00.748Z","priority":"6","pid":"2830187","message":" 16:17:00.492468 ====> Client connect"}

data: {"time":"2026-09-19T16:17:00.748Z","priority":"6","pid":"2830187","message":" 16:17:00.493639 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.748Z","priority":"6","pid":"2830187","message":" 16:17:00.493707 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.749Z","priority":"6","pid":"2830187","message":" 16:17:00.493725 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:17:00.749Z","priority":"6","pid":"2830187","message":" 16:17:00.493737 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.750Z","priority":"6","pid":"2830187","message":" 16:17:00.493748 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.750Z","priority":"6","pid":"2830187","message":" 16:17:00.494082 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.750Z","priority":"6","pid":"2830187","message":" 16:17:00.494109 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.751Z","priority":"6","pid":"2830187","message":" 16:17:00.494446 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.751Z","priority":"6","pid":"2830187","message":" 16:17:00.494528 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.751Z","priority":"6","pid":"2830187","message":" 16:17:00.494621 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.752Z","priority":"6","pid":"2830187","message":" 16:17:00.494718 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.752Z","priority":"6","pid":"2830187","message":" 16:17:00.494748 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.752Z","priority":"6","pid":"2830187","message":" 16:17:00.494992 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.753Z","priority":"6","pid":"2830187","message":" 16:17:00.495010 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.753Z","priority":"6","pid":"2830187","message":" 16:17:00.495023 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.753Z","priority":"6","pid":"2830187","message":" 16:17:00.495105 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.753Z","priority":"6","pid":"2830187","message":" 16:17:00.495119 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.754Z","priority":"6","pid":"2830187","message":" 16:17:00.495351 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.754Z","priority":"6","pid":"2830187","message":" 16:17:00.495374 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.754Z","priority":"6","pid":"2830187","message":" 16:17:00.495389 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.755Z","priority":"6","pid":"2830187","message":" 16:17:00.495524 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.755Z","priority":"6","pid":"2830187","message":" 16:17:00.495547 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.755Z","priority":"6","pid":"2830187","message":" 16:17:00.499966 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.756Z","priority":"6","pid":"2830187","message":" 16:17:00.499997 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.756Z","priority":"6","pid":"2830187","message":" 16:17:00.500012 '229 Entering Passive Mode (|||44449|)\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.757Z","priority":"6","pid":"2830187","message":" 16:17:00.501591 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.757Z","priority":"6","pid":"2830187","message":" 16:17:00.501644 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.757Z","priority":"6","pid":"2830187","message":" 16:17:00.502231 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.758Z","priority":"6","pid":"2830187","message":" 16:17:00.502259 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.758Z","priority":"6","pid":"2830187","message":" 16:17:00.502285 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.758Z","priority":"6","pid":"2830187","message":" 16:17:00.502422 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.759Z","priority":"6","pid":"2830187","message":" 16:17:00.502446 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.759Z","priority":"6","pid":"2830187","message":" 16:17:00.502821 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.759Z","priority":"6","pid":"2830187","message":" 16:17:00.502850 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.760Z","priority":"6","pid":"2830187","message":" 16:17:00.502865 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.760Z","priority":"6","pid":"2830187","message":" 16:17:00.502958 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.760Z","priority":"6","pid":"2830187","message":" 16:17:00.502975 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.761Z","priority":"6","pid":"2830187","message":" 16:17:00.503180 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.761Z","priority":"6","pid":"2830187","message":" 16:17:00.503205 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.762Z","priority":"6","pid":"2830187","message":" 16:17:00.503358 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.762Z","priority":"6","pid":"2830187","message":" 16:17:00.504883 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.762Z","priority":"6","pid":"2830187","message":" 16:17:00.504907 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.763Z","priority":"6","pid":"2830187","message":" 16:17:00.504923 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.763Z","priority":"6","pid":"2830187","message":" 16:17:00.544303 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:00.763Z","priority":"6","pid":"2830187","message":" 16:17:00.544457 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.764Z","priority":"6","pid":"2830187","message":" 16:17:00.545228 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.765Z","priority":"6","pid":"2830187","message":" 16:17:00.545268 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.765Z","priority":"6","pid":"2830187","message":" 16:17:00.545284 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.765Z","priority":"6","pid":"2830187","message":" 16:17:00.545882 ====> Client disconnect"}

data: {"time":"2026-09-19T16:17:00.765Z","priority":"6","pid":"2830187","message":" 16:17:00.546572 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:17:00.766Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:00.766Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:00.766Z","priority":"6","pid":"2830187","message":" 16:17:00.499060 Running IPv4 version"}

data: {"time":"2026-09-19T16:17:00.767Z","priority":"6","pid":"2830187","message":" 16:17:00.499234 Listening on port 44449"}

data: {"time":"2026-09-19T16:17:00.767Z","priority":"6","pid":"2830187","message":" 16:17:00.499293 Wrote pid 98968 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:17:00.768Z","priority":"6","pid":"2830187","message":" 16:17:00.499350 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:17:00.768Z","priority":"6","pid":"2830187","message":" 16:17:00.499513 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:17:00.769Z","priority":"6","pid":"2830187","message":" 16:17:00.501699 ====> Client connect"}

data: {"time":"2026-09-19T16:17:00.770Z","priority":"6","pid":"2830187","message":" 16:17:00.503300 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:00.770Z","priority":"6","pid":"2830187","message":" 16:17:00.503336 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:00.770Z","priority":"6","pid":"2830187","message":" 16:17:00.503720 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:17:00.770Z","priority":"6","pid":"2830187","message":" 16:17:00.503791 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:17:01.062Z","priority":"6","pid":"2830187","message":" 16:17:00.503826 ====> Client forcCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind352 ../src/curl -q --output log/curl352.out  --include --trace-ascii log/trace352 --trace-time ftp://127.0.0.1:40021// --ftp-method singlecwd > log/stdout352 2> log/stderr352"}

data: {"time":"2026-09-19T16:17:01.079Z","priority":"6","pid":"2830187","message":"ibly disconnected"}

data: {"time":"2026-09-19T16:17:01.080Z","priority":"6","pid":"2830187","message":" 16:17:00.504102 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:17:01.080Z","priority":"6","pid":"2830187","message":" 16:17:00.504122 quits"}

data: {"time":"2026-09-19T16:17:01.080Z","priority":"6","pid":"2830187","message":" 16:17:00.504250 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:17:01.080Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:01.080Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:01.081Z","priority":"6","pid":"2830187","message":" Testnum 351"}

data: {"time":"2026-09-19T16:17:01.081Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:01.081Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind351"}

data: {"time":"2026-09-19T16:17:01.082Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:01.082Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:01.083Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:01.083Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.084Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:01.084Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:01.084Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:01.085Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:01.086Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:01.086Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.087Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:01.088Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:01.088Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:01.088Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:01.088Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:01.089Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:01.089Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:01.090Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.090Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:01.091Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:01.091Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.091Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:01.092Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:01.092Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:01.092Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.093Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:01.093Z","priority":"6","pid":"2830187","message":"=== End of file valgrind351"}

data: {"time":"2026-09-19T16:17:01.093Z","priority":"6","pid":"2830187","message":"test 0352 [FTP root dir list singlecwd]"}

data: {"time":"2026-09-19T16:17:01.096Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind352 ../src/curl -q --output log/curl352.out  --include --trace-ascii log/trace352 --trace-time ftp://127.0.0.1:40021// --ftp-method singlecwd > log/stdout352 2> log/stderr352"}

data: {"time":"2026-09-19T16:17:01.096Z","priority":"6","pid":"2830187","message":" 352: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:01.096Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:01.096Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:01.096Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 352"}

data: {"time":"2026-09-19T16:17:01.097Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:01.098Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind352 ../src/curl -q --output log/curl352.out  --include --trace-ascii log/trace352 --trace-time ftp://127.0.0.1:40021// --ftp-method singlecwd > log/stdout352 2> log/stderr352"}

data: {"time":"2026-09-19T16:17:01.098Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:01.099Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:01.099Z","priority":"6","pid":"2830187","message":" 16:17:00.816252 ====> Client connect"}

data: {"time":"2026-09-19T16:17:01.100Z","priority":"6","pid":"2830187","message":" 16:17:00.816648 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.101Z","priority":"6","pid":"2830187","message":" 16:17:00.817169 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:17:01.101Z","priority":"6","pid":"2830187","message":" 16:17:00.817240 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.101Z","priority":"6","pid":"2830187","message":" 16:17:00.817632 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:17:01.101Z","priority":"6","pid":"2830187","message":" 16:17:00.817716 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.102Z","priority":"6","pid":"2830187","message":" 16:17:00.817993 < \"PWD\""}

data: {"time":"2026-09-19T16:17:01.102Z","priority":"6","pid":"2830187","message":" 16:17:00.818056 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.103Z","priority":"6","pid":"2830187","message":" 16:17:00.818295 < \"EPSV\""}

data: {"time":"2026-09-19T16:17:01.103Z","priority":"6","pid":"2830187","message":" 16:17:00.818359 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:17:01.103Z","priority":"6","pid":"2830187","message":" 16:17:00.818380 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:17:01.104Z","priority":"6","pid":"2830187","message":" 16:17:00.821700 DATA sockfilt for passive data channel started (pid 99034)"}

data: {"time":"2026-09-19T16:17:01.104Z","priority":"6","pid":"2830187","message":" 16:17:00.821909 DATA sockfilt for passive data channel listens on port 46183"}

data: {"time":"2026-09-19T16:17:01.105Z","priority":"6","pid":"2830187","message":" 16:17:00.821991 > \"229 Entering Passive Mode (|||46183|)[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.106Z","priority":"6","pid":"2830187","message":" 16:17:00.822025 Client has been notified that upcoming DATA connection is awaited on port 46183"}

data: {"time":"2026-09-19T16:17:01.106Z","priority":"6","pid":"2830187","message":" 16:17:00.822647 Client connects to port 46183"}

data: {"time":"2026-09-19T16:17:01.107Z","priority":"6","pid":"2830187","message":" 16:17:00.822710 ====> Client established passive DATA connection on port 46183"}

data: {"time":"2026-09-19T16:17:01.107Z","priority":"6","pid":"2830187","message":" 16:17:00.822862 < \"TYPE I\""}

data: {"time":"2026-09-19T16:17:01.108Z","priority":"6","pid":"2830187","message":" 16:17:00.822921 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.109Z","priority":"6","pid":"2830187","message":" 16:17:00.823221 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:17:01.109Z","priority":"6","pid":"2830187","message":" 16:17:00.823434 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.109Z","priority":"6","pid":"2830187","message":" 16:17:00.823641 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:17:01.110Z","priority":"6","pid":"2830187","message":" 16:17:00.823715 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.110Z","priority":"6","pid":"2830187","message":" 16:17:00.824450 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:17:01.111Z","priority":"6","pid":"2830187","message":" 16:17:00.824483 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:17:01.111Z","priority":"6","pid":"2830187","message":" 16:17:00.824888 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:17:01.112Z","priority":"6","pid":"2830187","message":" 16:17:00.824943 DATA sockfilt for passive data channel quits (pid 99034)"}

data: {"time":"2026-09-19T16:17:01.112Z","priority":"6","pid":"2830187","message":" 16:17:00.825479 DATA sockfilt for passive data channel quit (pid 99034)"}

data: {"time":"2026-09-19T16:17:01.113Z","priority":"6","pid":"2830187","message":" 16:17:00.825530 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:17:01.113Z","priority":"6","pid":"2830187","message":" 16:17:00.825591 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.114Z","priority":"6","pid":"2830187","message":" 16:17:00.865176 < \"QUIT\""}

data: {"time":"2026-09-19T16:17:01.114Z","priority":"6","pid":"2830187","message":" 16:17:00.865288 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.114Z","priority":"6","pid":"2830187","message":" 16:17:00.866425 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:17:01.115Z","priority":"6","pid":"2830187","message":" 16:17:00.866640 ====> Client disconnected"}

data: {"time":"2026-09-19T16:17:01.115Z","priority":"6","pid":"2830187","message":" 16:17:00.866820 Awaiting input"}

data: {"time":"2026-09-19T16:17:01.116Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:01.116Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:01.116Z","priority":"6","pid":"2830187","message":" 16:17:00.884408 ====> Client connect"}

data: {"time":"2026-09-19T16:17:01.117Z","priority":"6","pid":"2830187","message":" 16:17:00.885163 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.118Z","priority":"6","pid":"2830187","message":" 16:17:00.885192 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.118Z","priority":"6","pid":"2830187","message":" 16:17:00.885209 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:17:01.118Z","priority":"6","pid":"2830187","message":" 16:17:00.885224 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.119Z","priority":"6","pid":"2830187","message":" 16:17:00.885236 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.119Z","priority":"6","pid":"2830187","message":" 16:17:00.885383 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.120Z","priority":"6","pid":"2830187","message":" 16:17:00.885409 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.120Z","priority":"6","pid":"2830187","message":" 16:17:00.885734 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.120Z","priority":"6","pid":"2830187","message":" 16:17:00.885752 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.121Z","priority":"6","pid":"2830187","message":" 16:17:00.885766 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.121Z","priority":"6","pid":"2830187","message":" 16:17:00.885977 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.122Z","priority":"6","pid":"2830187","message":" 16:17:00.886004 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.122Z","priority":"6","pid":"2830187","message":" 16:17:00.886127 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.123Z","priority":"6","pid":"2830187","message":" 16:17:00.886141 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.123Z","priority":"6","pid":"2830187","message":" 16:17:00.886202 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.123Z","priority":"6","pid":"2830187","message":" 16:17:00.886362 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.124Z","priority":"6","pid":"2830187","message":" 16:17:00.886379 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.124Z","priority":"6","pid":"2830187","message":" 16:17:00.886535 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.125Z","priority":"6","pid":"2830187","message":" 16:17:00.886550 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.125Z","priority":"6","pid":"2830187","message":" 16:17:00.886563 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.126Z","priority":"6","pid":"2830187","message":" 16:17:00.886649 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.126Z","priority":"6","pid":"2830187","message":" 16:17:00.886662 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.127Z","priority":"6","pid":"2830187","message":" 16:17:00.890533 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.127Z","priority":"6","pid":"2830187","message":" 16:17:00.890556 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.127Z","priority":"6","pid":"2830187","message":" 16:17:00.890571 '229 Entering Passive Mode (|||46183|)\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.128Z","priority":"6","pid":"2830187","message":" 16:17:00.891024 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.129Z","priority":"6","pid":"2830187","message":" 16:17:00.891052 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.129Z","priority":"6","pid":"2830187","message":" 16:17:00.891429 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.129Z","priority":"6","pid":"2830187","message":" 16:17:00.891448 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.129Z","priority":"6","pid":"2830187","message":" 16:17:00.891462 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.130Z","priority":"6","pid":"2830187","message":" 16:17:00.891554 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.130Z","priority":"6","pid":"2830187","message":" 16:17:00.891571 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.131Z","priority":"6","pid":"2830187","message":" 16:17:00.891728 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.131Z","priority":"6","pid":"2830187","message":" 16:17:00.891742 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.131Z","priority":"6","pid":"2830187","message":" 16:17:00.891761 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.132Z","priority":"6","pid":"2830187","message":" 16:17:00.891960 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.132Z","priority":"6","pid":"2830187","message":" 16:17:00.891985 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.133Z","priority":"6","pid":"2830187","message":" 16:17:00.892187 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.133Z","priority":"6","pid":"2830187","message":" 16:17:00.892208 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.134Z","priority":"6","pid":"2830187","message":" 16:17:00.892225 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.134Z","priority":"6","pid":"2830187","message":" 16:17:00.894102 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.134Z","priority":"6","pid":"2830187","message":" 16:17:00.894128 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.135Z","priority":"6","pid":"2830187","message":" 16:17:00.894145 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.135Z","priority":"6","pid":"2830187","message":" 16:17:00.933289 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.136Z","priority":"6","pid":"2830187","message":" 16:17:00.933373 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.136Z","priority":"6","pid":"2830187","message":" 16:17:00.933861 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.136Z","priority":"6","pid":"2830187","message":" 16:17:00.933895 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.137Z","priority":"6","pid":"2830187","message":" 16:17:00.933909 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.137Z","priority":"6","pid":"2830187","message":" 16:17:00.934733 ====> Client disconnect"}

data: {"time":"2026-09-19T16:17:01.138Z","priority":"6","pid":"2830187","message":" 16:17:00.934976 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:17:01.138Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:01.138Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:01.139Z","priority":"6","pid":"2830187","message":" 16:17:00.889841 Running IPv4 version"}

data: {"time":"2026-09-19T16:17:01.139Z","priority":"6","pid":"2830187","message":" 16:17:00.889981 Listening on port 46183"}

data: {"time":"2026-09-19T16:17:01.139Z","priority":"6","pid":"2830187","message":" 16:17:00.890045 Wrote pid 99034 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:17:01.140Z","priority":"6","pid":"2830187","message":" 16:17:00.890083 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:17:01.140Z","priority":"6","pid":"2830187","message":" 16:17:00.890235 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:17:01.141Z","priority":"6","pid":"2830187","message":" 16:17:00.890881 ====> Client connect"}

data: {"time":"2026-09-19T16:17:01.141Z","priority":"6","pid":"2830187","message":" 16:17:00.892996 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.141Z","priority":"6","pid":"2830187","message":" 16:17:00.893030 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.142Z","priority":"6","pid":"2830187","message":" 16:17:00.893054 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.142Z","priority":"6","pid":"2830187","message":" 16:17:00.893114 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:17:01.143Z","priority":"6","pid":"2830187","message":" 16:17:00.893135 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:17:01.143Z","priority":"6","pid":"2830187","message":" 16:17:00.893433 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:17:01.143Z","priority":"6","pid":"2830187","message":" 16:17:00.893451 quits"}

data: {"time":"2026-09-19T16:17:01.144Z","priority":"6","pid":"2830187","message":" 16:17:00.893572 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:17:01.144Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:01.145Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:01.145Z","priority":"6","pid":"2830187","message":" Testnum 352"}

data: {"time":"2026-09-19T16:17:01.145Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:01.145Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind352"}

data: {"time":"2026-09-19T16:17:01.146Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:01.146Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:01.147Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:01.147Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.484Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirecCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind353 ../src/curl -q --output log/curl353.out  --include --trace-ascii log/trace353 --trace-time ftp://127.0.0.1:40021/ --ftp-method singlecwd > log/stdout353 2> log/stderr353"}

data: {"time":"2026-09-19T16:17:01.506Z","priority":"6","pid":"2830187","message":"ted function"}

data: {"time":"2026-09-19T16:17:01.506Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:01.506Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:01.506Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:01.508Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:01.508Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.508Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:01.509Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:01.509Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:01.510Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:01.510Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:01.511Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:01.511Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:01.511Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.512Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:01.513Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:01.513Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.514Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:01.514Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:01.514Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:01.514Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.515Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:01.515Z","priority":"6","pid":"2830187","message":"=== End of file valgrind352"}

data: {"time":"2026-09-19T16:17:01.515Z","priority":"6","pid":"2830187","message":"test 0353 [FTP home dir list singlecwd]"}

data: {"time":"2026-09-19T16:17:01.517Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind353 ../src/curl -q --output log/curl353.out  --include --trace-ascii log/trace353 --trace-time ftp://127.0.0.1:40021/ --ftp-method singlecwd > log/stdout353 2> log/stderr353"}

data: {"time":"2026-09-19T16:17:01.518Z","priority":"6","pid":"2830187","message":" 353: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:01.518Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:01.519Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:01.519Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 353"}

data: {"time":"2026-09-19T16:17:01.520Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:01.521Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind353 ../src/curl -q --output log/curl353.out  --include --trace-ascii log/trace353 --trace-time ftp://127.0.0.1:40021/ --ftp-method singlecwd > log/stdout353 2> log/stderr353"}

data: {"time":"2026-09-19T16:17:01.522Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:01.522Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:01.523Z","priority":"6","pid":"2830187","message":" 16:17:01.196614 ====> Client connect"}

data: {"time":"2026-09-19T16:17:01.524Z","priority":"6","pid":"2830187","message":" 16:17:01.196918 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.524Z","priority":"6","pid":"2830187","message":" 16:17:01.197992 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:17:01.525Z","priority":"6","pid":"2830187","message":" 16:17:01.198057 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.526Z","priority":"6","pid":"2830187","message":" 16:17:01.198568 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:17:01.526Z","priority":"6","pid":"2830187","message":" 16:17:01.198635 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.527Z","priority":"6","pid":"2830187","message":" 16:17:01.199177 < \"PWD\""}

data: {"time":"2026-09-19T16:17:01.528Z","priority":"6","pid":"2830187","message":" 16:17:01.199293 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.528Z","priority":"6","pid":"2830187","message":" 16:17:01.199688 < \"EPSV\""}

data: {"time":"2026-09-19T16:17:01.529Z","priority":"6","pid":"2830187","message":" 16:17:01.199738 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:17:01.529Z","priority":"6","pid":"2830187","message":" 16:17:01.199761 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:17:01.531Z","priority":"6","pid":"2830187","message":" 16:17:01.203969 DATA sockfilt for passive data channel started (pid 99100)"}

data: {"time":"2026-09-19T16:17:01.531Z","priority":"6","pid":"2830187","message":" 16:17:01.204247 DATA sockfilt for passive data channel listens on port 46159"}

data: {"time":"2026-09-19T16:17:01.532Z","priority":"6","pid":"2830187","message":" 16:17:01.204576 > \"229 Entering Passive Mode (|||46159|)[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.533Z","priority":"6","pid":"2830187","message":" 16:17:01.204629 Client has been notified that upcoming DATA connection is awaited on port 46159"}

data: {"time":"2026-09-19T16:17:01.533Z","priority":"6","pid":"2830187","message":" 16:17:01.205306 Client connects to port 46159"}

data: {"time":"2026-09-19T16:17:01.534Z","priority":"6","pid":"2830187","message":" 16:17:01.205439 ====> Client established passive DATA connection on port 46159"}

data: {"time":"2026-09-19T16:17:01.534Z","priority":"6","pid":"2830187","message":" 16:17:01.205792 < \"TYPE I\""}

data: {"time":"2026-09-19T16:17:01.535Z","priority":"6","pid":"2830187","message":" 16:17:01.205996 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.536Z","priority":"6","pid":"2830187","message":" 16:17:01.206367 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:17:01.536Z","priority":"6","pid":"2830187","message":" 16:17:01.206464 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.537Z","priority":"6","pid":"2830187","message":" 16:17:01.206832 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:17:01.537Z","priority":"6","pid":"2830187","message":" 16:17:01.206912 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.537Z","priority":"6","pid":"2830187","message":" 16:17:01.207074 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:17:01.538Z","priority":"6","pid":"2830187","message":" 16:17:01.207108 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:17:01.539Z","priority":"6","pid":"2830187","message":" 16:17:01.207713 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:17:01.539Z","priority":"6","pid":"2830187","message":" 16:17:01.207770 DATA sockfilt for passive data channel quits (pid 99100)"}

data: {"time":"2026-09-19T16:17:01.540Z","priority":"6","pid":"2830187","message":" 16:17:01.208541 DATA sockfilt for passive data channel quit (pid 99100)"}

data: {"time":"2026-09-19T16:17:01.540Z","priority":"6","pid":"2830187","message":" 16:17:01.208609 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:17:01.540Z","priority":"6","pid":"2830187","message":" 16:17:01.208741 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.541Z","priority":"6","pid":"2830187","message":" 16:17:01.248525 < \"QUIT\""}

data: {"time":"2026-09-19T16:17:01.541Z","priority":"6","pid":"2830187","message":" 16:17:01.248645 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.542Z","priority":"6","pid":"2830187","message":" 16:17:01.250286 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:17:01.542Z","priority":"6","pid":"2830187","message":" 16:17:01.250877 ====> Client disconnected"}

data: {"time":"2026-09-19T16:17:01.542Z","priority":"6","pid":"2830187","message":" 16:17:01.252451 Awaiting input"}

data: {"time":"2026-09-19T16:17:01.543Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:01.543Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:01.543Z","priority":"6","pid":"2830187","message":" 16:17:01.264847 ====> Client connect"}

data: {"time":"2026-09-19T16:17:01.544Z","priority":"6","pid":"2830187","message":" 16:17:01.265559 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.544Z","priority":"6","pid":"2830187","message":" 16:17:01.265610 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.546Z","priority":"6","pid":"2830187","message":" 16:17:01.265628 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:17:01.546Z","priority":"6","pid":"2830187","message":" 16:17:01.265643 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.546Z","priority":"6","pid":"2830187","message":" 16:17:01.265656 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.547Z","priority":"6","pid":"2830187","message":" 16:17:01.266153 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.547Z","priority":"6","pid":"2830187","message":" 16:17:01.266185 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.548Z","priority":"6","pid":"2830187","message":" 16:17:01.266621 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.548Z","priority":"6","pid":"2830187","message":" 16:17:01.266654 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.548Z","priority":"6","pid":"2830187","message":" 16:17:01.266675 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.550Z","priority":"6","pid":"2830187","message":" 16:17:01.266796 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.550Z","priority":"6","pid":"2830187","message":" 16:17:01.266822 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.550Z","priority":"6","pid":"2830187","message":" 16:17:01.267114 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.550Z","priority":"6","pid":"2830187","message":" 16:17:01.267146 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.551Z","priority":"6","pid":"2830187","message":" 16:17:01.267166 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.551Z","priority":"6","pid":"2830187","message":" 16:17:01.267296 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.552Z","priority":"6","pid":"2830187","message":" 16:17:01.267319 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.552Z","priority":"6","pid":"2830187","message":" 16:17:01.267809 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.552Z","priority":"6","pid":"2830187","message":" 16:17:01.267835 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.553Z","priority":"6","pid":"2830187","message":" 16:17:01.267849 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.554Z","priority":"6","pid":"2830187","message":" 16:17:01.268021 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.554Z","priority":"6","pid":"2830187","message":" 16:17:01.268044 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.554Z","priority":"6","pid":"2830187","message":" 16:17:01.272835 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.554Z","priority":"6","pid":"2830187","message":" 16:17:01.272873 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.555Z","priority":"6","pid":"2830187","message":" 16:17:01.272897 '229 Entering Passive Mode (|||46159|)\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.555Z","priority":"6","pid":"2830187","message":" 16:17:01.273977 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.555Z","priority":"6","pid":"2830187","message":" 16:17:01.274005 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.556Z","priority":"6","pid":"2830187","message":" 16:17:01.274307 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.556Z","priority":"6","pid":"2830187","message":" 16:17:01.274336 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.557Z","priority":"6","pid":"2830187","message":" 16:17:01.274363 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.558Z","priority":"6","pid":"2830187","message":" 16:17:01.274644 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.559Z","priority":"6","pid":"2830187","message":" 16:17:01.274680 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.559Z","priority":"6","pid":"2830187","message":" 16:17:01.274946 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.559Z","priority":"6","pid":"2830187","message":" 16:17:01.274971 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.559Z","priority":"6","pid":"2830187","message":" 16:17:01.274983 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.560Z","priority":"6","pid":"2830187","message":" 16:17:01.275123 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.560Z","priority":"6","pid":"2830187","message":" 16:17:01.275148 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.562Z","priority":"6","pid":"2830187","message":" 16:17:01.275586 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.564Z","priority":"6","pid":"2830187","message":" 16:17:01.275611 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.565Z","priority":"6","pid":"2830187","message":" 16:17:01.275625 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.572Z","priority":"6","pid":"2830187","message":" 16:17:01.277095 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.572Z","priority":"6","pid":"2830187","message":" 16:17:01.277115 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.572Z","priority":"6","pid":"2830187","message":" 16:17:01.277139 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.573Z","priority":"6","pid":"2830187","message":" 16:17:01.316311 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.573Z","priority":"6","pid":"2830187","message":" 16:17:01.316513 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.573Z","priority":"6","pid":"2830187","message":" 16:17:01.317158 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.574Z","priority":"6","pid":"2830187","message":" 16:17:01.317204 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.574Z","priority":"6","pid":"2830187","message":" 16:17:01.317220 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.575Z","priority":"6","pid":"2830187","message":" 16:17:01.318596 ====> Client disconnect"}

data: {"time":"2026-09-19T16:17:01.575Z","priority":"6","pid":"2830187","message":" 16:17:01.318860 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:17:01.576Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:01.576Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:01.577Z","priority":"6","pid":"2830187","message":" 16:17:01.271997 Running IPv4 version"}

data: {"time":"2026-09-19T16:17:01.577Z","priority":"6","pid":"2830187","message":" 16:17:01.272183 Listening on port 46159"}

data: {"time":"2026-09-19T16:17:01.578Z","priority":"6","pid":"2830187","message":" 16:17:01.272256 Wrote pid 99100 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:17:01.578Z","priority":"6","pid":"2830187","message":" 16:17:01.272313 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:17:01.579Z","priority":"6","pid":"2830187","message":" 16:17:01.272516 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:17:01.579Z","priority":"6","pid":"2830187","message":" 16:17:01.273534 ====> Client connect"}

data: {"time":"2026-09-19T16:17:01.579Z","priority":"6","pid":"2830187","message":" 16:17:01.275681 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.580Z","priority":"6","pid":"2830187","message":" 16:17:01.275723 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.580Z","priority":"6","pid":"2830187","message":" 16:17:01.275740 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.581Z","priority":"6","pid":"2830187","message":" 16:17:01.275810 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:17:01.581Z","priority":"6","pid":"2830187","message":" 16:17:01.275836 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:17:01.581Z","priority":"6","pid":"2830187","message":" 16:17:01.276258 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:17:01.582Z","priority":"6","pid":"2830187","message":" 16:17:01.276282 quits"}

data: {"time":"2026-09-19T16:17:01.582Z","priority":"6","pid":"2830187","message":" 16:17:01.276581 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:17:01.582Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:01.583Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:01.583Z","priority":"6","pid":"2830187","message":" Testnum 353"}

data: {"time":"2026-09-19T16:17:01.583Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:01.584Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind353"}

data: {"time":"2026-09-19T16:17:01.584Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:01.585Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:01.586Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:01.586Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.586Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:01.587Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:01.587Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:01.587Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:01.588Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:01.588Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.589Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:01.589Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:01.590Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:01.926Z","priority":"6","pid":"2830187","message":" valgrCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind354 ../src/curl -q --output log/curl354.out  --include --trace-ascii log/trace354 --trace-time ftp://127.0.0.1:40021/354 > log/stdout354 2> log/stderr354"}

data: {"time":"2026-09-19T16:17:01.931Z","priority":"6","pid":"2830187","message":"ind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:01.932Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:01.932Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:01.933Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:01.933Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.934Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:01.934Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:01.934Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.934Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:01.934Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:01.935Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:01.935Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.937Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:01.937Z","priority":"6","pid":"2830187","message":"=== End of file valgrind353"}

data: {"time":"2026-09-19T16:17:01.938Z","priority":"6","pid":"2830187","message":"test 0354 [FTP without password]"}

data: {"time":"2026-09-19T16:17:01.939Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind354 ../src/curl -q --output log/curl354.out  --include --trace-ascii log/trace354 --trace-time ftp://127.0.0.1:40021/354 > log/stdout354 2> log/stderr354"}

data: {"time":"2026-09-19T16:17:01.940Z","priority":"6","pid":"2830187","message":" 354: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:01.940Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:01.940Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:01.940Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 354"}

data: {"time":"2026-09-19T16:17:01.941Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:01.942Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind354 ../src/curl -q --output log/curl354.out  --include --trace-ascii log/trace354 --trace-time ftp://127.0.0.1:40021/354 > log/stdout354 2> log/stderr354"}

data: {"time":"2026-09-19T16:17:01.943Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:01.943Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:01.943Z","priority":"6","pid":"2830187","message":" 16:17:01.646589 ====> Client connect"}

data: {"time":"2026-09-19T16:17:01.944Z","priority":"6","pid":"2830187","message":" 16:17:01.647129 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.944Z","priority":"6","pid":"2830187","message":" 16:17:01.648194 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:17:01.945Z","priority":"6","pid":"2830187","message":" 16:17:01.648291 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.945Z","priority":"6","pid":"2830187","message":" 16:17:01.648784 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:17:01.946Z","priority":"6","pid":"2830187","message":" 16:17:01.648848 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.946Z","priority":"6","pid":"2830187","message":" 16:17:01.649173 < \"PWD\""}

data: {"time":"2026-09-19T16:17:01.946Z","priority":"6","pid":"2830187","message":" 16:17:01.649239 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.947Z","priority":"6","pid":"2830187","message":" 16:17:01.649571 < \"EPSV\""}

data: {"time":"2026-09-19T16:17:01.948Z","priority":"6","pid":"2830187","message":" 16:17:01.649614 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:17:01.948Z","priority":"6","pid":"2830187","message":" 16:17:01.649635 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:17:01.949Z","priority":"6","pid":"2830187","message":" 16:17:01.654079 DATA sockfilt for passive data channel started (pid 99166)"}

data: {"time":"2026-09-19T16:17:01.949Z","priority":"6","pid":"2830187","message":" 16:17:01.654376 DATA sockfilt for passive data channel listens on port 37547"}

data: {"time":"2026-09-19T16:17:01.950Z","priority":"6","pid":"2830187","message":" 16:17:01.654467 > \"229 Entering Passive Mode (|||37547|)[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.950Z","priority":"6","pid":"2830187","message":" 16:17:01.654494 Client has been notified that upcoming DATA connection is awaited on port 37547"}

data: {"time":"2026-09-19T16:17:01.951Z","priority":"6","pid":"2830187","message":" 16:17:01.655098 Client connects to port 37547"}

data: {"time":"2026-09-19T16:17:01.951Z","priority":"6","pid":"2830187","message":" 16:17:01.655174 ====> Client established passive DATA connection on port 37547"}

data: {"time":"2026-09-19T16:17:01.952Z","priority":"6","pid":"2830187","message":" 16:17:01.655377 < \"TYPE I\""}

data: {"time":"2026-09-19T16:17:01.952Z","priority":"6","pid":"2830187","message":" 16:17:01.655801 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.953Z","priority":"6","pid":"2830187","message":" 16:17:01.656266 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:17:01.953Z","priority":"6","pid":"2830187","message":" 16:17:01.657704 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.954Z","priority":"6","pid":"2830187","message":" 16:17:01.658305 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:17:01.954Z","priority":"6","pid":"2830187","message":" 16:17:01.658588 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.955Z","priority":"6","pid":"2830187","message":" 16:17:01.658842 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:17:01.955Z","priority":"6","pid":"2830187","message":" 16:17:01.658871 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:17:01.956Z","priority":"6","pid":"2830187","message":" 16:17:01.659195 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:17:01.956Z","priority":"6","pid":"2830187","message":" 16:17:01.659249 DATA sockfilt for passive data channel quits (pid 99166)"}

data: {"time":"2026-09-19T16:17:01.957Z","priority":"6","pid":"2830187","message":" 16:17:01.659783 DATA sockfilt for passive data channel quit (pid 99166)"}

data: {"time":"2026-09-19T16:17:01.957Z","priority":"6","pid":"2830187","message":" 16:17:01.659830 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:17:01.958Z","priority":"6","pid":"2830187","message":" 16:17:01.660619 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.958Z","priority":"6","pid":"2830187","message":" 16:17:01.700027 < \"QUIT\""}

data: {"time":"2026-09-19T16:17:01.959Z","priority":"6","pid":"2830187","message":" 16:17:01.700113 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:17:01.959Z","priority":"6","pid":"2830187","message":" 16:17:01.700422 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:17:01.960Z","priority":"6","pid":"2830187","message":" 16:17:01.700476 ====> Client disconnected"}

data: {"time":"2026-09-19T16:17:01.960Z","priority":"6","pid":"2830187","message":" 16:17:01.700616 Awaiting input"}

data: {"time":"2026-09-19T16:17:01.961Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:01.961Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:01.961Z","priority":"6","pid":"2830187","message":" 16:17:01.714677 ====> Client connect"}

data: {"time":"2026-09-19T16:17:01.961Z","priority":"6","pid":"2830187","message":" 16:17:01.715725 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.962Z","priority":"6","pid":"2830187","message":" 16:17:01.715824 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.962Z","priority":"6","pid":"2830187","message":" 16:17:01.715842 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:17:01.963Z","priority":"6","pid":"2830187","message":" 16:17:01.715857 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.963Z","priority":"6","pid":"2830187","message":" 16:17:01.715869 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.964Z","priority":"6","pid":"2830187","message":" 16:17:01.716064 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.964Z","priority":"6","pid":"2830187","message":" 16:17:01.716087 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.965Z","priority":"6","pid":"2830187","message":" 16:17:01.716814 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.965Z","priority":"6","pid":"2830187","message":" 16:17:01.716846 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.965Z","priority":"6","pid":"2830187","message":" 16:17:01.716861 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.966Z","priority":"6","pid":"2830187","message":" 16:17:01.716993 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.966Z","priority":"6","pid":"2830187","message":" 16:17:01.717021 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.966Z","priority":"6","pid":"2830187","message":" 16:17:01.717299 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.967Z","priority":"6","pid":"2830187","message":" 16:17:01.717322 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.967Z","priority":"6","pid":"2830187","message":" 16:17:01.717336 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.968Z","priority":"6","pid":"2830187","message":" 16:17:01.717449 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.968Z","priority":"6","pid":"2830187","message":" 16:17:01.717467 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.968Z","priority":"6","pid":"2830187","message":" 16:17:01.717686 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.969Z","priority":"6","pid":"2830187","message":" 16:17:01.717711 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.969Z","priority":"6","pid":"2830187","message":" 16:17:01.717724 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.970Z","priority":"6","pid":"2830187","message":" 16:17:01.717862 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.970Z","priority":"6","pid":"2830187","message":" 16:17:01.717880 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.970Z","priority":"6","pid":"2830187","message":" 16:17:01.722994 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.971Z","priority":"6","pid":"2830187","message":" 16:17:01.723025 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.972Z","priority":"6","pid":"2830187","message":" 16:17:01.723041 '229 Entering Passive Mode (|||37547|)\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.972Z","priority":"6","pid":"2830187","message":" 16:17:01.723384 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.973Z","priority":"6","pid":"2830187","message":" 16:17:01.723413 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.973Z","priority":"6","pid":"2830187","message":" 16:17:01.723851 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.973Z","priority":"6","pid":"2830187","message":" 16:17:01.723875 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.974Z","priority":"6","pid":"2830187","message":" 16:17:01.723902 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.974Z","priority":"6","pid":"2830187","message":" 16:17:01.724011 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.975Z","priority":"6","pid":"2830187","message":" 16:17:01.724032 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.975Z","priority":"6","pid":"2830187","message":" 16:17:01.725987 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.975Z","priority":"6","pid":"2830187","message":" 16:17:01.726054 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.976Z","priority":"6","pid":"2830187","message":" 16:17:01.726208 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.976Z","priority":"6","pid":"2830187","message":" 16:17:01.726512 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.976Z","priority":"6","pid":"2830187","message":" 16:17:01.726548 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.977Z","priority":"6","pid":"2830187","message":" 16:17:01.726818 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.977Z","priority":"6","pid":"2830187","message":" 16:17:01.726841 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.978Z","priority":"6","pid":"2830187","message":" 16:17:01.726865 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.979Z","priority":"6","pid":"2830187","message":" 16:17:01.728942 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.979Z","priority":"6","pid":"2830187","message":" 16:17:01.728986 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.979Z","priority":"6","pid":"2830187","message":" 16:17:01.729099 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.980Z","priority":"6","pid":"2830187","message":" 16:17:01.768128 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:01.980Z","priority":"6","pid":"2830187","message":" 16:17:01.768196 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.980Z","priority":"6","pid":"2830187","message":" 16:17:01.768558 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.981Z","priority":"6","pid":"2830187","message":" 16:17:01.768578 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.981Z","priority":"6","pid":"2830187","message":" 16:17:01.768589 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.981Z","priority":"6","pid":"2830187","message":" 16:17:01.768789 ====> Client disconnect"}

data: {"time":"2026-09-19T16:17:01.982Z","priority":"6","pid":"2830187","message":" 16:17:01.769785 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:17:01.982Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:01.983Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:01.983Z","priority":"6","pid":"2830187","message":" 16:17:01.721542 Running IPv4 version"}

data: {"time":"2026-09-19T16:17:01.983Z","priority":"6","pid":"2830187","message":" 16:17:01.722127 Listening on port 37547"}

data: {"time":"2026-09-19T16:17:01.984Z","priority":"6","pid":"2830187","message":" 16:17:01.722373 Wrote pid 99166 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:17:01.985Z","priority":"6","pid":"2830187","message":" 16:17:01.722420 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:17:01.986Z","priority":"6","pid":"2830187","message":" 16:17:01.722614 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:17:01.986Z","priority":"6","pid":"2830187","message":" 16:17:01.723448 ====> Client connect"}

data: {"time":"2026-09-19T16:17:01.986Z","priority":"6","pid":"2830187","message":" 16:17:01.727088 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:01.987Z","priority":"6","pid":"2830187","message":" 16:17:01.727127 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:01.988Z","priority":"6","pid":"2830187","message":" 16:17:01.727319 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:17:01.988Z","priority":"6","pid":"2830187","message":" 16:17:01.727390 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:17:01.988Z","priority":"6","pid":"2830187","message":" 16:17:01.727406 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:17:01.988Z","priority":"6","pid":"2830187","message":" 16:17:01.727694 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:17:01.988Z","priority":"6","pid":"2830187","message":" 16:17:01.727714 quits"}

data: {"time":"2026-09-19T16:17:01.990Z","priority":"6","pid":"2830187","message":" 16:17:01.727889 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:17:01.990Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:01.990Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:01.991Z","priority":"6","pid":"2830187","message":" REPLY USER 200 fine, proceed without password"}

data: {"time":"2026-09-19T16:17:01.991Z","priority":"6","pid":"2830187","message":" Testnum 354"}

data: {"time":"2026-09-19T16:17:01.991Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:01.992Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind354"}

data: {"time":"2026-09-19T16:17:01.992Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:01.994Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:01.994Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:01.994Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.994Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:01.994Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:01.995Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:01.995Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:01.996Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:01.996Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.996Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:01.997Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:01.997Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:01.997Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:01.998Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:01.998Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:01.999Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:01.999Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:01.999Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:01.999Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:02.000Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:02.000Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:02.320Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind357 ../src/curl -q --output log/curl357.out  --include --trace-ascii log/trace357 --trace-time http://127.0.0.1:36137/we/want/357 -T log/test357.txt --expect100-timeout 99 > log/stdout357 2> log/stderr357"}

data: {"time":"2026-09-19T16:17:02.347Z","priority":"6","pid":"2830187","message":"system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:02.347Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:02.347Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:02.348Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:02.348Z","priority":"6","pid":"2830187","message":"=== End of file valgrind354"}

data: {"time":"2026-09-19T16:17:02.349Z","priority":"6","pid":"2830187","message":"test 0357 [HTTP PUT with Expect: 100-continue and 417 response]"}

data: {"time":"2026-09-19T16:17:02.352Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind357 ../src/curl -q --output log/curl357.out  --include --trace-ascii log/trace357 --trace-time http://127.0.0.1:36137/we/want/357 -T log/test357.txt --expect100-timeout 99 > log/stdout357 2> log/stderr357"}

data: {"time":"2026-09-19T16:17:02.352Z","priority":"6","pid":"2830187","message":" 357: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:02.353Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:02.353Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:02.353Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 357"}

data: {"time":"2026-09-19T16:17:02.354Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:02.355Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind357 ../src/curl -q --output log/curl357.out  --include --trace-ascii log/trace357 --trace-time http://127.0.0.1:36137/we/want/357 -T log/test357.txt --expect100-timeout 99 > log/stdout357 2> log/stderr357"}

data: {"time":"2026-09-19T16:17:02.356Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:02.356Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:02.357Z","priority":"6","pid":"2830187","message":" 16:17:02.125390 ====> Client connect"}

data: {"time":"2026-09-19T16:17:02.357Z","priority":"6","pid":"2830187","message":" 16:17:02.125457 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:02.358Z","priority":"6","pid":"2830187","message":" 16:17:02.125925 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:02.358Z","priority":"6","pid":"2830187","message":" 16:17:02.125971 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:02.358Z","priority":"6","pid":"2830187","message":" 16:17:02.125993 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:02.359Z","priority":"6","pid":"2830187","message":" 16:17:02.126003 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:02.359Z","priority":"6","pid":"2830187","message":" 16:17:02.126065 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:02.360Z","priority":"6","pid":"2830187","message":" 16:17:02.126096 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:02.360Z","priority":"6","pid":"2830187","message":" 16:17:02.126195 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:02.360Z","priority":"6","pid":"2830187","message":" 16:17:02.126210 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:02.361Z","priority":"6","pid":"2830187","message":" 16:17:02.126221 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:02.361Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:02.361Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:02.362Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:02.362Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 57756"}

data: {"time":"2026-09-19T16:17:02.362Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:02.363Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:02.363Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:02.363Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:02.363Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:02.363Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:02.363Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:02.364Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:02.364Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:02.364Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:02.364Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:02.365Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:02.365Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:02.365Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:02.365Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:02.366Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:02.366Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:02.366Z","priority":"6","pid":"2830187","message":" no-expect"}

data: {"time":"2026-09-19T16:17:02.366Z","priority":"6","pid":"2830187","message":" Testnum 357"}

data: {"time":"2026-09-19T16:17:02.366Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:02.367Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:02.367Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:02.367Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:02.367Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:02.367Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:02.368Z","priority":"6","pid":"2830187","message":"=== Start of file test357.txt"}

data: {"time":"2026-09-19T16:17:06.863Z","priority":"6","pid":"2830187","message":" xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.867Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.869Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.870Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.871Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.872Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.873Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.875Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.876Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.877Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.879Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.880Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.882Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.883Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.885Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.887Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.888Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.888Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.889Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.891Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.891Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.892Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:17:06.892Z","priority":"6","pid":"2830187","message":"=== End of file test357.txt"}

data: {"time":"2026-09-19T16:17:06.892Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind357"}

data: {"time":"2026-09-19T16:17:06.892Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:06.892Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:06.892Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:06.892Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:06.892Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:06.892Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:07.273Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with sonCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind360 ../src/curl -q --output log/curl360.out  --include --trace-ascii log/trace360 --trace-time http://127.0.0.1:36137/360 --fail-with-body --fail --no-progress-meter > log/stdout360 2> log/stderr360"}

data: {"time":"2026-09-19T16:17:07.276Z","priority":"6","pid":"2830187","message":"ame matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:07.277Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:07.277Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:07.277Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.278Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:07.278Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:07.279Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:07.279Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:07.279Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:07.280Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:07.280Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:07.281Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.281Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:07.281Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:07.281Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.282Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:07.282Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:07.283Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:07.283Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.283Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:07.283Z","priority":"6","pid":"2830187","message":"=== End of file valgrind357"}

data: {"time":"2026-09-19T16:17:07.525Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind361 ../src/curl -q --output log/curl361.out  --include --trace-ascii log/trace361 --trace-time http://127.0.0.1:36137/361 http://127.0.0.1:36137/361 --fail-with-body > log/stdout361 2> log/stderr361"}

data: {"time":"2026-09-19T16:17:07.827Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind362 ../src/curl -q --output log/curl362.out  --include --trace-ascii log/trace362 --trace-time ftp://127.0.0.1:40021/362 -T log/test362.txt --continue-at - > log/stdout362 2> log/stderr362"}

data: {"time":"2026-09-19T16:17:07.832Z","priority":"6","pid":"2830187","message":"test 0360 [Error on both --fail-with-body and --fail]"}

data: {"time":"2026-09-19T16:17:07.834Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind360 ../src/curl -q --output log/curl360.out  --include --trace-ascii log/trace360 --trace-time http://127.0.0.1:36137/360 --fail-with-body --fail --no-progress-meter > log/stdout360 2> log/stderr360"}

data: {"time":"2026-09-19T16:17:07.835Z","priority":"6","pid":"2830187","message":" 360: stderr FAILED:"}

data: {"time":"2026-09-19T16:17:07.835Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:17:07.276005436 +0000"}

data: {"time":"2026-09-19T16:17:07.835Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:17:07.274494539 +0000"}

data: {"time":"2026-09-19T16:17:07.835Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:17:07.836Z","priority":"6","pid":"2830187","message":"-Warning: --fail deselects --fail-with-body here[CR][LF]"}

data: {"time":"2026-09-19T16:17:07.836Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 360"}

data: {"time":"2026-09-19T16:17:07.837Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:17:07.837Z","priority":"6","pid":"2830187","message":" Warning: --fail deselects --fail-with-body here[CR][LF]"}

data: {"time":"2026-09-19T16:17:07.837Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:17:07.838Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:07.839Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind360 ../src/curl -q --output log/curl360.out  --include --trace-ascii log/trace360 --trace-time http://127.0.0.1:36137/360 --fail-with-body --fail --no-progress-meter > log/stdout360 2> log/stderr360"}

data: {"time":"2026-09-19T16:17:07.840Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:07.840Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:07.841Z","priority":"6","pid":"2830187","message":" 16:17:07.105634 ====> Client connect"}

data: {"time":"2026-09-19T16:17:07.841Z","priority":"6","pid":"2830187","message":" 16:17:07.105684 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:07.842Z","priority":"6","pid":"2830187","message":" 16:17:07.105915 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:07.842Z","priority":"6","pid":"2830187","message":" 16:17:07.105943 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:07.842Z","priority":"6","pid":"2830187","message":" 16:17:07.105961 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:07.843Z","priority":"6","pid":"2830187","message":" 16:17:07.105972 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:07.843Z","priority":"6","pid":"2830187","message":" 16:17:07.106021 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:07.844Z","priority":"6","pid":"2830187","message":" 16:17:07.106047 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:07.844Z","priority":"6","pid":"2830187","message":" 16:17:07.106140 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:07.845Z","priority":"6","pid":"2830187","message":" 16:17:07.106154 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:07.845Z","priority":"6","pid":"2830187","message":" 16:17:07.106165 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:07.845Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:07.845Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:07.845Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:07.846Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34694"}

data: {"time":"2026-09-19T16:17:07.846Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:07.846Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:07.847Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:07.847Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:07.847Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:07.847Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:07.848Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:07.848Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:07.848Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:07.849Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:07.849Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:07.849Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:07.849Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:07.850Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:07.850Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:07.850Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:07.850Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:07.850Z","priority":"6","pid":"2830187","message":" Testnum 360"}

data: {"time":"2026-09-19T16:17:07.851Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:07.851Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:07.851Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:07.851Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:07.852Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:07.852Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:07.852Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind360"}

data: {"time":"2026-09-19T16:17:07.853Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:07.853Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:07.854Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:07.854Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.854Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:07.854Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:07.855Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:07.855Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:07.856Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:07.856Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.856Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:07.857Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:07.857Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:07.857Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:07.858Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:07.858Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:07.859Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:07.859Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.859Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:07.860Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:07.860Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.860Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:07.861Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:07.861Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:07.862Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.862Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:07.862Z","priority":"6","pid":"2830187","message":"=== End of file valgrind360"}

data: {"time":"2026-09-19T16:17:07.863Z","priority":"6","pid":"2830187","message":"test 0361 [HTTP GET --fail-with-body on HTTP error return - twice]"}

data: {"time":"2026-09-19T16:17:07.864Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind361 ../src/curl -q --output log/curl361.out  --include --trace-ascii log/trace361 --trace-time http://127.0.0.1:36137/361 http://127.0.0.1:36137/361 --fail-with-body > log/stdout361 2> log/stderr361"}

data: {"time":"2026-09-19T16:17:07.866Z","priority":"6","pid":"2830187","message":" 361: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:07.866Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:07.866Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:07.866Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 361"}

data: {"time":"2026-09-19T16:17:07.867Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:07.868Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind361 ../src/curl -q --output log/curl361.out  --include --trace-ascii log/trace361 --trace-time http://127.0.0.1:36137/361 http://127.0.0.1:36137/361 --fail-with-body > log/stdout361 2> log/stderr361"}

data: {"time":"2026-09-19T16:17:07.869Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:07.869Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:07.870Z","priority":"6","pid":"2830187","message":" 16:17:07.406113 ====> Client connect"}

data: {"time":"2026-09-19T16:17:07.870Z","priority":"6","pid":"2830187","message":" 16:17:07.406179 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:07.871Z","priority":"6","pid":"2830187","message":" 16:17:07.406443 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:07.871Z","priority":"6","pid":"2830187","message":" 16:17:07.406511 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:07.872Z","priority":"6","pid":"2830187","message":" 16:17:07.406535 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:07.872Z","priority":"6","pid":"2830187","message":" 16:17:07.406546 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:07.873Z","priority":"6","pid":"2830187","message":" 16:17:07.406597 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:07.873Z","priority":"6","pid":"2830187","message":" 16:17:07.406622 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:07.874Z","priority":"6","pid":"2830187","message":" 16:17:07.406716 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:07.874Z","priority":"6","pid":"2830187","message":" 16:17:07.406729 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:07.875Z","priority":"6","pid":"2830187","message":" 16:17:07.406738 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:07.875Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:07.876Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:07.876Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:07.877Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34702"}

data: {"time":"2026-09-19T16:17:07.877Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:07.877Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:07.878Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:07.878Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:07.879Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:07.879Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:07.879Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:07.879Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:07.879Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:07.879Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:07.879Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:07.879Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:07.880Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:07.880Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:07.880Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:07.880Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:07.881Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:07.881Z","priority":"6","pid":"2830187","message":" Testnum 361"}

data: {"time":"2026-09-19T16:17:07.881Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:07.882Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:07.882Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:07.882Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:07.883Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:07.883Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:07.884Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind361"}

data: {"time":"2026-09-19T16:17:07.884Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:07.884Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:07.884Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:07.884Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.885Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:07.885Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:07.886Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:07.886Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:07.887Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:07.887Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.888Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:07.888Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:07.888Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:07.889Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:07.890Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:07.890Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:07.890Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:07.890Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.890Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:07.891Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:07.891Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.892Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:07.892Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:07.893Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:07.893Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:07.893Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:07.893Z","priority":"6","pid":"2830187","message":"=== End of file valgrind361"}

data: {"time":"2026-09-19T16:17:07.893Z","priority":"6","pid":"2830187","message":"test 0362 [FTP resume upload file with nothing to start from]"}

data: {"time":"2026-09-19T16:17:08.135Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind362 ../src/curl -q --output log/CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind365 ../src/curl -q --output log/curl365.out  --include --trace-ascii log/trace365 --trace-time http://127.0.0.1:36137/365 > log/stdout365 2> log/stderr365"}

data: {"time":"2026-09-19T16:17:08.140Z","priority":"6","pid":"2830187","message":"curl362.out  --include --trace-ascii log/trace362 --trace-time ftp://127.0.0.1:40021/362 -T log/test362.txt --continue-at - > log/stdout362 2> log/stderr362"}

data: {"time":"2026-09-19T16:17:08.140Z","priority":"6","pid":"2830187","message":" 362: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:08.141Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:08.142Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:08.142Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 362"}

data: {"time":"2026-09-19T16:17:08.142Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:08.143Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind362 ../src/curl -q --output log/curl362.out  --include --trace-ascii log/trace362 --trace-time ftp://127.0.0.1:40021/362 -T log/test362.txt --continue-at - > log/stdout362 2> log/stderr362"}

data: {"time":"2026-09-19T16:17:08.143Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:08.144Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:08.144Z","priority":"6","pid":"2830187","message":" 16:17:07.579836 ====> Client connect"}

data: {"time":"2026-09-19T16:17:08.145Z","priority":"6","pid":"2830187","message":" 16:17:07.580755 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.145Z","priority":"6","pid":"2830187","message":" 16:17:07.581022 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:17:08.146Z","priority":"6","pid":"2830187","message":" 16:17:07.581245 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.146Z","priority":"6","pid":"2830187","message":" 16:17:07.581505 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:17:08.146Z","priority":"6","pid":"2830187","message":" 16:17:07.581555 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.147Z","priority":"6","pid":"2830187","message":" 16:17:07.581843 < \"PWD\""}

data: {"time":"2026-09-19T16:17:08.147Z","priority":"6","pid":"2830187","message":" 16:17:07.581905 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.147Z","priority":"6","pid":"2830187","message":" 16:17:07.582216 < \"EPSV\""}

data: {"time":"2026-09-19T16:17:08.148Z","priority":"6","pid":"2830187","message":" 16:17:07.582260 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:17:08.148Z","priority":"6","pid":"2830187","message":" 16:17:07.582283 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:17:08.149Z","priority":"6","pid":"2830187","message":" 16:17:07.586040 DATA sockfilt for passive data channel started (pid 99431)"}

data: {"time":"2026-09-19T16:17:08.149Z","priority":"6","pid":"2830187","message":" 16:17:07.586266 DATA sockfilt for passive data channel listens on port 40251"}

data: {"time":"2026-09-19T16:17:08.150Z","priority":"6","pid":"2830187","message":" 16:17:07.586625 > \"229 Entering Passive Mode (|||40251|)[CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.151Z","priority":"6","pid":"2830187","message":" 16:17:07.586672 Client has been notified that upcoming DATA connection is awaited on port 40251"}

data: {"time":"2026-09-19T16:17:08.151Z","priority":"6","pid":"2830187","message":" 16:17:07.587042 Client connects to port 40251"}

data: {"time":"2026-09-19T16:17:08.152Z","priority":"6","pid":"2830187","message":" 16:17:07.587098 ====> Client established passive DATA connection on port 40251"}

data: {"time":"2026-09-19T16:17:08.152Z","priority":"6","pid":"2830187","message":" 16:17:07.587465 < \"TYPE I\""}

data: {"time":"2026-09-19T16:17:08.152Z","priority":"6","pid":"2830187","message":" 16:17:07.587522 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.153Z","priority":"6","pid":"2830187","message":" 16:17:07.587812 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:17:08.153Z","priority":"6","pid":"2830187","message":" 16:17:07.587872 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.153Z","priority":"6","pid":"2830187","message":" 16:17:07.588165 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:17:08.154Z","priority":"6","pid":"2830187","message":" 16:17:07.588238 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.154Z","priority":"6","pid":"2830187","message":" 16:17:07.588390 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:17:08.155Z","priority":"6","pid":"2830187","message":" 16:17:07.588416 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:17:08.156Z","priority":"6","pid":"2830187","message":" 16:17:07.588910 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:17:08.156Z","priority":"6","pid":"2830187","message":" 16:17:07.588967 DATA sockfilt for passive data channel quits (pid 99431)"}

data: {"time":"2026-09-19T16:17:08.156Z","priority":"6","pid":"2830187","message":" 16:17:07.589541 DATA sockfilt for passive data channel quit (pid 99431)"}

data: {"time":"2026-09-19T16:17:08.157Z","priority":"6","pid":"2830187","message":" 16:17:07.589596 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:17:08.157Z","priority":"6","pid":"2830187","message":" 16:17:07.589669 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.158Z","priority":"6","pid":"2830187","message":" 16:17:07.630082 < \"QUIT\""}

data: {"time":"2026-09-19T16:17:08.158Z","priority":"6","pid":"2830187","message":" 16:17:07.630179 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:17:08.158Z","priority":"6","pid":"2830187","message":" 16:17:07.631641 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:17:08.158Z","priority":"6","pid":"2830187","message":" 16:17:07.632044 ====> Client disconnected"}

data: {"time":"2026-09-19T16:17:08.159Z","priority":"6","pid":"2830187","message":" 16:17:07.632234 Awaiting input"}

data: {"time":"2026-09-19T16:17:08.159Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:08.159Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:08.160Z","priority":"6","pid":"2830187","message":" 16:17:07.647760 ====> Client connect"}

data: {"time":"2026-09-19T16:17:08.160Z","priority":"6","pid":"2830187","message":" 16:17:07.648376 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.161Z","priority":"6","pid":"2830187","message":" 16:17:07.648426 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.161Z","priority":"6","pid":"2830187","message":" 16:17:07.648604 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:17:08.162Z","priority":"6","pid":"2830187","message":" 16:17:07.648631 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.162Z","priority":"6","pid":"2830187","message":" 16:17:07.648644 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.163Z","priority":"6","pid":"2830187","message":" 16:17:07.648809 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:08.163Z","priority":"6","pid":"2830187","message":" 16:17:07.648833 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.164Z","priority":"6","pid":"2830187","message":" 16:17:07.649212 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.164Z","priority":"6","pid":"2830187","message":" 16:17:07.649234 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.164Z","priority":"6","pid":"2830187","message":" 16:17:07.649261 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.165Z","priority":"6","pid":"2830187","message":" 16:17:07.649440 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:08.166Z","priority":"6","pid":"2830187","message":" 16:17:07.649510 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.166Z","priority":"6","pid":"2830187","message":" 16:17:07.649717 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.166Z","priority":"6","pid":"2830187","message":" 16:17:07.649735 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.166Z","priority":"6","pid":"2830187","message":" 16:17:07.649749 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.167Z","priority":"6","pid":"2830187","message":" 16:17:07.649850 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:08.167Z","priority":"6","pid":"2830187","message":" 16:17:07.649867 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.168Z","priority":"6","pid":"2830187","message":" 16:17:07.650069 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.168Z","priority":"6","pid":"2830187","message":" 16:17:07.650088 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.169Z","priority":"6","pid":"2830187","message":" 16:17:07.650102 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.169Z","priority":"6","pid":"2830187","message":" 16:17:07.650221 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:08.170Z","priority":"6","pid":"2830187","message":" 16:17:07.650239 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.170Z","priority":"6","pid":"2830187","message":" 16:17:07.654596 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.170Z","priority":"6","pid":"2830187","message":" 16:17:07.654631 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.171Z","priority":"6","pid":"2830187","message":" 16:17:07.654646 '229 Entering Passive Mode (|||40251|)\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.171Z","priority":"6","pid":"2830187","message":" 16:17:07.655390 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:08.172Z","priority":"6","pid":"2830187","message":" 16:17:07.655414 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.172Z","priority":"6","pid":"2830187","message":" 16:17:07.655684 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.173Z","priority":"6","pid":"2830187","message":" 16:17:07.655702 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.173Z","priority":"6","pid":"2830187","message":" 16:17:07.655735 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.174Z","priority":"6","pid":"2830187","message":" 16:17:07.655831 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:08.174Z","priority":"6","pid":"2830187","message":" 16:17:07.655846 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.175Z","priority":"6","pid":"2830187","message":" 16:17:07.656052 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.176Z","priority":"6","pid":"2830187","message":" 16:17:07.656072 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.176Z","priority":"6","pid":"2830187","message":" 16:17:07.656086 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.177Z","priority":"6","pid":"2830187","message":" 16:17:07.656213 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:08.177Z","priority":"6","pid":"2830187","message":" 16:17:07.656230 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.177Z","priority":"6","pid":"2830187","message":" 16:17:07.656587 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.177Z","priority":"6","pid":"2830187","message":" 16:17:07.656612 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.177Z","priority":"6","pid":"2830187","message":" 16:17:07.656627 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.178Z","priority":"6","pid":"2830187","message":" 16:17:07.657851 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.178Z","priority":"6","pid":"2830187","message":" 16:17:07.657877 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.179Z","priority":"6","pid":"2830187","message":" 16:17:07.657891 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.179Z","priority":"6","pid":"2830187","message":" 16:17:07.698007 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:08.180Z","priority":"6","pid":"2830187","message":" 16:17:07.698080 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.180Z","priority":"6","pid":"2830187","message":" 16:17:07.698637 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.181Z","priority":"6","pid":"2830187","message":" 16:17:07.698689 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.181Z","priority":"6","pid":"2830187","message":" 16:17:07.698703 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.181Z","priority":"6","pid":"2830187","message":" 16:17:07.699538 ====> Client disconnect"}

data: {"time":"2026-09-19T16:17:08.181Z","priority":"6","pid":"2830187","message":" 16:17:07.699942 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:17:08.182Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:08.182Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:08.183Z","priority":"6","pid":"2830187","message":" 16:17:07.653843 Running IPv4 version"}

data: {"time":"2026-09-19T16:17:08.183Z","priority":"6","pid":"2830187","message":" 16:17:07.654019 Listening on port 40251"}

data: {"time":"2026-09-19T16:17:08.183Z","priority":"6","pid":"2830187","message":" 16:17:07.654082 Wrote pid 99431 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:17:08.184Z","priority":"6","pid":"2830187","message":" 16:17:07.654113 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:17:08.184Z","priority":"6","pid":"2830187","message":" 16:17:07.654271 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:17:08.185Z","priority":"6","pid":"2830187","message":" 16:17:07.655043 ====> Client connect"}

data: {"time":"2026-09-19T16:17:08.185Z","priority":"6","pid":"2830187","message":" 16:17:07.656686 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:08.185Z","priority":"6","pid":"2830187","message":" 16:17:07.656725 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:08.185Z","priority":"6","pid":"2830187","message":" 16:17:07.656745 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:17:08.186Z","priority":"6","pid":"2830187","message":" 16:17:07.656795 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:17:08.186Z","priority":"6","pid":"2830187","message":" 16:17:07.656812 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:17:08.187Z","priority":"6","pid":"2830187","message":" 16:17:07.657136 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:17:08.188Z","priority":"6","pid":"2830187","message":" 16:17:07.657157 quits"}

data: {"time":"2026-09-19T16:17:08.188Z","priority":"6","pid":"2830187","message":" 16:17:07.657282 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:17:08.188Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:08.188Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:08.189Z","priority":"6","pid":"2830187","message":" Testnum 362"}

data: {"time":"2026-09-19T16:17:08.189Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:08.189Z","priority":"6","pid":"2830187","message":"=== Start of file test362.txt"}

data: {"time":"2026-09-19T16:17:08.189Z","priority":"6","pid":"2830187","message":" data"}

data: {"time":"2026-09-19T16:17:08.190Z","priority":"6","pid":"2830187","message":"     to"}

data: {"time":"2026-09-19T16:17:08.190Z","priority":"6","pid":"2830187","message":"       see"}

data: {"time":"2026-09-19T16:17:08.190Z","priority":"6","pid":"2830187","message":" that FTP"}

data: {"time":"2026-09-19T16:17:08.191Z","priority":"6","pid":"2830187","message":" works"}

data: {"time":"2026-09-19T16:17:08.191Z","priority":"6","pid":"2830187","message":"   so does it?"}

data: {"time":"2026-09-19T16:17:08.191Z","priority":"6","pid":"2830187","message":"=== End of file test362.txt"}

data: {"time":"2026-09-19T16:17:08.191Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind362"}

data: {"time":"2026-09-19T16:17:08.192Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:08.192Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:08.193Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:08.193Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.193Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:08.194Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:08.194Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:08.195Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:08.195Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:08.195Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.196Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:08.196Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:08.197Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:08.197Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:08.198Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:08.198Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:08.199Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:08.199Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.200Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:08.200Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:08.201Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.201Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:08.201Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:08.202Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:08.202Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.203Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:08.203Z","priority":"6","pid":"2830187","message":"=== End of file valgrind362"}

data: {"time":"2026-09-19T16:17:08.203Z","priority":"6","pid":"2830187","message":"test 0365 [HTTP/1.1 with chunked AND Content-Length headers]"}

data: {"time":"2026-09-19T16:17:08.205Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind365 ../src/curl -q --output log/curl365.out  --include --trace-ascii log/trace365 --trace-time http://127.0.0.1:36137/365 > log/stdout365 2> log/stderr365"}

data: {"time":"2026-09-19T16:17:08.206Z","priority":"6","pid":"2830187","message":" 365: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:08.206Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:08.206Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:08.207Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 365"}

data: {"time":"2026-09-19T16:17:08.443Z","priority":"6","pid":"2830187","message":"=== Start oCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind366 ../src/curl -q --output log/curl366.out  --include --trace-ascii log/trace366 --trace-time http://127.0.0.1:36137/366 --retry 2 --retry-max-time 10 > log/stdout366 2> log/stderr366"}

data: {"time":"2026-09-19T16:17:08.688Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind367 ../src/curl -q --output log/curl367.out  --include --trace-ascii log/trace367 --trace-time http://:example@127.0.0.1:36137/367 > log/stdout367 2> log/stderr367"}

data: {"time":"2026-09-19T16:17:08.692Z","priority":"6","pid":"2830187","message":"f file commands.log"}

data: {"time":"2026-09-19T16:17:08.693Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind365 ../src/curl -q --output log/curl365.out  --include --trace-ascii log/trace365 --trace-time http://127.0.0.1:36137/365 > log/stdout365 2> log/stderr365"}

data: {"time":"2026-09-19T16:17:08.694Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:08.695Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:08.696Z","priority":"6","pid":"2830187","message":" 16:17:08.008408 ====> Client connect"}

data: {"time":"2026-09-19T16:17:08.697Z","priority":"6","pid":"2830187","message":" 16:17:08.008715 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:08.698Z","priority":"6","pid":"2830187","message":" 16:17:08.008759 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:08.699Z","priority":"6","pid":"2830187","message":" 16:17:08.008772 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:08.699Z","priority":"6","pid":"2830187","message":" 16:17:08.008789 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:08.700Z","priority":"6","pid":"2830187","message":" 16:17:08.008801 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:08.701Z","priority":"6","pid":"2830187","message":" 16:17:08.008842 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:08.701Z","priority":"6","pid":"2830187","message":" 16:17:08.008866 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:08.701Z","priority":"6","pid":"2830187","message":" 16:17:08.008960 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:08.703Z","priority":"6","pid":"2830187","message":" 16:17:08.008973 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:08.704Z","priority":"6","pid":"2830187","message":" 16:17:08.008983 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:08.705Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:08.709Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:08.709Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:08.709Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34712"}

data: {"time":"2026-09-19T16:17:08.710Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:08.711Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:08.711Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:08.712Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:08.713Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:08.713Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:08.713Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:08.713Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:08.714Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:08.714Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:08.715Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:08.716Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:08.722Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:08.722Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:08.722Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:08.722Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:08.722Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:08.722Z","priority":"6","pid":"2830187","message":" Testnum 365"}

data: {"time":"2026-09-19T16:17:08.722Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:08.723Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:08.724Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:08.724Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:08.725Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:08.725Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:08.726Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind365"}

data: {"time":"2026-09-19T16:17:08.726Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:08.728Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:08.729Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:08.729Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.730Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:08.731Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:08.731Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:08.733Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:08.734Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:08.734Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.734Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:08.735Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:08.736Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:08.736Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:08.736Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:08.737Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:08.737Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:08.737Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.738Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:08.738Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:08.739Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.739Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:08.740Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:08.740Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:08.740Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.741Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:08.741Z","priority":"6","pid":"2830187","message":"=== End of file valgrind365"}

data: {"time":"2026-09-19T16:17:08.741Z","priority":"6","pid":"2830187","message":"test 0366 [HTTP --retry-max-time with too long Retry-After]"}

data: {"time":"2026-09-19T16:17:08.743Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind366 ../src/curl -q --output log/curl366.out  --include --trace-ascii log/trace366 --trace-time http://127.0.0.1:36137/366 --retry 2 --retry-max-time 10 > log/stdout366 2> log/stderr366"}

data: {"time":"2026-09-19T16:17:08.744Z","priority":"6","pid":"2830187","message":" 366: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:08.744Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:08.745Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:08.745Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 366"}

data: {"time":"2026-09-19T16:17:08.745Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:08.747Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind366 ../src/curl -q --output log/curl366.out  --include --trace-ascii log/trace366 --trace-time http://127.0.0.1:36137/366 --retry 2 --retry-max-time 10 > log/stdout366 2> log/stderr366"}

data: {"time":"2026-09-19T16:17:08.747Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:08.748Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:08.748Z","priority":"6","pid":"2830187","message":" 16:17:08.322245 ====> Client connect"}

data: {"time":"2026-09-19T16:17:08.748Z","priority":"6","pid":"2830187","message":" 16:17:08.322296 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:08.749Z","priority":"6","pid":"2830187","message":" 16:17:08.322513 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:08.749Z","priority":"6","pid":"2830187","message":" 16:17:08.322536 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:08.750Z","priority":"6","pid":"2830187","message":" 16:17:08.322562 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:08.750Z","priority":"6","pid":"2830187","message":" 16:17:08.322577 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:08.751Z","priority":"6","pid":"2830187","message":" 16:17:08.322625 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:08.751Z","priority":"6","pid":"2830187","message":" 16:17:08.322653 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:08.752Z","priority":"6","pid":"2830187","message":" 16:17:08.322722 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:08.752Z","priority":"6","pid":"2830187","message":" 16:17:08.322733 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:08.752Z","priority":"6","pid":"2830187","message":" 16:17:08.322742 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:08.753Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:08.753Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:08.754Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:08.754Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34718"}

data: {"time":"2026-09-19T16:17:08.754Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:08.755Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:08.755Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:08.756Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:08.756Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:08.756Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:08.756Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:08.756Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:08.756Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:08.757Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:08.757Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:08.757Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:08.758Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:08.758Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:08.758Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:08.759Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:08.759Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:08.759Z","priority":"6","pid":"2830187","message":" Testnum 366"}

data: {"time":"2026-09-19T16:17:08.760Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:08.760Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:08.760Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:08.761Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:08.761Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:08.761Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:08.761Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind366"}

data: {"time":"2026-09-19T16:17:08.762Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:08.762Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:08.762Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:08.763Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.763Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:08.764Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:08.764Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:08.764Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:08.765Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:08.765Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.766Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:08.766Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:08.767Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:08.767Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:08.768Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:08.768Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:08.769Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:08.769Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.769Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:08.770Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:08.770Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.771Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:08.771Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:08.772Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:08.772Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:08.772Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:08.773Z","priority":"6","pid":"2830187","message":"=== End of file valgrind366"}

data: {"time":"2026-09-19T16:17:08.773Z","priority":"6","pid":"2830187","message":"test 0367 [Empty username provided in URL]"}

data: {"time":"2026-09-19T16:17:08.774Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind367 ../src/curl -q --output log/curl367.out  --include --trace-ascii log/trace367 --trace-time http://:example@127.0.0.1:36137/367 > log/stdout367 2> log/stderr367"}

data: {"time":"2026-09-19T16:17:08.776Z","priority":"6","pid":"2830187","message":" 367: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:08.776Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:08.776Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:08.776Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 367"}

data: {"time":"2026-09-19T16:17:08.776Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:08.778Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind367 ../src/curl -q --output log/curl367.out  --include --trace-ascii log/trace367 --trace-time http://:example@127.0.0.1:36137/367 > log/stdout367 2> log/stderr367"}

data: {"time":"2026-09-19T16:17:08.778Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:08.779Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:08.779Z","priority":"6","pid":"2830187","message":" 16:17:08.571879 ====> Client connect"}

data: {"time":"2026-09-19T16:17:08.780Z","priority":"6","pid":"2830187","message":" 16:17:08.571943 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:08.780Z","priority":"6","pid":"2830187","message":" 16:17:08.572257 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:08.780Z","priority":"6","pid":"2830187","message":" 16:17:08.572313 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:09.027Z","priority":"6","pid":"2830187","message":" 16:17:08.5723CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind368 ../src/curl -q --output log/curl368.out  --include --trace-ascii log/trace368 --trace-time http://127.0.0.1:36137/368 -r 4 > log/stdout368 2> log/stderr368"}

data: {"time":"2026-09-19T16:17:09.290Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind369 ../src/curl -q --output log/curl369.out  --include --trace-ascii log/trace369 --trace-time http://127.0.0.1:36137/369 --etag-save log/nowhere/etag369 --next http://127.0.0.1:36137/369 --include --output log/curl369.out > log/stdout369 2> log/stderr369"}

data: {"time":"2026-09-19T16:17:09.303Z","priority":"6","pid":"2830187","message":"33 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:09.305Z","priority":"6","pid":"2830187","message":" 16:17:08.572345 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:09.305Z","priority":"6","pid":"2830187","message":" 16:17:08.572400 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:09.306Z","priority":"6","pid":"2830187","message":" 16:17:08.572478 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:09.307Z","priority":"6","pid":"2830187","message":" 16:17:08.572594 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:09.307Z","priority":"6","pid":"2830187","message":" 16:17:08.572610 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:09.308Z","priority":"6","pid":"2830187","message":" 16:17:08.572620 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:09.308Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:09.308Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:09.309Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:09.310Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34730"}

data: {"time":"2026-09-19T16:17:09.310Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:09.310Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:09.311Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:09.311Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:09.311Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:09.311Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:09.312Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:09.312Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:09.313Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:09.313Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:09.314Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:09.315Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:09.315Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:09.315Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:09.316Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:09.317Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:09.317Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:09.317Z","priority":"6","pid":"2830187","message":" Testnum 367"}

data: {"time":"2026-09-19T16:17:09.318Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:09.318Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:09.319Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:09.319Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:09.319Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:09.320Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:09.320Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind367"}

data: {"time":"2026-09-19T16:17:09.321Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:09.323Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:09.323Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:09.323Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.323Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:09.324Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:09.325Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:09.325Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:09.326Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:09.327Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.328Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:09.328Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:09.329Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:09.330Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:09.332Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:09.333Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:09.334Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:09.335Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.336Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:09.338Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:09.338Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.339Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:09.339Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:09.339Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:09.340Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.341Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:09.341Z","priority":"6","pid":"2830187","message":"=== End of file valgrind367"}

data: {"time":"2026-09-19T16:17:09.341Z","priority":"6","pid":"2830187","message":"test 0368 [Append dash if -r range specified without one]"}

data: {"time":"2026-09-19T16:17:09.343Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind368 ../src/curl -q --output log/curl368.out  --include --trace-ascii log/trace368 --trace-time http://127.0.0.1:36137/368 -r 4 > log/stdout368 2> log/stderr368"}

data: {"time":"2026-09-19T16:17:09.343Z","priority":"6","pid":"2830187","message":" 368: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:09.345Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:09.345Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:09.346Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 368"}

data: {"time":"2026-09-19T16:17:09.346Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:09.349Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind368 ../src/curl -q --output log/curl368.out  --include --trace-ascii log/trace368 --trace-time http://127.0.0.1:36137/368 -r 4 > log/stdout368 2> log/stderr368"}

data: {"time":"2026-09-19T16:17:09.350Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:09.351Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:09.352Z","priority":"6","pid":"2830187","message":" 16:17:08.901816 ====> Client connect"}

data: {"time":"2026-09-19T16:17:09.352Z","priority":"6","pid":"2830187","message":" 16:17:08.901921 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:09.352Z","priority":"6","pid":"2830187","message":" 16:17:08.902158 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:09.353Z","priority":"6","pid":"2830187","message":" 16:17:08.902189 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:09.354Z","priority":"6","pid":"2830187","message":" 16:17:08.902207 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:09.354Z","priority":"6","pid":"2830187","message":" 16:17:08.902219 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:09.356Z","priority":"6","pid":"2830187","message":" 16:17:08.902292 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:09.357Z","priority":"6","pid":"2830187","message":" 16:17:08.902324 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:09.358Z","priority":"6","pid":"2830187","message":" 16:17:08.902686 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:09.358Z","priority":"6","pid":"2830187","message":" 16:17:08.902711 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:09.358Z","priority":"6","pid":"2830187","message":" 16:17:08.902723 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:09.359Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:09.360Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:09.360Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:09.360Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34744"}

data: {"time":"2026-09-19T16:17:09.360Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:09.361Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:09.361Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:09.361Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:09.361Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:09.362Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:09.363Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:09.363Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:09.363Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:09.364Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:09.365Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:09.365Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:09.365Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:09.365Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:09.366Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:09.366Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:09.366Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:09.366Z","priority":"6","pid":"2830187","message":" Testnum 368"}

data: {"time":"2026-09-19T16:17:09.367Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:09.367Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:09.367Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:09.368Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:09.368Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:09.369Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:09.369Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind368"}

data: {"time":"2026-09-19T16:17:09.369Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:09.370Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:09.370Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:09.371Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.371Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:09.372Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:09.372Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:09.373Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:09.373Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:09.373Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.374Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:09.374Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:09.375Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:09.375Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:09.376Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:09.377Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:09.378Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:09.379Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.379Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:09.379Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:09.380Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.380Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:09.381Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:09.381Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:09.382Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.382Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:09.382Z","priority":"6","pid":"2830187","message":"=== End of file valgrind368"}

data: {"time":"2026-09-19T16:17:09.384Z","priority":"6","pid":"2830187","message":"test 0369 [--etag-save with bad path then working transfer]"}

data: {"time":"2026-09-19T16:17:09.387Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind369 ../src/curl -q --output log/curl369.out  --include --trace-ascii log/trace369 --trace-time http://127.0.0.1:36137/369 --etag-save log/nowhere/etag369 --next http://127.0.0.1:36137/369 --include --output log/curl369.out > log/stdout369 2> log/stderr369"}

data: {"time":"2026-09-19T16:17:09.388Z","priority":"6","pid":"2830187","message":" 369: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:09.389Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:09.389Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:09.390Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 369"}

data: {"time":"2026-09-19T16:17:09.390Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:09.393Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind369 ../src/curl -q --output log/curl369.out  --include --trace-ascii log/trace369 --trace-time http://127.0.0.1:36137/369 --etag-save log/nowhere/etag369 --next http://127.0.0.1:36137/369 --include --output log/curl369.out > log/stdout369 2> log/stderr369"}

data: {"time":"2026-09-19T16:17:09.393Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:09.394Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:09.395Z","priority":"6","pid":"2830187","message":" 16:17:09.158181 ====> Client connect"}

data: {"time":"2026-09-19T16:17:09.396Z","priority":"6","pid":"2830187","message":" 16:17:09.158246 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:09.396Z","priority":"6","pid":"2830187","message":" 16:17:09.158461 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:09.397Z","priority":"6","pid":"2830187","message":" 16:17:09.158489 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:09.398Z","priority":"6","pid":"2830187","message":" 16:17:09.158509 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:09.399Z","priority":"6","pid":"2830187","message":" 16:17:09.158522 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:09.400Z","priority":"6","pid":"2830187","message":" 16:17:09.158609 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:09.401Z","priority":"6","pid":"2830187","message":" 16:17:09.158640 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:09.404Z","priority":"6","pid":"2830187","message":" 16:17:09.158722 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:09.404Z","priority":"6","pid":"2830187","message":" 16:17:09.158737 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:09.404Z","priority":"6","pid":"2830187","message":" 16:17:09.158748 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:09.405Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:09.593Z","priority":"6","pid":"2830187","message":"=== Start of file htCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind370 ../src/curl -q --output log/curl370.out  --include --trace-ascii log/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/nowhere/etag370 > log/stdout370 2> log/stderr370"}

data: {"time":"2026-09-19T16:17:09.842Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind371 ../src/curl -q --output log/curl371.out  --include --trace-ascii log/trace371 --trace-time http://127.0.0.1:36137/371 -o log/dump -o log/dump2 --no-progress-meter > log/stdout371 2> log/stderr371"}

data: {"time":"2026-09-19T16:17:09.845Z","priority":"6","pid":"2830187","message":"tp_verify.log"}

data: {"time":"2026-09-19T16:17:09.847Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:09.848Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34754"}

data: {"time":"2026-09-19T16:17:09.849Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:09.849Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:09.850Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:09.851Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:09.851Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:09.851Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:09.852Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:09.852Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:09.852Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:09.853Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:09.854Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:09.854Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:09.854Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:09.854Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:09.855Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:09.855Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:09.856Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:09.856Z","priority":"6","pid":"2830187","message":" Testnum 369"}

data: {"time":"2026-09-19T16:17:09.856Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:09.857Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:09.857Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:09.857Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:09.860Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:09.861Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:09.861Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind369"}

data: {"time":"2026-09-19T16:17:09.861Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:09.863Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:09.864Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:09.864Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.865Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:09.865Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:09.866Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:09.866Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:09.867Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:09.867Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.867Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:09.868Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:09.868Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:09.869Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:09.870Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:09.870Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:09.871Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:09.871Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.871Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:09.871Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:09.872Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.872Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:09.873Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:09.873Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:09.873Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.874Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:09.874Z","priority":"6","pid":"2830187","message":"=== End of file valgrind369"}

data: {"time":"2026-09-19T16:17:09.875Z","priority":"6","pid":"2830187","message":"test 0370 [--etag-save with bad path - no transfer]"}

data: {"time":"2026-09-19T16:17:09.876Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind370 ../src/curl -q --output log/curl370.out  --include --trace-ascii log/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/nowhere/etag370 > log/stdout370 2> log/stderr370"}

data: {"time":"2026-09-19T16:17:09.877Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 26"}

data: {"time":"2026-09-19T16:17:09.877Z","priority":"6","pid":"2830187","message":" 370: exit FAILED"}

data: {"time":"2026-09-19T16:17:09.879Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 370"}

data: {"time":"2026-09-19T16:17:09.879Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:09.880Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind370 ../src/curl -q --output log/curl370.out  --include --trace-ascii log/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/nowhere/etag370 > log/stdout370 2> log/stderr370"}

data: {"time":"2026-09-19T16:17:09.880Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:09.881Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:09.881Z","priority":"6","pid":"2830187","message":" Testnum 370"}

data: {"time":"2026-09-19T16:17:09.881Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:09.882Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind370"}

data: {"time":"2026-09-19T16:17:09.882Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:09.883Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:09.883Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:09.884Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.884Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:09.884Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:09.885Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:09.885Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:09.886Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:09.886Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.886Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:09.887Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:09.887Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:09.888Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:09.888Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:09.889Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:09.889Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:09.890Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.890Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:09.891Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:09.891Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.892Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:09.892Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:09.893Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:09.893Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:09.893Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:09.893Z","priority":"6","pid":"2830187","message":"=== End of file valgrind370"}

data: {"time":"2026-09-19T16:17:10.138Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind372 ../src/curl -q --output log/curl372.out  --include --trace-ascii log/trace372 --trace-time --raw http://127.0.0.1:36137/binary-zero-in-data-section/372 > log/stdout372 2> log/stderr372"}

data: {"time":"2026-09-19T16:17:10.383Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind373 ../src/curl -q --output log/curl373.out  --include --trace-ascii log/trace373 --trace-time http://127.0.0.1:36137/chunked-transfer-encoding/373 > log/stdout373 2> log/stderr373"}

data: {"time":"2026-09-19T16:17:10.387Z","priority":"6","pid":"2830187","message":"test 0371 [using more -o than URLs in the command line]"}

data: {"time":"2026-09-19T16:17:10.389Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind371 ../src/curl -q --output log/curl371.out  --include --trace-ascii log/trace371 --trace-time http://127.0.0.1:36137/371 -o log/dump -o log/dump2 --no-progress-meter > log/stdout371 2> log/stderr371"}

data: {"time":"2026-09-19T16:17:10.390Z","priority":"6","pid":"2830187","message":" 371: stderr FAILED:"}

data: {"time":"2026-09-19T16:17:10.391Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:17:09.845177816 +0000"}

data: {"time":"2026-09-19T16:17:10.393Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:17:09.843616553 +0000"}

data: {"time":"2026-09-19T16:17:10.393Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:17:10.394Z","priority":"6","pid":"2830187","message":"-Warning: Got more output options than URLs[CR][LF]"}

data: {"time":"2026-09-19T16:17:10.394Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 371"}

data: {"time":"2026-09-19T16:17:10.394Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:17:10.395Z","priority":"6","pid":"2830187","message":" Warning: Got more output options than URLs[CR][LF]"}

data: {"time":"2026-09-19T16:17:10.396Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:17:10.397Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:10.399Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind371 ../src/curl -q --output log/curl371.out  --include --trace-ascii log/trace371 --trace-time http://127.0.0.1:36137/371 -o log/dump -o log/dump2 --no-progress-meter > log/stdout371 2> log/stderr371"}

data: {"time":"2026-09-19T16:17:10.400Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:10.401Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:10.401Z","priority":"6","pid":"2830187","message":" 16:17:09.720670 ====> Client connect"}

data: {"time":"2026-09-19T16:17:10.401Z","priority":"6","pid":"2830187","message":" 16:17:09.720739 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:10.401Z","priority":"6","pid":"2830187","message":" 16:17:09.721077 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:10.402Z","priority":"6","pid":"2830187","message":" 16:17:09.721107 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:10.402Z","priority":"6","pid":"2830187","message":" 16:17:09.721124 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:10.403Z","priority":"6","pid":"2830187","message":" 16:17:09.721134 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:10.403Z","priority":"6","pid":"2830187","message":" 16:17:09.721197 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:10.404Z","priority":"6","pid":"2830187","message":" 16:17:09.721223 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:10.404Z","priority":"6","pid":"2830187","message":" 16:17:09.721323 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:10.405Z","priority":"6","pid":"2830187","message":" 16:17:09.721337 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:10.405Z","priority":"6","pid":"2830187","message":" 16:17:09.721348 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:10.405Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:10.405Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:10.407Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:10.407Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34756"}

data: {"time":"2026-09-19T16:17:10.408Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:10.408Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:10.408Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:10.409Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:10.409Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:10.409Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:10.409Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:10.410Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:10.410Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:10.410Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:10.410Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:10.411Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:10.411Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:10.411Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:10.412Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:10.412Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:10.412Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:10.413Z","priority":"6","pid":"2830187","message":" Testnum 371"}

data: {"time":"2026-09-19T16:17:10.413Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:10.413Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:10.414Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:10.414Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:10.414Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:10.414Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:10.415Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind371"}

data: {"time":"2026-09-19T16:17:10.415Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:10.416Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:10.416Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:10.416Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.417Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:10.417Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:10.417Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:10.418Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:10.418Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:10.418Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.419Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:10.419Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:10.420Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:10.420Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:10.422Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:10.422Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:10.423Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:10.423Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.423Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:10.424Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:10.424Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.425Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:10.425Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:10.426Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:10.427Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.427Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:10.427Z","priority":"6","pid":"2830187","message":"=== End of file valgrind371"}

data: {"time":"2026-09-19T16:17:10.428Z","priority":"6","pid":"2830187","message":"test 0372 [Binary zero in data element.]"}

data: {"time":"2026-09-19T16:17:10.429Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind372 ../src/curl -q --output log/curl372.out  --include --trace-ascii log/trace372 --trace-time --raw http://127.0.0.1:36137/binary-zero-in-data-section/372 > log/stdout372 2> log/stderr372"}

data: {"time":"2026-09-19T16:17:10.429Z","priority":"6","pid":"2830187","message":" 372: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:10.430Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:10.430Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:10.430Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 372"}

data: {"time":"2026-09-19T16:17:10.431Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:10.432Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind372 ../src/curl -q --output log/curl372.out  --include --trace-ascii log/trace372 --trace-time --raw http://127.0.0.1:36137/binary-zero-in-data-section/372 > log/stdout372 2> log/stderr372"}

data: {"time":"2026-09-19T16:17:10.433Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:10.433Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:10.434Z","priority":"6","pid":"2830187","message":" 16:17:10.017086 ====> Client connect"}

data: {"time":"2026-09-19T16:17:10.434Z","priority":"6","pid":"2830187","message":" 16:17:10.017162 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:10.435Z","priority":"6","pid":"2830187","message":" 16:17:10.017402 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:10.435Z","priority":"6","pid":"2830187","message":" 16:17:10.017434 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:10.435Z","priority":"6","pid":"2830187","message":" 16:17:10.017453 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:10.436Z","priority":"6","pid":"2830187","message":" 16:17:10.017464 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:10.436Z","priority":"6","pid":"2830187","message":" 16:17:10.017515 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:10.436Z","priority":"6","pid":"2830187","message":" 16:17:10.017542 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:10.437Z","priority":"6","pid":"2830187","message":" 16:17:10.017613 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:10.437Z","priority":"6","pid":"2830187","message":" 16:17:10.017626 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:10.438Z","priority":"6","pid":"2830187","message":" 16:17:10.017637 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:10.438Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:10.438Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:10.439Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:10.439Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34760"}

data: {"time":"2026-09-19T16:17:10.440Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:10.440Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:10.441Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:10.441Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:10.441Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:10.441Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:10.441Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:10.442Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:10.442Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:10.442Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:10.442Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:10.443Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:10.443Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:10.443Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:10.444Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:10.444Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:10.444Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:10.444Z","priority":"6","pid":"2830187","message":" Testnum 372"}

data: {"time":"2026-09-19T16:17:10.445Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:10.445Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:10.445Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:10.446Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:10.446Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:10.446Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:10.446Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind372"}

data: {"time":"2026-09-19T16:17:10.447Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:10.447Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:10.447Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:10.448Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.448Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:10.448Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:10.449Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:10.449Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:10.449Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:10.450Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.451Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:10.451Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:10.451Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:10.451Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:10.452Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:10.452Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:10.453Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:10.453Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.453Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:10.454Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:10.454Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.455Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:10.455Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:10.456Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:10.456Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.456Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:10.456Z","priority":"6","pid":"2830187","message":"=== End of file valgrind372"}

data: {"time":"2026-09-19T16:17:10.457Z","priority":"6","pid":"2830187","message":"test 0373 [Chunked transfer encoding - Multiple valid chunks with binary zeros.]"}

data: {"time":"2026-09-19T16:17:10.682Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind373 ../src/curl -q --output log/curl373.out  --include --trace-asCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind374 ../src/curl -q --output log/curl374.out  --include --trace-ascii log/trace374 --trace-time http://127.0.0.1:36137/gif/374 > log/stdout374 2> log/stderr374"}

data: {"time":"2026-09-19T16:17:10.928Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind376 ../src/curl -q --include --trace-ascii log/trace376 --trace-time http://127.0.0.1:36137/376 -o log/save-376 --remove-on-error > log/stdout376 2> log/stderr376"}

data: {"time":"2026-09-19T16:17:10.932Z","priority":"6","pid":"2830187","message":"cii log/trace373 --trace-time http://127.0.0.1:36137/chunked-transfer-encoding/373 > log/stdout373 2> log/stderr373"}

data: {"time":"2026-09-19T16:17:10.933Z","priority":"6","pid":"2830187","message":" 373: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:10.934Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:10.934Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:10.936Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 373"}

data: {"time":"2026-09-19T16:17:10.936Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:10.939Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind373 ../src/curl -q --output log/curl373.out  --include --trace-ascii log/trace373 --trace-time http://127.0.0.1:36137/chunked-transfer-encoding/373 > log/stdout373 2> log/stderr373"}

data: {"time":"2026-09-19T16:17:10.940Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:10.940Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:10.940Z","priority":"6","pid":"2830187","message":" 16:17:10.253179 ====> Client connect"}

data: {"time":"2026-09-19T16:17:10.941Z","priority":"6","pid":"2830187","message":" 16:17:10.253224 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:10.941Z","priority":"6","pid":"2830187","message":" 16:17:10.253382 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:10.941Z","priority":"6","pid":"2830187","message":" 16:17:10.253397 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:10.942Z","priority":"6","pid":"2830187","message":" 16:17:10.253412 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:10.943Z","priority":"6","pid":"2830187","message":" 16:17:10.253422 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:10.943Z","priority":"6","pid":"2830187","message":" 16:17:10.253456 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:10.943Z","priority":"6","pid":"2830187","message":" 16:17:10.253477 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:10.944Z","priority":"6","pid":"2830187","message":" 16:17:10.253649 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:10.944Z","priority":"6","pid":"2830187","message":" 16:17:10.253670 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:10.945Z","priority":"6","pid":"2830187","message":" 16:17:10.253682 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:10.945Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:10.945Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:10.946Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:10.946Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34762"}

data: {"time":"2026-09-19T16:17:10.947Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:10.948Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:10.948Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:10.948Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:10.948Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:10.948Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:10.948Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:10.949Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:10.949Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:10.949Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:10.949Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:10.950Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:10.950Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:10.950Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:10.951Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:10.952Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:10.952Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:10.952Z","priority":"6","pid":"2830187","message":" Testnum 373"}

data: {"time":"2026-09-19T16:17:10.952Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:10.952Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:10.952Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:10.953Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:10.953Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:10.953Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:10.953Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind373"}

data: {"time":"2026-09-19T16:17:10.954Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:10.954Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:10.955Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:10.955Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.955Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:10.956Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:10.956Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:10.957Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:10.957Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:10.958Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.958Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:10.959Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:10.959Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:10.960Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:10.960Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:10.961Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:10.961Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:10.961Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.962Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:10.962Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:10.962Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.963Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:10.963Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:10.964Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:10.964Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.964Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:10.965Z","priority":"6","pid":"2830187","message":"=== End of file valgrind373"}

data: {"time":"2026-09-19T16:17:10.965Z","priority":"6","pid":"2830187","message":"test 0374 [Valid gif with two frames. No new line in data section.]"}

data: {"time":"2026-09-19T16:17:10.967Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind374 ../src/curl -q --output log/curl374.out  --include --trace-ascii log/trace374 --trace-time http://127.0.0.1:36137/gif/374 > log/stdout374 2> log/stderr374"}

data: {"time":"2026-09-19T16:17:10.967Z","priority":"6","pid":"2830187","message":" 374: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:10.968Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:10.968Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:10.968Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 374"}

data: {"time":"2026-09-19T16:17:10.969Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:10.970Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind374 ../src/curl -q --output log/curl374.out  --include --trace-ascii log/trace374 --trace-time http://127.0.0.1:36137/gif/374 > log/stdout374 2> log/stderr374"}

data: {"time":"2026-09-19T16:17:10.970Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:10.971Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:10.971Z","priority":"6","pid":"2830187","message":" 16:17:10.568534 ====> Client connect"}

data: {"time":"2026-09-19T16:17:10.972Z","priority":"6","pid":"2830187","message":" 16:17:10.568596 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:10.972Z","priority":"6","pid":"2830187","message":" 16:17:10.568797 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:10.972Z","priority":"6","pid":"2830187","message":" 16:17:10.568824 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:10.973Z","priority":"6","pid":"2830187","message":" 16:17:10.568842 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:10.973Z","priority":"6","pid":"2830187","message":" 16:17:10.568853 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:10.974Z","priority":"6","pid":"2830187","message":" 16:17:10.568902 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:10.974Z","priority":"6","pid":"2830187","message":" 16:17:10.568926 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:10.975Z","priority":"6","pid":"2830187","message":" 16:17:10.569001 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:10.975Z","priority":"6","pid":"2830187","message":" 16:17:10.569015 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:10.976Z","priority":"6","pid":"2830187","message":" 16:17:10.569026 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:10.976Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:10.976Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:10.977Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:10.977Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34766"}

data: {"time":"2026-09-19T16:17:10.977Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:10.978Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:10.978Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:10.978Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:10.979Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:10.979Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:10.979Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:10.979Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:10.980Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:10.981Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:10.981Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:10.981Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:10.981Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:10.981Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:10.981Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:10.982Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:10.982Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:10.982Z","priority":"6","pid":"2830187","message":" Testnum 374"}

data: {"time":"2026-09-19T16:17:10.982Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:10.983Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:10.983Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:10.983Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:10.983Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:10.984Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:10.984Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind374"}

data: {"time":"2026-09-19T16:17:10.984Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:10.985Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:10.985Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:10.986Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.986Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:10.987Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:10.987Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:10.987Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:10.988Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:10.988Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.989Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:10.989Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:10.990Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:10.990Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:10.991Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:10.992Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:10.992Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:10.992Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.992Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:10.993Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:10.993Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.993Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:10.994Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:10.994Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:10.994Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:10.995Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:10.996Z","priority":"6","pid":"2830187","message":"=== End of file valgrind374"}

data: {"time":"2026-09-19T16:17:10.996Z","priority":"6","pid":"2830187","message":"test 0376 [--remove-on-error]"}

data: {"time":"2026-09-19T16:17:10.997Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind376 ../src/curl -q --include --trace-ascii log/trace376 --trace-time http://127.0.0.1:36137/376 -o log/save-376 --remove-on-error > log/stdout376 2> log/stderr376"}

data: {"time":"2026-09-19T16:17:10.998Z","priority":"6","pid":"2830187","message":" 376: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:10.998Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:10.999Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:10.999Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 376"}

data: {"time":"2026-09-19T16:17:10.999Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:11.190Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind376 ../src/curl -q --include --trace-ascii log/trace376 --trace-time http://127.0.0.1:36137/376 -o log/save-376 --reCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind378 ../src/curl -q --output log/curl378.out  --include --trace-ascii log/trace378 --trace-time -T log/378 -d input http://never-accessed > log/stdout378 2> log/stderr378"}

data: {"time":"2026-09-19T16:17:11.205Z","priority":"6","pid":"2830187","message":"move-on-error > log/stdout376 2> log/stderr376"}

data: {"time":"2026-09-19T16:17:11.205Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:11.205Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:11.206Z","priority":"6","pid":"2830187","message":" 16:17:10.813024 ====> Client connect"}

data: {"time":"2026-09-19T16:17:11.206Z","priority":"6","pid":"2830187","message":" 16:17:10.813067 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:11.206Z","priority":"6","pid":"2830187","message":" 16:17:10.813268 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:11.207Z","priority":"6","pid":"2830187","message":" 16:17:10.813285 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:11.207Z","priority":"6","pid":"2830187","message":" 16:17:10.813300 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:11.208Z","priority":"6","pid":"2830187","message":" 16:17:10.813338 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:11.208Z","priority":"6","pid":"2830187","message":" 16:17:10.813381 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:11.209Z","priority":"6","pid":"2830187","message":" 16:17:10.813403 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:11.209Z","priority":"6","pid":"2830187","message":" 16:17:10.813480 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:11.209Z","priority":"6","pid":"2830187","message":" 16:17:10.813491 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:11.210Z","priority":"6","pid":"2830187","message":" 16:17:10.813500 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:11.210Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:11.211Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:11.211Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:11.211Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34772"}

data: {"time":"2026-09-19T16:17:11.212Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:11.213Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:11.213Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:11.213Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:11.213Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:11.213Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:11.214Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:11.214Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:11.214Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:11.214Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:11.214Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:11.215Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:11.215Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:11.215Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:11.216Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:11.217Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:11.217Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:11.217Z","priority":"6","pid":"2830187","message":" Testnum 376"}

data: {"time":"2026-09-19T16:17:11.217Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:11.217Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:11.217Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:11.218Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:11.218Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:11.218Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:11.218Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind376"}

data: {"time":"2026-09-19T16:17:11.219Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:11.219Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:11.220Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:11.220Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.220Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:11.221Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:11.221Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:11.222Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:11.222Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:11.223Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.223Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:11.224Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:11.224Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:11.225Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:11.225Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:11.226Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:11.226Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:11.226Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.227Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:11.227Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:11.227Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.228Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:11.228Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:11.229Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:11.229Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.230Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:11.230Z","priority":"6","pid":"2830187","message":"=== End of file valgrind376"}

data: {"time":"2026-09-19T16:17:11.499Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind379 ../src/curl -q --include --trace-ascii log/trace379 --trace-time http://127.0.0.1:36137/379 -o log/save --remove-on-error --no-clobber > log/stdout379 2> log/stderr379"}

data: {"time":"2026-09-19T16:17:11.820Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind380 ../src/curl -q --output log/curl380.out  --include --trace-ascii log/trace380 --trace-time --netrc --netrc-file log/netrc380 ftp://mary@127.0.0.1:40021/ > log/stdout380 2> log/stderr380"}

data: {"time":"2026-09-19T16:17:11.826Z","priority":"6","pid":"2830187","message":"test 0378 [Reject using -T and -d at once]"}

data: {"time":"2026-09-19T16:17:11.827Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind378 ../src/curl -q --output log/curl378.out  --include --trace-ascii log/trace378 --trace-time -T log/378 -d input http://never-accessed > log/stdout378 2> log/stderr378"}

data: {"time":"2026-09-19T16:17:11.827Z","priority":"6","pid":"2830187","message":" 378: stderr FAILED:"}

data: {"time":"2026-09-19T16:17:11.828Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:17:11.204271751 +0000"}

data: {"time":"2026-09-19T16:17:11.828Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:17:11.203632727 +0000"}

data: {"time":"2026-09-19T16:17:11.829Z","priority":"6","pid":"2830187","message":"@@ -1,2 +0,0 @@"}

data: {"time":"2026-09-19T16:17:11.829Z","priority":"6","pid":"2830187","message":"-Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF]"}

data: {"time":"2026-09-19T16:17:11.830Z","priority":"6","pid":"2830187","message":"-Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF]"}

data: {"time":"2026-09-19T16:17:11.830Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 378"}

data: {"time":"2026-09-19T16:17:11.830Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:17:11.831Z","priority":"6","pid":"2830187","message":" Warning: You can only select one HTTP request method! You asked for both PUT [CR][LF]"}

data: {"time":"2026-09-19T16:17:11.832Z","priority":"6","pid":"2830187","message":" Warning: (-T, --upload-file) and POST (-d, --data).[CR][LF]"}

data: {"time":"2026-09-19T16:17:11.832Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:17:11.832Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:11.833Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind378 ../src/curl -q --output log/curl378.out  --include --trace-ascii log/trace378 --trace-time -T log/378 -d input http://never-accessed > log/stdout378 2> log/stderr378"}

data: {"time":"2026-09-19T16:17:11.834Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:11.834Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:11.835Z","priority":"6","pid":"2830187","message":" Testnum 378"}

data: {"time":"2026-09-19T16:17:11.835Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:11.835Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind378"}

data: {"time":"2026-09-19T16:17:11.835Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:11.835Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:11.836Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:11.836Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.837Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:11.837Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:11.837Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:11.838Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:11.838Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:11.838Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.839Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:11.839Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:11.840Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:11.840Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:11.841Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:11.841Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:11.841Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:11.841Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.842Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:11.842Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:11.843Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.843Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:11.843Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:11.844Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:11.844Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.845Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:11.845Z","priority":"6","pid":"2830187","message":"=== End of file valgrind378"}

data: {"time":"2026-09-19T16:17:11.845Z","priority":"6","pid":"2830187","message":"test 0379 [--remove-on-error with --no-clobber and an added number]"}

data: {"time":"2026-09-19T16:17:11.847Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind379 ../src/curl -q --include --trace-ascii log/trace379 --trace-time http://127.0.0.1:36137/379 -o log/save --remove-on-error --no-clobber > log/stdout379 2> log/stderr379"}

data: {"time":"2026-09-19T16:17:11.848Z","priority":"6","pid":"2830187","message":" 379: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:11.848Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:11.848Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:11.849Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 379"}

data: {"time":"2026-09-19T16:17:11.849Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:11.851Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind379 ../src/curl -q --include --trace-ascii log/trace379 --trace-time http://127.0.0.1:36137/379 -o log/save --remove-on-error --no-clobber > log/stdout379 2> log/stderr379"}

data: {"time":"2026-09-19T16:17:11.852Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:11.852Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:11.852Z","priority":"6","pid":"2830187","message":" 16:17:11.374368 ====> Client connect"}

data: {"time":"2026-09-19T16:17:11.852Z","priority":"6","pid":"2830187","message":" 16:17:11.374432 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:11.852Z","priority":"6","pid":"2830187","message":" 16:17:11.374699 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:11.852Z","priority":"6","pid":"2830187","message":" 16:17:11.374730 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:11.853Z","priority":"6","pid":"2830187","message":" 16:17:11.374749 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:11.853Z","priority":"6","pid":"2830187","message":" 16:17:11.374761 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:11.854Z","priority":"6","pid":"2830187","message":" 16:17:11.374810 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:11.854Z","priority":"6","pid":"2830187","message":" 16:17:11.374835 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:11.855Z","priority":"6","pid":"2830187","message":" 16:17:11.374922 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:11.855Z","priority":"6","pid":"2830187","message":" 16:17:11.374943 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:11.856Z","priority":"6","pid":"2830187","message":" 16:17:11.374953 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:11.856Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:11.856Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:11.857Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:11.857Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34786"}

data: {"time":"2026-09-19T16:17:11.857Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:11.858Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:11.858Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:11.858Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:11.859Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:11.859Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:11.859Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:11.860Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:11.860Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:11.860Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:11.860Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:11.860Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:11.861Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:11.861Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:11.861Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:11.862Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:11.862Z","priority":"6","pid":"2830187","message":"=== Start of file save"}

data: {"time":"2026-09-19T16:17:11.862Z","priority":"6","pid":"2830187","message":" exists before command runs"}

data: {"time":"2026-09-19T16:17:11.862Z","priority":"6","pid":"2830187","message":"=== End of file save"}

data: {"time":"2026-09-19T16:17:11.863Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:11.863Z","priority":"6","pid":"2830187","message":" Testnum 379"}

data: {"time":"2026-09-19T16:17:11.863Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:11.863Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:11.864Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:11.864Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:11.864Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:11.865Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:11.866Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind379"}

data: {"time":"2026-09-19T16:17:11.867Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:11.867Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:11.867Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:11.868Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.868Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:11.869Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:11.869Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:11.871Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:11.871Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:11.873Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.874Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:11.874Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:11.875Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:11.876Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:11.878Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:11.879Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:11.879Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:11.880Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.880Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:11.880Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:11.882Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.882Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:11.884Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:11.884Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:11.884Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:11.884Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:11.886Z","priority":"6","pid":"2830187","message":"=== End of file valgrind379"}

data: {"time":"2026-09-19T16:17:11.886Z","priority":"6","pid":"2830187","message":"test 0380 [pick netrc password based on username in URL]"}

data: {"time":"2026-09-19T16:17:11.888Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind380 ../src/curl -q --output log/curl380.out  --include --trace-ascii log/trace380 --trace-time --netrc --netrc-file log/netrc380 ftp://mary@127.0.0.1:40021/ > log/stdout380 2> log/stderr380"}

data: {"time":"2026-09-19T16:17:11.888Z","priority":"6","pid":"2830187","message":" 380: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:11.889Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:11.889Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:11.890Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 380"}

data: {"time":"2026-09-19T16:17:11.890Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:11.892Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind380 ../src/curl -q --output log/curl380.out  --include --trace-ascii log/trace380 --trace-time --netrc --netrc-file log/netrc380 ftp://mary@127.0.0.1:40021/ > log/stdout380 2> log/stderr380"}

data: {"time":"2026-09-19T16:17:11.892Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:11.892Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:11.893Z","priority":"6","pid":"2830187","message":" 16:17:11.555507 ====> Client connect"}

data: {"time":"2026-09-19T16:17:11.894Z","priority":"6","pid":"2830187","message":" 16:17:11.555856 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:17:11.894Z","priority":"6","pid":"2830187","message":" 16:17:11.556693 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:17:11.894Z","priority":"6","pid":"2830187","message":" 16:17:11.556846 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.203Z","priority":"6","pid":"2830187","message":" 16:17:11.55719CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind381 ../src/curl -q --output log/curl381.out  --include --trace-ascii log/trace381 --trace-time --netrc-optional --netrc-file log/netrc381 ftp://mary:drfrank@127.0.0.1:40021/ > log/stdout381 2> log/stderr381"}

data: {"time":"2026-09-19T16:17:12.208Z","priority":"6","pid":"2830187","message":"2 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:17:12.208Z","priority":"6","pid":"2830187","message":" 16:17:11.557243 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.208Z","priority":"6","pid":"2830187","message":" 16:17:11.557596 < \"PWD\""}

data: {"time":"2026-09-19T16:17:12.209Z","priority":"6","pid":"2830187","message":" 16:17:11.557654 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.209Z","priority":"6","pid":"2830187","message":" 16:17:11.557942 < \"EPSV\""}

data: {"time":"2026-09-19T16:17:12.210Z","priority":"6","pid":"2830187","message":" 16:17:11.557980 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:17:12.210Z","priority":"6","pid":"2830187","message":" 16:17:11.558010 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:17:12.210Z","priority":"6","pid":"2830187","message":" 16:17:11.561882 DATA sockfilt for passive data channel started (pid 100320)"}

data: {"time":"2026-09-19T16:17:12.211Z","priority":"6","pid":"2830187","message":" 16:17:11.562133 DATA sockfilt for passive data channel listens on port 45663"}

data: {"time":"2026-09-19T16:17:12.211Z","priority":"6","pid":"2830187","message":" 16:17:11.562223 > \"229 Entering Passive Mode (|||45663|)[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.212Z","priority":"6","pid":"2830187","message":" 16:17:11.562251 Client has been notified that upcoming DATA connection is awaited on port 45663"}

data: {"time":"2026-09-19T16:17:12.212Z","priority":"6","pid":"2830187","message":" 16:17:11.562909 Client connects to port 45663"}

data: {"time":"2026-09-19T16:17:12.213Z","priority":"6","pid":"2830187","message":" 16:17:11.562982 ====> Client established passive DATA connection on port 45663"}

data: {"time":"2026-09-19T16:17:12.213Z","priority":"6","pid":"2830187","message":" 16:17:11.563167 < \"TYPE I\""}

data: {"time":"2026-09-19T16:17:12.214Z","priority":"6","pid":"2830187","message":" 16:17:11.563437 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.215Z","priority":"6","pid":"2830187","message":" 16:17:11.563627 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:17:12.215Z","priority":"6","pid":"2830187","message":" 16:17:11.563743 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.215Z","priority":"6","pid":"2830187","message":" 16:17:11.564059 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:17:12.215Z","priority":"6","pid":"2830187","message":" 16:17:11.564130 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.216Z","priority":"6","pid":"2830187","message":" 16:17:11.564523 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:17:12.217Z","priority":"6","pid":"2830187","message":" 16:17:11.564554 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:17:12.217Z","priority":"6","pid":"2830187","message":" 16:17:11.564851 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:17:12.217Z","priority":"6","pid":"2830187","message":" 16:17:11.564894 DATA sockfilt for passive data channel quits (pid 100320)"}

data: {"time":"2026-09-19T16:17:12.218Z","priority":"6","pid":"2830187","message":" 16:17:11.565433 DATA sockfilt for passive data channel quit (pid 100320)"}

data: {"time":"2026-09-19T16:17:12.218Z","priority":"6","pid":"2830187","message":" 16:17:11.565480 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:17:12.220Z","priority":"6","pid":"2830187","message":" 16:17:11.565535 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.220Z","priority":"6","pid":"2830187","message":" 16:17:11.605281 < \"QUIT\""}

data: {"time":"2026-09-19T16:17:12.220Z","priority":"6","pid":"2830187","message":" 16:17:11.605442 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.222Z","priority":"6","pid":"2830187","message":" 16:17:11.606502 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:17:12.223Z","priority":"6","pid":"2830187","message":" 16:17:11.606708 ====> Client disconnected"}

data: {"time":"2026-09-19T16:17:12.223Z","priority":"6","pid":"2830187","message":" 16:17:11.606878 Awaiting input"}

data: {"time":"2026-09-19T16:17:12.223Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:12.224Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:12.225Z","priority":"6","pid":"2830187","message":" 16:17:11.623184 ====> Client connect"}

data: {"time":"2026-09-19T16:17:12.225Z","priority":"6","pid":"2830187","message":" 16:17:11.624006 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.226Z","priority":"6","pid":"2830187","message":" 16:17:11.624053 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.228Z","priority":"6","pid":"2830187","message":" 16:17:11.624068 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:17:12.228Z","priority":"6","pid":"2830187","message":" 16:17:11.624081 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.230Z","priority":"6","pid":"2830187","message":" 16:17:11.624092 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.231Z","priority":"6","pid":"2830187","message":" 16:17:11.624257 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.231Z","priority":"6","pid":"2830187","message":" 16:17:11.624320 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.232Z","priority":"6","pid":"2830187","message":" 16:17:11.624723 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.233Z","priority":"6","pid":"2830187","message":" 16:17:11.624750 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.235Z","priority":"6","pid":"2830187","message":" 16:17:11.624847 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.235Z","priority":"6","pid":"2830187","message":" 16:17:11.624973 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.236Z","priority":"6","pid":"2830187","message":" 16:17:11.624995 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.237Z","priority":"6","pid":"2830187","message":" 16:17:11.625216 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.237Z","priority":"6","pid":"2830187","message":" 16:17:11.625235 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.237Z","priority":"6","pid":"2830187","message":" 16:17:11.625248 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.238Z","priority":"6","pid":"2830187","message":" 16:17:11.625396 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.238Z","priority":"6","pid":"2830187","message":" 16:17:11.625418 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.239Z","priority":"6","pid":"2830187","message":" 16:17:11.625629 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.239Z","priority":"6","pid":"2830187","message":" 16:17:11.625649 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.240Z","priority":"6","pid":"2830187","message":" 16:17:11.625662 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.240Z","priority":"6","pid":"2830187","message":" 16:17:11.625772 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.241Z","priority":"6","pid":"2830187","message":" 16:17:11.625788 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.241Z","priority":"6","pid":"2830187","message":" 16:17:11.630256 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.241Z","priority":"6","pid":"2830187","message":" 16:17:11.630327 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.242Z","priority":"6","pid":"2830187","message":" 16:17:11.630343 '229 Entering Passive Mode (|||45663|)\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.243Z","priority":"6","pid":"2830187","message":" 16:17:11.630714 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.243Z","priority":"6","pid":"2830187","message":" 16:17:11.630747 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.243Z","priority":"6","pid":"2830187","message":" 16:17:11.631167 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.243Z","priority":"6","pid":"2830187","message":" 16:17:11.631190 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.244Z","priority":"6","pid":"2830187","message":" 16:17:11.631216 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.244Z","priority":"6","pid":"2830187","message":" 16:17:11.631442 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.245Z","priority":"6","pid":"2830187","message":" 16:17:11.631460 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.245Z","priority":"6","pid":"2830187","message":" 16:17:11.631634 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.246Z","priority":"6","pid":"2830187","message":" 16:17:11.631653 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.247Z","priority":"6","pid":"2830187","message":" 16:17:11.631717 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.247Z","priority":"6","pid":"2830187","message":" 16:17:11.631833 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.247Z","priority":"6","pid":"2830187","message":" 16:17:11.631850 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.247Z","priority":"6","pid":"2830187","message":" 16:17:11.632179 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.248Z","priority":"6","pid":"2830187","message":" 16:17:11.632198 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.248Z","priority":"6","pid":"2830187","message":" 16:17:11.632212 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.249Z","priority":"6","pid":"2830187","message":" 16:17:11.633526 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.249Z","priority":"6","pid":"2830187","message":" 16:17:11.633549 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.250Z","priority":"6","pid":"2830187","message":" 16:17:11.633566 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.250Z","priority":"6","pid":"2830187","message":" 16:17:11.672962 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.250Z","priority":"6","pid":"2830187","message":" 16:17:11.673058 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.251Z","priority":"6","pid":"2830187","message":" 16:17:11.673436 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.251Z","priority":"6","pid":"2830187","message":" 16:17:11.673462 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.251Z","priority":"6","pid":"2830187","message":" 16:17:11.673478 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.251Z","priority":"6","pid":"2830187","message":" 16:17:11.674346 ====> Client disconnect"}

data: {"time":"2026-09-19T16:17:12.252Z","priority":"6","pid":"2830187","message":" 16:17:11.674535 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:17:12.252Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:12.252Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:12.253Z","priority":"6","pid":"2830187","message":" 16:17:11.629426 Running IPv4 version"}

data: {"time":"2026-09-19T16:17:12.253Z","priority":"6","pid":"2830187","message":" 16:17:11.629648 Listening on port 45663"}

data: {"time":"2026-09-19T16:17:12.254Z","priority":"6","pid":"2830187","message":" 16:17:11.629709 Wrote pid 100320 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:17:12.254Z","priority":"6","pid":"2830187","message":" 16:17:11.629745 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:17:12.254Z","priority":"6","pid":"2830187","message":" 16:17:11.629930 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:17:12.255Z","priority":"6","pid":"2830187","message":" 16:17:11.630787 ====> Client connect"}

data: {"time":"2026-09-19T16:17:12.256Z","priority":"6","pid":"2830187","message":" 16:17:11.632122 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.256Z","priority":"6","pid":"2830187","message":" 16:17:11.632157 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.256Z","priority":"6","pid":"2830187","message":" 16:17:11.632264 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.256Z","priority":"6","pid":"2830187","message":" 16:17:11.632682 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:17:12.257Z","priority":"6","pid":"2830187","message":" 16:17:11.632710 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:17:12.257Z","priority":"6","pid":"2830187","message":" 16:17:11.632871 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:17:12.257Z","priority":"6","pid":"2830187","message":" 16:17:11.632886 quits"}

data: {"time":"2026-09-19T16:17:12.258Z","priority":"6","pid":"2830187","message":" 16:17:11.633017 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:17:12.258Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:12.258Z","priority":"6","pid":"2830187","message":"=== Start of file netrc380"}

data: {"time":"2026-09-19T16:17:12.259Z","priority":"6","pid":"2830187","message":" # the following two lines were created while testing curl"}

data: {"time":"2026-09-19T16:17:12.259Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login frankenstein password wrongone"}

data: {"time":"2026-09-19T16:17:12.260Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login mary password yram"}

data: {"time":"2026-09-19T16:17:12.260Z","priority":"6","pid":"2830187","message":"=== End of file netrc380"}

data: {"time":"2026-09-19T16:17:12.260Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:12.261Z","priority":"6","pid":"2830187","message":" Testnum 380"}

data: {"time":"2026-09-19T16:17:12.262Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:12.262Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind380"}

data: {"time":"2026-09-19T16:17:12.262Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:12.262Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:12.263Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:12.263Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.263Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:12.264Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:12.264Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:12.264Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:12.265Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:12.265Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.265Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:12.266Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:12.266Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:12.266Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:12.267Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:12.267Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:12.267Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:12.268Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.268Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:12.268Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:12.268Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.269Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:12.269Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:12.269Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:12.270Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.270Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:12.270Z","priority":"6","pid":"2830187","message":"=== End of file valgrind380"}

data: {"time":"2026-09-19T16:17:12.270Z","priority":"6","pid":"2830187","message":"test 0381 [netrc-optional lets URL creds override netrc]"}

data: {"time":"2026-09-19T16:17:12.272Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind381 ../src/curl -q --output log/curl381.out  --include --trace-ascii log/trace381 --trace-time --netrc-optional --netrc-file log/netrc381 ftp://mary:drfrank@127.0.0.1:40021/ > log/stdout381 2> log/stderr381"}

data: {"time":"2026-09-19T16:17:12.272Z","priority":"6","pid":"2830187","message":" 381: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:12.273Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:12.273Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:12.273Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 381"}

data: {"time":"2026-09-19T16:17:12.274Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:12.275Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind381 ../src/curl -q --output log/curl381.out  --include --trace-ascii log/trace381 --trace-time --netrc-optional --netrc-file log/netrc381 ftp://mary:drfrank@127.0.0.1:40021/ > log/stdout381 2> log/stderr381"}

data: {"time":"2026-09-19T16:17:12.275Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:12.275Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:12.276Z","priority":"6","pid":"2830187","message":" 16:17:11.938380 ====> Client connect"}

data: {"time":"2026-09-19T16:17:12.277Z","priority":"6","pid":"2830187","message":" 16:17:11.939191 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.278Z","priority":"6","pid":"2830187","message":" 16:17:11.939453 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:17:12.278Z","priority":"6","pid":"2830187","message":" 16:17:11.939677 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.278Z","priority":"6","pid":"2830187","message":" 16:17:11.939893 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:17:12.279Z","priority":"6","pid":"2830187","message":" 16:17:11.939963 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.279Z","priority":"6","pid":"2830187","message":" 16:17:11.940250 < \"PWD\""}

data: {"time":"2026-09-19T16:17:12.279Z","priority":"6","pid":"2830187","message":" 16:17:11.940309 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.522Z","priority":"6","pid":"2830187","message":" 16:17:11.940680 < \"EPSCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind383 ../src/curl -q --output log/curl383.out  --include --trace-ascii log/trace383 --trace-time --json '{ \"drink\": \"coffee\" }' http://127.0.0.1:36137/383 > log/stdout383 2> log/stderr383"}

data: {"time":"2026-09-19T16:17:12.540Z","priority":"6","pid":"2830187","message":"V\""}

data: {"time":"2026-09-19T16:17:12.540Z","priority":"6","pid":"2830187","message":" 16:17:11.940724 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:17:12.541Z","priority":"6","pid":"2830187","message":" 16:17:11.940743 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:17:12.542Z","priority":"6","pid":"2830187","message":" 16:17:11.944690 DATA sockfilt for passive data channel started (pid 100389)"}

data: {"time":"2026-09-19T16:17:12.542Z","priority":"6","pid":"2830187","message":" 16:17:11.944955 DATA sockfilt for passive data channel listens on port 45631"}

data: {"time":"2026-09-19T16:17:12.544Z","priority":"6","pid":"2830187","message":" 16:17:11.945200 > \"229 Entering Passive Mode (|||45631|)[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.544Z","priority":"6","pid":"2830187","message":" 16:17:11.945237 Client has been notified that upcoming DATA connection is awaited on port 45631"}

data: {"time":"2026-09-19T16:17:12.549Z","priority":"6","pid":"2830187","message":" 16:17:11.945755 Client connects to port 45631"}

data: {"time":"2026-09-19T16:17:12.549Z","priority":"6","pid":"2830187","message":" 16:17:11.945819 ====> Client established passive DATA connection on port 45631"}

data: {"time":"2026-09-19T16:17:12.549Z","priority":"6","pid":"2830187","message":" 16:17:11.945987 < \"TYPE I\""}

data: {"time":"2026-09-19T16:17:12.549Z","priority":"6","pid":"2830187","message":" 16:17:11.946256 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.549Z","priority":"6","pid":"2830187","message":" 16:17:11.946404 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:17:12.549Z","priority":"6","pid":"2830187","message":" 16:17:11.946469 > \"213 17[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.549Z","priority":"6","pid":"2830187","message":" 16:17:11.946791 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:17:12.550Z","priority":"6","pid":"2830187","message":" 16:17:11.946915 > \"150 Binary junk (17 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.550Z","priority":"6","pid":"2830187","message":" 16:17:11.947057 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:17:12.550Z","priority":"6","pid":"2830187","message":" 16:17:11.947086 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:17:12.552Z","priority":"6","pid":"2830187","message":" 16:17:11.947623 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:17:12.553Z","priority":"6","pid":"2830187","message":" 16:17:11.947681 DATA sockfilt for passive data channel quits (pid 100389)"}

data: {"time":"2026-09-19T16:17:12.553Z","priority":"6","pid":"2830187","message":" 16:17:11.948199 DATA sockfilt for passive data channel quit (pid 100389)"}

data: {"time":"2026-09-19T16:17:12.553Z","priority":"6","pid":"2830187","message":" 16:17:11.948244 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:17:12.554Z","priority":"6","pid":"2830187","message":" 16:17:11.948292 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.554Z","priority":"6","pid":"2830187","message":" 16:17:11.988392 < \"QUIT\""}

data: {"time":"2026-09-19T16:17:12.555Z","priority":"6","pid":"2830187","message":" 16:17:11.988510 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:17:12.555Z","priority":"6","pid":"2830187","message":" 16:17:11.989510 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:17:12.556Z","priority":"6","pid":"2830187","message":" 16:17:11.989692 ====> Client disconnected"}

data: {"time":"2026-09-19T16:17:12.556Z","priority":"6","pid":"2830187","message":" 16:17:11.989848 Awaiting input"}

data: {"time":"2026-09-19T16:17:12.557Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:17:12.557Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:12.557Z","priority":"6","pid":"2830187","message":" 16:17:12.006075 ====> Client connect"}

data: {"time":"2026-09-19T16:17:12.557Z","priority":"6","pid":"2830187","message":" 16:17:12.006617 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.558Z","priority":"6","pid":"2830187","message":" 16:17:12.006658 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.558Z","priority":"6","pid":"2830187","message":" 16:17:12.006790 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:17:12.560Z","priority":"6","pid":"2830187","message":" 16:17:12.006819 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.560Z","priority":"6","pid":"2830187","message":" 16:17:12.006833 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.560Z","priority":"6","pid":"2830187","message":" 16:17:12.006995 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.560Z","priority":"6","pid":"2830187","message":" 16:17:12.007014 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.560Z","priority":"6","pid":"2830187","message":" 16:17:12.007462 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.561Z","priority":"6","pid":"2830187","message":" 16:17:12.007483 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.561Z","priority":"6","pid":"2830187","message":" 16:17:12.007496 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.562Z","priority":"6","pid":"2830187","message":" 16:17:12.007677 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.562Z","priority":"6","pid":"2830187","message":" 16:17:12.007698 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.562Z","priority":"6","pid":"2830187","message":" 16:17:12.007927 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.563Z","priority":"6","pid":"2830187","message":" 16:17:12.007948 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.563Z","priority":"6","pid":"2830187","message":" 16:17:12.007963 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.564Z","priority":"6","pid":"2830187","message":" 16:17:12.008058 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.564Z","priority":"6","pid":"2830187","message":" 16:17:12.008074 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.564Z","priority":"6","pid":"2830187","message":" 16:17:12.008290 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.566Z","priority":"6","pid":"2830187","message":" 16:17:12.008313 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.566Z","priority":"6","pid":"2830187","message":" 16:17:12.008326 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.566Z","priority":"6","pid":"2830187","message":" 16:17:12.008501 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.566Z","priority":"6","pid":"2830187","message":" 16:17:12.008527 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.566Z","priority":"6","pid":"2830187","message":" 16:17:12.012965 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.567Z","priority":"6","pid":"2830187","message":" 16:17:12.012992 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.567Z","priority":"6","pid":"2830187","message":" 16:17:12.013022 '229 Entering Passive Mode (|||45631|)\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.568Z","priority":"6","pid":"2830187","message":" 16:17:12.013609 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.568Z","priority":"6","pid":"2830187","message":" 16:17:12.013632 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.568Z","priority":"6","pid":"2830187","message":" 16:17:12.013971 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.569Z","priority":"6","pid":"2830187","message":" 16:17:12.013991 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.570Z","priority":"6","pid":"2830187","message":" 16:17:12.014019 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.570Z","priority":"6","pid":"2830187","message":" 16:17:12.014122 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.571Z","priority":"6","pid":"2830187","message":" 16:17:12.014142 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.571Z","priority":"6","pid":"2830187","message":" 16:17:12.014455 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.572Z","priority":"6","pid":"2830187","message":" 16:17:12.014477 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.573Z","priority":"6","pid":"2830187","message":" 16:17:12.014491 '213 17\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.574Z","priority":"6","pid":"2830187","message":" 16:17:12.014589 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.577Z","priority":"6","pid":"2830187","message":" 16:17:12.014609 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.580Z","priority":"6","pid":"2830187","message":" 16:17:12.014784 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.580Z","priority":"6","pid":"2830187","message":" 16:17:12.014805 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.581Z","priority":"6","pid":"2830187","message":" 16:17:12.015047 '150 Binary junk (17 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.582Z","priority":"6","pid":"2830187","message":" 16:17:12.016299 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.583Z","priority":"6","pid":"2830187","message":" 16:17:12.016328 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.584Z","priority":"6","pid":"2830187","message":" 16:17:12.016346 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.585Z","priority":"6","pid":"2830187","message":" 16:17:12.055984 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:17:12.585Z","priority":"6","pid":"2830187","message":" 16:17:12.056119 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.588Z","priority":"6","pid":"2830187","message":" 16:17:12.056486 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.591Z","priority":"6","pid":"2830187","message":" 16:17:12.056513 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.592Z","priority":"6","pid":"2830187","message":" 16:17:12.056526 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.592Z","priority":"6","pid":"2830187","message":" 16:17:12.057342 ====> Client disconnect"}

data: {"time":"2026-09-19T16:17:12.593Z","priority":"6","pid":"2830187","message":" 16:17:12.057517 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:17:12.595Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:17:12.596Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:12.596Z","priority":"6","pid":"2830187","message":" 16:17:11.011806 Running IPv4 version"}

data: {"time":"2026-09-19T16:17:12.596Z","priority":"6","pid":"2830187","message":" 16:17:11.012433 Listening on port 45631"}

data: {"time":"2026-09-19T16:17:12.596Z","priority":"6","pid":"2830187","message":" 16:17:11.012501 Wrote pid 100389 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:17:12.599Z","priority":"6","pid":"2830187","message":" 16:17:11.012539 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:17:12.599Z","priority":"6","pid":"2830187","message":" 16:17:11.012722 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:17:12.599Z","priority":"6","pid":"2830187","message":" 16:17:11.013544 ====> Client connect"}

data: {"time":"2026-09-19T16:17:12.600Z","priority":"6","pid":"2830187","message":" 16:17:11.015170 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:17:12.600Z","priority":"6","pid":"2830187","message":" 16:17:11.015203 > 17 bytes data, server => client"}

data: {"time":"2026-09-19T16:17:12.602Z","priority":"6","pid":"2830187","message":" 16:17:11.015226 'WE ROOLZ: 90097\\r\\n'"}

data: {"time":"2026-09-19T16:17:12.602Z","priority":"6","pid":"2830187","message":" 16:17:11.015291 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:17:12.604Z","priority":"6","pid":"2830187","message":" 16:17:11.015310 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:17:12.604Z","priority":"6","pid":"2830187","message":" 16:17:11.015640 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:17:12.604Z","priority":"6","pid":"2830187","message":" 16:17:11.015661 quits"}

data: {"time":"2026-09-19T16:17:12.605Z","priority":"6","pid":"2830187","message":" 16:17:11.015793 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:17:12.605Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:17:12.606Z","priority":"6","pid":"2830187","message":"=== Start of file netrc381"}

data: {"time":"2026-09-19T16:17:12.606Z","priority":"6","pid":"2830187","message":" # the following two lines were created while testing curl"}

data: {"time":"2026-09-19T16:17:12.606Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login frankenstein password wrongone"}

data: {"time":"2026-09-19T16:17:12.607Z","priority":"6","pid":"2830187","message":" machine 127.0.0.1 login mary password yram"}

data: {"time":"2026-09-19T16:17:12.607Z","priority":"6","pid":"2830187","message":"=== End of file netrc381"}

data: {"time":"2026-09-19T16:17:12.608Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:12.608Z","priority":"6","pid":"2830187","message":" Testnum 381"}

data: {"time":"2026-09-19T16:17:12.608Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:12.608Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind381"}

data: {"time":"2026-09-19T16:17:12.609Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:12.610Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:12.610Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:12.610Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.611Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:12.612Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:12.612Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:12.612Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:12.612Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:12.613Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.613Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:12.614Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:12.615Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:12.615Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:12.616Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:12.616Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:12.617Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:12.617Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.618Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:12.618Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:12.618Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.619Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:12.619Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:12.620Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:12.620Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:12.621Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:12.622Z","priority":"6","pid":"2830187","message":"=== End of file valgrind381"}

data: {"time":"2026-09-19T16:17:12.622Z","priority":"6","pid":"2830187","message":"test 0383 [HTTP with --json]"}

data: {"time":"2026-09-19T16:17:12.623Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind383 ../src/curl -q --output log/curl383.out  --include --trace-ascii log/trace383 --trace-time --json '{ \"drink\": \"coffee\" }' http://127.0.0.1:36137/383 > log/stdout383 2> log/stderr383"}

data: {"time":"2026-09-19T16:17:12.623Z","priority":"6","pid":"2830187","message":" 383: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:12.624Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:12.624Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:12.624Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 383"}

data: {"time":"2026-09-19T16:17:12.625Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:12.627Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind383 ../src/curl -q --output log/curl383.out  --include --trace-ascii log/trace383 --trace-time --json '{ \"drink\": \"coffee\" }' http://127.0.0.1:36137/383 > log/stdout383 2> log/stderr383"}

data: {"time":"2026-09-19T16:17:12.627Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:12.627Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:12.628Z","priority":"6","pid":"2830187","message":" 16:17:12.391303 ====> Client connect"}

data: {"time":"2026-09-19T16:17:12.628Z","priority":"6","pid":"2830187","message":" 16:17:12.391369 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:12.629Z","priority":"6","pid":"2830187","message":" 16:17:12.391599 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:12.629Z","priority":"6","pid":"2830187","message":" 16:17:12.391625 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:12.630Z","priority":"6","pid":"2830187","message":" 16:17:12.391644 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:12.630Z","priority":"6","pid":"2830187","message":" 16:17:12.391655 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:12.631Z","priority":"6","pid":"2830187","message":" 16:17:12.391706 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:12.631Z","priority":"6","pid":"2830187","message":" 16:17:12.391742 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:12.632Z","priority":"6","pid":"2830187","message":" 16:17:12.391816 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:12.632Z","priority":"6","pid":"2830187","message":" 16:17:12.391845 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:12.633Z","priority":"6","pid":"2830187","message":" 16:17:12.391857 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:12.633Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:12.634Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:12.634Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:12.634Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34798"}

data: {"time":"2026-09-19T16:17:12.634Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:12.922Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind384 ../src/curl -q --output log/curl384.out  --include --trace-ascii log/trace384 --trace-time --json @- http://127.0.0.1:36137/384 -H \"Accept: foobar/*\" <log/stdin-for-384 > log/stdout384 2> log/stderr384"}

data: {"time":"2026-09-19T16:17:13.175Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind385 ../src/curl -q --output log/curl385.out  --include --trace-ascii log/trace385 --trace-time --json '{ \"drink\": \"coffee\",' --json ' \"crunch\": \"cookie\" }' http://127.0.0.1:36137/385 -H \"Content-Type: drinks/hot\" > log/stdout385 2> log/stderr385"}

data: {"time":"2026-09-19T16:17:13.179Z","priority":"6","pid":"2830187","message":"1"}

data: {"time":"2026-09-19T16:17:13.180Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:13.180Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:13.180Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:13.181Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:13.182Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:13.182Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:13.183Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:13.183Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:13.184Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:13.184Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:13.186Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:13.186Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:13.186Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:13.186Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:13.186Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:13.187Z","priority":"6","pid":"2830187","message":" Testnum 383"}

data: {"time":"2026-09-19T16:17:13.188Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:13.188Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:13.188Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:13.188Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:13.189Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:13.189Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:13.189Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind383"}

data: {"time":"2026-09-19T16:17:13.190Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:13.190Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:13.191Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:13.191Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.191Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:13.192Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:13.193Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:13.193Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:13.193Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:13.193Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.194Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:13.194Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:13.195Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:13.195Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:13.196Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:13.196Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:13.197Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:13.198Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.198Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:13.199Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:13.199Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.199Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:13.200Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:13.200Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:13.201Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.201Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:13.201Z","priority":"6","pid":"2830187","message":"=== End of file valgrind383"}

data: {"time":"2026-09-19T16:17:13.202Z","priority":"6","pid":"2830187","message":"test 0384 [HTTP with --json from stdin]"}

data: {"time":"2026-09-19T16:17:13.204Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind384 ../src/curl -q --output log/curl384.out  --include --trace-ascii log/trace384 --trace-time --json @- http://127.0.0.1:36137/384 -H \"Accept: foobar/*\" <log/stdin-for-384 > log/stdout384 2> log/stderr384"}

data: {"time":"2026-09-19T16:17:13.207Z","priority":"6","pid":"2830187","message":" 384: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:13.207Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:13.207Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:13.207Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 384"}

data: {"time":"2026-09-19T16:17:13.207Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:13.209Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind384 ../src/curl -q --output log/curl384.out  --include --trace-ascii log/trace384 --trace-time --json @- http://127.0.0.1:36137/384 -H \"Accept: foobar/*\" <log/stdin-for-384 > log/stdout384 2> log/stderr384"}

data: {"time":"2026-09-19T16:17:13.210Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:13.210Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:13.210Z","priority":"6","pid":"2830187","message":" 16:17:12.750495 ====> Client connect"}

data: {"time":"2026-09-19T16:17:13.211Z","priority":"6","pid":"2830187","message":" 16:17:12.750563 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:13.211Z","priority":"6","pid":"2830187","message":" 16:17:12.750826 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:13.212Z","priority":"6","pid":"2830187","message":" 16:17:12.750852 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:13.212Z","priority":"6","pid":"2830187","message":" 16:17:12.750870 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:13.213Z","priority":"6","pid":"2830187","message":" 16:17:12.750881 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:13.213Z","priority":"6","pid":"2830187","message":" 16:17:12.750931 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:13.214Z","priority":"6","pid":"2830187","message":" 16:17:12.750958 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:13.214Z","priority":"6","pid":"2830187","message":" 16:17:12.751135 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:13.215Z","priority":"6","pid":"2830187","message":" 16:17:12.751151 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:13.215Z","priority":"6","pid":"2830187","message":" 16:17:12.751161 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:13.215Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:13.216Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:13.216Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:13.216Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34802"}

data: {"time":"2026-09-19T16:17:13.217Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:13.217Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:13.217Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:13.217Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:13.217Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:13.218Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:13.218Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:13.218Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:13.218Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:13.218Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:13.218Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:13.219Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:13.219Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:13.219Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:13.220Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:13.220Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:17:13.221Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:13.221Z","priority":"6","pid":"2830187","message":" Testnum 384"}

data: {"time":"2026-09-19T16:17:13.221Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:13.221Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:13.221Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:13.221Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:13.222Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:13.222Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:13.223Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-384"}

data: {"time":"2026-09-19T16:17:13.223Z","priority":"6","pid":"2830187","message":" { \"drink\": \"coffee\" }"}

data: {"time":"2026-09-19T16:17:13.223Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-384"}

data: {"time":"2026-09-19T16:17:13.223Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind384"}

data: {"time":"2026-09-19T16:17:13.223Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:13.224Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:13.224Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:13.225Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.225Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:17:13.225Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:17:13.226Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:13.226Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:17:13.227Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:17:13.227Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.228Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:17:13.228Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:17:13.229Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:17:13.230Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:17:13.230Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:17:13.230Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:17:13.231Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:17:13.231Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.232Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:17:13.232Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:17:13.233Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.233Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:17:13.233Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:17:13.234Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:17:13.234Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:17:13.234Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:17:13.235Z","priority":"6","pid":"2830187","message":"=== End of file valgrind384"}

data: {"time":"2026-09-19T16:17:13.235Z","priority":"6","pid":"2830187","message":"test 0385 [HTTP with --json x 2]"}

data: {"time":"2026-09-19T16:17:13.237Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind385 ../src/curl -q --output log/curl385.out  --include --trace-ascii log/trace385 --trace-time --json '{ \"drink\": \"coffee\",' --json ' \"crunch\": \"cookie\" }' http://127.0.0.1:36137/385 -H \"Content-Type: drinks/hot\" > log/stdout385 2> log/stderr385"}

data: {"time":"2026-09-19T16:17:13.238Z","priority":"6","pid":"2830187","message":" 385: protocol FAILED!"}

data: {"time":"2026-09-19T16:17:13.238Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:17:13.239Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:17:13.239Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 385"}

data: {"time":"2026-09-19T16:17:13.240Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:17:13.241Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind385 ../src/curl -q --output log/curl385.out  --include --trace-ascii log/trace385 --trace-time --json '{ \"drink\": \"coffee\",' --json ' \"crunch\": \"cookie\" }' http://127.0.0.1:36137/385 -H \"Content-Type: drinks/hot\" > log/stdout385 2> log/stderr385"}

data: {"time":"2026-09-19T16:17:13.242Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:17:13.242Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:17:13.242Z","priority":"6","pid":"2830187","message":" 16:17:13.042000 ====> Client connect"}

data: {"time":"2026-09-19T16:17:13.243Z","priority":"6","pid":"2830187","message":" 16:17:13.042059 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:17:13.243Z","priority":"6","pid":"2830187","message":" 16:17:13.042255 Read 93 bytes"}

data: {"time":"2026-09-19T16:17:13.243Z","priority":"6","pid":"2830187","message":" 16:17:13.042282 Process 93 bytes request"}

data: {"time":"2026-09-19T16:17:13.244Z","priority":"6","pid":"2830187","message":" 16:17:13.042301 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:13.244Z","priority":"6","pid":"2830187","message":" 16:17:13.042313 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:17:13.245Z","priority":"6","pid":"2830187","message":" 16:17:13.042367 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:17:13.245Z","priority":"6","pid":"2830187","message":" 16:17:13.042475 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:17:13.246Z","priority":"6","pid":"2830187","message":" 16:17:13.042578 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:17:13.246Z","priority":"6","pid":"2830187","message":" 16:17:13.042590 special request received, no persistency"}

data: {"time":"2026-09-19T16:17:13.247Z","priority":"6","pid":"2830187","message":" 16:17:13.042600 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:17:13.247Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:17:13.247Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:17:13.248Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:36137..."}

data: {"time":"2026-09-19T16:17:13.249Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 36137) from 127.0.0.1 port 34804"}

data: {"time":"2026-09-19T16:17:13.249Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:17:13.249Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:17:13.249Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:36137"}

data: {"time":"2026-09-19T16:17:13.250Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:17:13.250Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:17:13.250Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:17:13.250Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:17:13.250Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:13.251Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:17:13.251Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:17:13.252Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:17:13.252Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:36137 left intact"}

data: {"time":"2026-09-19T16:17:13.252Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:17:13.252Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:17:13.252Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:13.493Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind386 ../src/curl -q --output log/curl386.out  --include --trace-ascii log/trace386 --trace-time --json '{ \"drink\": \"coffee\" }' http://127.0.0.1:36137/386 --next http://127.0.0.1:36137/3860002 > log/stdout386 2> log/stderr386"}

data: {"time":"2026-09-19T16:17:13.735Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind387 ../src/curl -q --output log/curl387.out  --include --trace-ascii log/trace387 --trace-time http://127.0.0.1:36137/387 -sS --tr-encoding > log/stdout387 2> log/stderr387"}

data: {"time":"2026-09-19T16:17:13.739Z","priority":"6","pid":"2830187","message":"out"}

data: {"time":"2026-09-19T16:17:13.741Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:17:13.741Z","priority":"6","pid":"2830187","message":" Testnum 385"}

data: {"time":"2026-09-19T16:17:13.741Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:17:13.741Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:17:13.742Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:17:13.742Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:17:13.743Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 80616"}

data: {"time":"2026-09-19T16:17:13.744Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:17:13.745Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind385"}

data: {"time":"2026-09-19T16:17:13.745Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:17:13.747Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:17:13.748Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:17:13.748Z","priority":"4","message":"... 116176 line(s) not shown: the log has more than 50000 lines (ARCHCI_LOG_MAX_LINES); the first 37500 and the last 12500 are"}

data: {"time":"2026-09-19T16:23:59.140Z","priority":"6","pid":"2830187","message":"=== Start of file 2060"}

data: {"time":"2026-09-19T16:23:59.141Z","priority":"6","pid":"2830187","message":" test"}

data: {"time":"2026-09-19T16:23:59.141Z","priority":"6","pid":"2830187","message":"=== End of file 2060"}

data: {"time":"2026-09-19T16:23:59.141Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:23:59.142Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2060 ../src/curl -q --output log/curl2060.out  --include --trace-ascii log/trace2060 --trace-time http://127.0.0.1:39689/2060 -u auser:apasswd --digest -T log/2060 -x  http://127.0.0.1:39689 -C 2 -X GET > log/stdout2060 2> log/stderr2060"}

data: {"time":"2026-09-19T16:23:59.143Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:23:59.143Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:23:59.143Z","priority":"6","pid":"2830187","message":" 16:23:58.786519 ====> Client connect"}

data: {"time":"2026-09-19T16:23:59.144Z","priority":"6","pid":"2830187","message":" 16:23:58.786572 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:23:59.145Z","priority":"6","pid":"2830187","message":" 16:23:58.786797 Read 93 bytes"}

data: {"time":"2026-09-19T16:23:59.145Z","priority":"6","pid":"2830187","message":" 16:23:58.786816 Process 93 bytes request"}

data: {"time":"2026-09-19T16:23:59.145Z","priority":"6","pid":"2830187","message":" 16:23:58.786831 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:23:59.145Z","priority":"6","pid":"2830187","message":" 16:23:58.786842 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:23:59.145Z","priority":"6","pid":"2830187","message":" 16:23:58.786879 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:23:59.146Z","priority":"6","pid":"2830187","message":" 16:23:58.786900 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:23:59.146Z","priority":"6","pid":"2830187","message":" 16:23:58.786989 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:23:59.147Z","priority":"6","pid":"2830187","message":" 16:23:58.787004 special request received, no persistency"}

data: {"time":"2026-09-19T16:23:59.147Z","priority":"6","pid":"2830187","message":" 16:23:58.787016 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:23:59.147Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:23:59.147Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:23:59.148Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:23:59.149Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47478"}

data: {"time":"2026-09-19T16:23:59.149Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:23:59.149Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:23:59.149Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:23:59.149Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:23:59.149Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:23:59.150Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:23:59.150Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:23:59.150Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:23:59.150Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:23:59.151Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:23:59.151Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:23:59.151Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:23:59.151Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:23:59.152Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:23:59.152Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:23:59.152Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:23:59.152Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:23:59.152Z","priority":"6","pid":"2830187","message":" Testnum 2060"}

data: {"time":"2026-09-19T16:23:59.153Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:23:59.153Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:23:59.154Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:23:59.154Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:23:59.154Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:23:59.154Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:23:59.154Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2060"}

data: {"time":"2026-09-19T16:23:59.155Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:23:59.155Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:23:59.155Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:23:59.156Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.157Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:23:59.157Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:23:59.157Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:23:59.157Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:23:59.157Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:23:59.158Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.158Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:23:59.158Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:23:59.159Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:23:59.159Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:23:59.160Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:23:59.160Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:23:59.161Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:23:59.161Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.162Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:23:59.162Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:23:59.162Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.162Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:23:59.163Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:23:59.163Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:23:59.163Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.164Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:23:59.164Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2060"}

data: {"time":"2026-09-19T16:23:59.164Z","priority":"6","pid":"2830187","message":"test 2061 [HTTP with RFC7616 SHA256 Digest authorization]"}

data: {"time":"2026-09-19T16:23:59.165Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2061 ../src/curl -q --output log/curl2061.out  --include --trace-ascii log/trace2061 --trace-time http://127.0.0.1:39689/2061 -u testuser:testpass --digest > log/stdout2061 2> log/stderr2061"}

data: {"time":"2026-09-19T16:23:59.166Z","priority":"6","pid":"2830187","message":" 2061: protocol FAILED!"}

data: {"time":"2026-09-19T16:23:59.166Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:23:59.167Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:23:59.167Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2061"}

data: {"time":"2026-09-19T16:23:59.168Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:23:59.169Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2061 ../src/curl -q --output log/curl2061.out  --include --trace-ascii log/trace2061 --trace-time http://127.0.0.1:39689/2061 -u testuser:testpass --digest > log/stdout2061 2> log/stderr2061"}

data: {"time":"2026-09-19T16:23:59.169Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:23:59.170Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:23:59.170Z","priority":"6","pid":"2830187","message":" 16:23:58.992326 ====> Client connect"}

data: {"time":"2026-09-19T16:23:59.170Z","priority":"6","pid":"2830187","message":" 16:23:58.992367 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:23:59.171Z","priority":"6","pid":"2830187","message":" 16:23:58.992600 Read 93 bytes"}

data: {"time":"2026-09-19T16:23:59.171Z","priority":"6","pid":"2830187","message":" 16:23:58.992622 Process 93 bytes request"}

data: {"time":"2026-09-19T16:23:59.172Z","priority":"6","pid":"2830187","message":" 16:23:58.992637 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:23:59.172Z","priority":"6","pid":"2830187","message":" 16:23:58.992646 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:23:59.172Z","priority":"6","pid":"2830187","message":" 16:23:58.992684 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:23:59.173Z","priority":"6","pid":"2830187","message":" 16:23:58.992705 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:23:59.174Z","priority":"6","pid":"2830187","message":" 16:23:58.992776 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:23:59.174Z","priority":"6","pid":"2830187","message":" 16:23:58.992787 special request received, no persistency"}

data: {"time":"2026-09-19T16:23:59.174Z","priority":"6","pid":"2830187","message":" 16:23:58.992796 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:23:59.174Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:23:59.174Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:23:59.175Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:23:59.175Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47482"}

data: {"time":"2026-09-19T16:23:59.175Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:23:59.176Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:23:59.176Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:23:59.176Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:23:59.176Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:23:59.177Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:23:59.177Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:23:59.177Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:23:59.400Z","priority":"6","pid":"2830187","message":" < Content-CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2062 ../src/curl -q --output log/curl2062.out  --include --trace-ascii log/trace2062 --trace-time http://127.0.0.1:39689/2062 -u testuser:testpass --digest > log/stdout2062 2> log/stderr2062"}

data: {"time":"2026-09-19T16:23:59.615Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2063 ../src/curl -q --output log/curl2063.out  --include --trace-ascii log/trace2063 --trace-time http://127.0.0.1:39689/2063 -u testuser:testpass --digest > log/stdout2063 2> log/stderr2063"}

data: {"time":"2026-09-19T16:23:59.619Z","priority":"6","pid":"2830187","message":"Length: 18"}

data: {"time":"2026-09-19T16:23:59.620Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:23:59.620Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:23:59.620Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:23:59.620Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:23:59.620Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:23:59.620Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:23:59.620Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:23:59.620Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:23:59.621Z","priority":"6","pid":"2830187","message":" Testnum 2061"}

data: {"time":"2026-09-19T16:23:59.621Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:23:59.621Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:23:59.621Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:23:59.622Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:23:59.622Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:23:59.622Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:23:59.622Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2061"}

data: {"time":"2026-09-19T16:23:59.623Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:23:59.623Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:23:59.623Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:23:59.624Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.624Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:23:59.624Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:23:59.625Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:23:59.625Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:23:59.625Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:23:59.626Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.626Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:23:59.626Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:23:59.627Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:23:59.627Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:23:59.628Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:23:59.628Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:23:59.629Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:23:59.629Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.629Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:23:59.630Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:23:59.631Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.631Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:23:59.632Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:23:59.632Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:23:59.632Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.633Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:23:59.633Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2061"}

data: {"time":"2026-09-19T16:23:59.634Z","priority":"6","pid":"2830187","message":"test 2062 [HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false]"}

data: {"time":"2026-09-19T16:23:59.636Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2062 ../src/curl -q --output log/curl2062.out  --include --trace-ascii log/trace2062 --trace-time http://127.0.0.1:39689/2062 -u testuser:testpass --digest > log/stdout2062 2> log/stderr2062"}

data: {"time":"2026-09-19T16:23:59.636Z","priority":"6","pid":"2830187","message":" 2062: protocol FAILED!"}

data: {"time":"2026-09-19T16:23:59.636Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:23:59.636Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:23:59.636Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2062"}

data: {"time":"2026-09-19T16:23:59.636Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:23:59.638Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2062 ../src/curl -q --output log/curl2062.out  --include --trace-ascii log/trace2062 --trace-time http://127.0.0.1:39689/2062 -u testuser:testpass --digest > log/stdout2062 2> log/stderr2062"}

data: {"time":"2026-09-19T16:23:59.638Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:23:59.639Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:23:59.639Z","priority":"6","pid":"2830187","message":" 16:23:59.272699 ====> Client connect"}

data: {"time":"2026-09-19T16:23:59.639Z","priority":"6","pid":"2830187","message":" 16:23:59.272741 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:23:59.639Z","priority":"6","pid":"2830187","message":" 16:23:59.272906 Read 93 bytes"}

data: {"time":"2026-09-19T16:23:59.639Z","priority":"6","pid":"2830187","message":" 16:23:59.272923 Process 93 bytes request"}

data: {"time":"2026-09-19T16:23:59.640Z","priority":"6","pid":"2830187","message":" 16:23:59.272939 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:23:59.640Z","priority":"6","pid":"2830187","message":" 16:23:59.272948 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:23:59.640Z","priority":"6","pid":"2830187","message":" 16:23:59.272984 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:23:59.640Z","priority":"6","pid":"2830187","message":" 16:23:59.273005 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:23:59.641Z","priority":"6","pid":"2830187","message":" 16:23:59.273057 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:23:59.641Z","priority":"6","pid":"2830187","message":" 16:23:59.273068 special request received, no persistency"}

data: {"time":"2026-09-19T16:23:59.642Z","priority":"6","pid":"2830187","message":" 16:23:59.273077 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:23:59.642Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:23:59.642Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:23:59.642Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:23:59.642Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47484"}

data: {"time":"2026-09-19T16:23:59.642Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:23:59.642Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:23:59.643Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:23:59.643Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:23:59.643Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:23:59.643Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:23:59.643Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:23:59.643Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:23:59.643Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:23:59.644Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:23:59.644Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:23:59.644Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:23:59.644Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:23:59.644Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:23:59.645Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:23:59.645Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:23:59.645Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:23:59.645Z","priority":"6","pid":"2830187","message":" Testnum 2062"}

data: {"time":"2026-09-19T16:23:59.645Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:23:59.645Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:23:59.646Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:23:59.646Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:23:59.646Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:23:59.646Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:23:59.647Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2062"}

data: {"time":"2026-09-19T16:23:59.647Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:23:59.648Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:23:59.648Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:23:59.649Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.649Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:23:59.649Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:23:59.649Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:23:59.650Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:23:59.651Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:23:59.651Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.651Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:23:59.651Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:23:59.652Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:23:59.652Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:23:59.652Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:23:59.653Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:23:59.653Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:23:59.654Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.654Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:23:59.654Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:23:59.654Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.654Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:23:59.654Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:23:59.655Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:23:59.656Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:23:59.656Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:23:59.656Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2062"}

data: {"time":"2026-09-19T16:23:59.657Z","priority":"6","pid":"2830187","message":"test 2063 [HTTP with RFC7616 SHA-256 Digest authorization and userhash=true]"}

data: {"time":"2026-09-19T16:23:59.660Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2063 ../src/curl -q --output log/curl2063.out  --include --trace-ascii log/trace2063 --trace-time http://127.0.0.1:39689/2063 -u testuser:testpass --digest > log/stdout2063 2> log/stderr2063"}

data: {"time":"2026-09-19T16:23:59.661Z","priority":"6","pid":"2830187","message":" 2063: protocol FAILED!"}

data: {"time":"2026-09-19T16:23:59.661Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:23:59.663Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:23:59.663Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2063"}

data: {"time":"2026-09-19T16:23:59.663Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:23:59.667Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2063 ../src/curl -q --output log/curl2063.out  --include --trace-ascii log/trace2063 --trace-time http://127.0.0.1:39689/2063 -u testuser:testpass --digest > log/stdout2063 2> log/stderr2063"}

data: {"time":"2026-09-19T16:23:59.667Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:23:59.667Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:23:59.668Z","priority":"6","pid":"2830187","message":" 16:23:59.501477 ====> Client connect"}

data: {"time":"2026-09-19T16:23:59.669Z","priority":"6","pid":"2830187","message":" 16:23:59.501532 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:23:59.669Z","priority":"6","pid":"2830187","message":" 16:23:59.501687 Read 93 bytes"}

data: {"time":"2026-09-19T16:23:59.669Z","priority":"6","pid":"2830187","message":" 16:23:59.501707 Process 93 bytes request"}

data: {"time":"2026-09-19T16:23:59.670Z","priority":"6","pid":"2830187","message":" 16:23:59.501731 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:23:59.670Z","priority":"6","pid":"2830187","message":" 16:23:59.501746 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:23:59.672Z","priority":"6","pid":"2830187","message":" 16:23:59.501795 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:23:59.672Z","priority":"6","pid":"2830187","message":" 16:23:59.501841 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:23:59.672Z","priority":"6","pid":"2830187","message":" 16:23:59.501914 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:23:59.672Z","priority":"6","pid":"2830187","message":" 16:23:59.501925 special request received, no persistency"}

data: {"time":"2026-09-19T16:23:59.673Z","priority":"6","pid":"2830187","message":" 16:23:59.501934 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:23:59.673Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:23:59.673Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:23:59.673Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:23:59.674Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47488"}

data: {"time":"2026-09-19T16:23:59.675Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:23:59.675Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:23:59.675Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:23:59.675Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:23:59.676Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:23:59.676Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:23:59.676Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:23:59.676Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:23:59.677Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:23:59.677Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:23:59.677Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:23:59.677Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:23:59.677Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:23:59.678Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:23:59.678Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:23:59.678Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:23:59.679Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:23:59.679Z","priority":"6","pid":"2830187","message":" Testnum 2063"}

data: {"time":"2026-09-19T16:23:59.679Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:23:59.679Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:23:59.679Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:23:59.680Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:23:59.680Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:23:59.680Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:23:59.680Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2063"}

data: {"time":"2026-09-19T16:23:59.877Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2064 ../src/curl -q --output log/curl2064.out  --include --trace-ascii log/trace2064 --trace-time http://127.0.0.1:39689/2064 -u testuser:test2pass --digest > log/stdout2064 2> log/stderr2064"}

data: {"time":"2026-09-19T16:24:00.114Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2065 ../src/curl -q --output log/curl2065.out  --include --trace-ascii log/trace2065 --trace-time http://127.0.0.1:39689/2065 -u testuser:test2pass --digest > log/stdout2065 2> log/stderr2065"}

data: {"time":"2026-09-19T16:24:00.124Z","priority":"6","pid":"2830187","message":"up: a function redirection"}

data: {"time":"2026-09-19T16:24:00.124Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:00.124Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:00.125Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.125Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:00.125Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:00.126Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.126Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:00.126Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.128Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.128Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:00.128Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:00.129Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:00.129Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:00.130Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:00.130Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:00.130Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:00.130Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.131Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:00.132Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:00.132Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.132Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:00.132Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:00.133Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:00.133Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.133Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:00.134Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2063"}

data: {"time":"2026-09-19T16:24:00.134Z","priority":"6","pid":"2830187","message":"test 2064 [HTTP with RFC7616 Digest authorization with bad password and SHA256]"}

data: {"time":"2026-09-19T16:24:00.135Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2064 ../src/curl -q --output log/curl2064.out  --include --trace-ascii log/trace2064 --trace-time http://127.0.0.1:39689/2064 -u testuser:test2pass --digest > log/stdout2064 2> log/stderr2064"}

data: {"time":"2026-09-19T16:24:00.136Z","priority":"6","pid":"2830187","message":" 2064: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:00.136Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:00.136Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:00.137Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2064"}

data: {"time":"2026-09-19T16:24:00.137Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:00.139Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2064 ../src/curl -q --output log/curl2064.out  --include --trace-ascii log/trace2064 --trace-time http://127.0.0.1:39689/2064 -u testuser:test2pass --digest > log/stdout2064 2> log/stderr2064"}

data: {"time":"2026-09-19T16:24:00.139Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:00.140Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:00.140Z","priority":"6","pid":"2830187","message":" 16:23:59.776191 ====> Client connect"}

data: {"time":"2026-09-19T16:24:00.140Z","priority":"6","pid":"2830187","message":" 16:23:59.776239 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:00.140Z","priority":"6","pid":"2830187","message":" 16:23:59.776391 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:00.141Z","priority":"6","pid":"2830187","message":" 16:23:59.776406 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:00.141Z","priority":"6","pid":"2830187","message":" 16:23:59.776421 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:00.141Z","priority":"6","pid":"2830187","message":" 16:23:59.776455 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:00.142Z","priority":"6","pid":"2830187","message":" 16:23:59.776492 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:00.142Z","priority":"6","pid":"2830187","message":" 16:23:59.776527 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:00.143Z","priority":"6","pid":"2830187","message":" 16:23:59.776591 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:00.143Z","priority":"6","pid":"2830187","message":" 16:23:59.776602 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:00.143Z","priority":"6","pid":"2830187","message":" 16:23:59.776611 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:00.144Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:00.144Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:00.144Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:00.145Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47502"}

data: {"time":"2026-09-19T16:24:00.145Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:00.145Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:00.146Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:00.146Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:00.146Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:00.146Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:00.147Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:00.147Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:00.147Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:00.147Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:00.147Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:00.148Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:00.148Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:00.148Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:00.149Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:00.149Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:00.149Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:00.149Z","priority":"6","pid":"2830187","message":" Testnum 2064"}

data: {"time":"2026-09-19T16:24:00.149Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:00.150Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:00.150Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:00.150Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:00.151Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:00.151Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:00.151Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2064"}

data: {"time":"2026-09-19T16:24:00.151Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:00.151Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:00.152Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:00.152Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.152Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:00.153Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:00.153Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.154Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:00.154Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.154Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.155Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:00.155Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:00.156Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:00.156Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:00.157Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:00.158Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:00.158Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:00.158Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.159Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:00.159Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:00.159Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.160Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:00.160Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:00.161Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:00.161Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.161Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:00.161Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2064"}

data: {"time":"2026-09-19T16:24:00.162Z","priority":"6","pid":"2830187","message":"test 2065 [HTTP with RFC7616 Digest, bad password, SHA-512-256 and userhash]"}

data: {"time":"2026-09-19T16:24:00.164Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2065 ../src/curl -q --output log/curl2065.out  --include --trace-ascii log/trace2065 --trace-time http://127.0.0.1:39689/2065 -u testuser:test2pass --digest > log/stdout2065 2> log/stderr2065"}

data: {"time":"2026-09-19T16:24:00.165Z","priority":"6","pid":"2830187","message":" 2065: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:00.165Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:00.165Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:00.165Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2065"}

data: {"time":"2026-09-19T16:24:00.166Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:00.168Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2065 ../src/curl -q --output log/curl2065.out  --include --trace-ascii log/trace2065 --trace-time http://127.0.0.1:39689/2065 -u testuser:test2pass --digest > log/stdout2065 2> log/stderr2065"}

data: {"time":"2026-09-19T16:24:00.168Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:00.168Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:00.169Z","priority":"6","pid":"2830187","message":" 16:23:59.978948 ====> Client connect"}

data: {"time":"2026-09-19T16:24:00.169Z","priority":"6","pid":"2830187","message":" 16:23:59.978994 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:00.169Z","priority":"6","pid":"2830187","message":" 16:23:59.979023 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:00.170Z","priority":"6","pid":"2830187","message":" 16:23:59.979034 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:00.170Z","priority":"6","pid":"2830187","message":" 16:23:59.979049 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:00.171Z","priority":"6","pid":"2830187","message":" 16:23:59.979059 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:00.171Z","priority":"6","pid":"2830187","message":" 16:23:59.979088 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:00.171Z","priority":"6","pid":"2830187","message":" 16:23:59.979107 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:00.172Z","priority":"6","pid":"2830187","message":" 16:23:59.979186 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:00.172Z","priority":"6","pid":"2830187","message":" 16:23:59.979205 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:00.173Z","priority":"6","pid":"2830187","message":" 16:23:59.979214 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:00.173Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:00.173Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:00.173Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:00.174Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47508"}

data: {"time":"2026-09-19T16:24:00.174Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:00.174Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:00.175Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:00.175Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:00.175Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:00.175Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:00.176Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:00.176Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:00.176Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:00.176Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:00.176Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:00.176Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:00.177Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:00.177Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:00.177Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:00.178Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:00.178Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:00.178Z","priority":"6","pid":"2830187","message":" Testnum 2065"}

data: {"time":"2026-09-19T16:24:00.179Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:00.179Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:00.179Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:00.179Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:00.179Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:00.180Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:00.180Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2065"}

data: {"time":"2026-09-19T16:24:00.181Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:00.181Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:00.181Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:00.181Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.182Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:00.182Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:00.182Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.183Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:00.183Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.435Z","priority":"6","pid":"2830187","message":" valCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2066 ../src/curl -q --output log/curl2066.out  --include --trace-ascii log/trace2066 --trace-time http://127.0.0.1:39689/2066 -u testuser:test2pass --digest > log/stdout2066 2> log/stderr2066"}

data: {"time":"2026-09-19T16:24:00.664Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2067 ../src/curl -q --output log/curl2067.out  --include --trace-ascii log/trace2067 --trace-time -H \"Content-Length: 11\" -u auser:apasswd --digest -d \"junkelijunk\" http://127.0.0.1:39689/2067 > log/stdout2067 2> log/stderr2067"}

data: {"time":"2026-09-19T16:24:00.668Z","priority":"6","pid":"2830187","message":"grind:"}

data: {"time":"2026-09-19T16:24:00.668Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:00.668Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:00.669Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:00.669Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:00.669Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:00.669Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:00.670Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:00.670Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.670Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:00.671Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:00.671Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.671Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:00.672Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:00.672Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:00.672Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.672Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:00.673Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2065"}

data: {"time":"2026-09-19T16:24:00.673Z","priority":"6","pid":"2830187","message":"test 2066 [HTTP with RFC7616 Digest, bad password, SHA-256 and userhash]"}

data: {"time":"2026-09-19T16:24:00.674Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2066 ../src/curl -q --output log/curl2066.out  --include --trace-ascii log/trace2066 --trace-time http://127.0.0.1:39689/2066 -u testuser:test2pass --digest > log/stdout2066 2> log/stderr2066"}

data: {"time":"2026-09-19T16:24:00.675Z","priority":"6","pid":"2830187","message":" 2066: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:00.675Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:00.675Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:00.675Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2066"}

data: {"time":"2026-09-19T16:24:00.676Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:00.677Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2066 ../src/curl -q --output log/curl2066.out  --include --trace-ascii log/trace2066 --trace-time http://127.0.0.1:39689/2066 -u testuser:test2pass --digest > log/stdout2066 2> log/stderr2066"}

data: {"time":"2026-09-19T16:24:00.677Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:00.678Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:00.678Z","priority":"6","pid":"2830187","message":" 16:24:00.279291 ====> Client connect"}

data: {"time":"2026-09-19T16:24:00.678Z","priority":"6","pid":"2830187","message":" 16:24:00.279341 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:00.678Z","priority":"6","pid":"2830187","message":" 16:24:00.279505 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:00.679Z","priority":"6","pid":"2830187","message":" 16:24:00.279523 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:00.679Z","priority":"6","pid":"2830187","message":" 16:24:00.279538 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:00.680Z","priority":"6","pid":"2830187","message":" 16:24:00.279548 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:00.680Z","priority":"6","pid":"2830187","message":" 16:24:00.279584 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:00.681Z","priority":"6","pid":"2830187","message":" 16:24:00.279604 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:00.681Z","priority":"6","pid":"2830187","message":" 16:24:00.279669 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:00.681Z","priority":"6","pid":"2830187","message":" 16:24:00.279681 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:00.681Z","priority":"6","pid":"2830187","message":" 16:24:00.279690 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:00.682Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:00.682Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:00.682Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:00.682Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47514"}

data: {"time":"2026-09-19T16:24:00.683Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:00.683Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:00.683Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:00.683Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:00.683Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:00.684Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:00.684Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:00.684Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:00.684Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:00.684Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:00.684Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:00.684Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:00.685Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:00.685Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:00.685Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:00.685Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:00.685Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:00.686Z","priority":"6","pid":"2830187","message":" Testnum 2066"}

data: {"time":"2026-09-19T16:24:00.687Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:00.687Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:00.687Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:00.687Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:00.689Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:00.689Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:00.690Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2066"}

data: {"time":"2026-09-19T16:24:00.690Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:00.690Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:00.691Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:00.692Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.692Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:00.692Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:00.694Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.695Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:00.695Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.695Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.696Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:00.696Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:00.698Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:00.698Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:00.700Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:00.701Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:00.701Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:00.701Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.701Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:00.702Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:00.703Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.704Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:00.704Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:00.705Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:00.705Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.705Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:00.706Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2066"}

data: {"time":"2026-09-19T16:24:00.706Z","priority":"6","pid":"2830187","message":"test 2067 [HTTP POST --digest with SHA256 and user-specified Content-Length]"}

data: {"time":"2026-09-19T16:24:00.707Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2067 ../src/curl -q --output log/curl2067.out  --include --trace-ascii log/trace2067 --trace-time -H \"Content-Length: 11\" -u auser:apasswd --digest -d \"junkelijunk\" http://127.0.0.1:39689/2067 > log/stdout2067 2> log/stderr2067"}

data: {"time":"2026-09-19T16:24:00.708Z","priority":"6","pid":"2830187","message":" 2067: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:00.708Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:00.708Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:00.708Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2067"}

data: {"time":"2026-09-19T16:24:00.709Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:00.711Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2067 ../src/curl -q --output log/curl2067.out  --include --trace-ascii log/trace2067 --trace-time -H \"Content-Length: 11\" -u auser:apasswd --digest -d \"junkelijunk\" http://127.0.0.1:39689/2067 > log/stdout2067 2> log/stderr2067"}

data: {"time":"2026-09-19T16:24:00.711Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:00.712Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:00.712Z","priority":"6","pid":"2830187","message":" 16:24:00.540865 ====> Client connect"}

data: {"time":"2026-09-19T16:24:00.712Z","priority":"6","pid":"2830187","message":" 16:24:00.540928 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:00.713Z","priority":"6","pid":"2830187","message":" 16:24:00.541176 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:00.713Z","priority":"6","pid":"2830187","message":" 16:24:00.541211 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:00.713Z","priority":"6","pid":"2830187","message":" 16:24:00.541229 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:00.714Z","priority":"6","pid":"2830187","message":" 16:24:00.541241 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:00.714Z","priority":"6","pid":"2830187","message":" 16:24:00.541289 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:00.715Z","priority":"6","pid":"2830187","message":" 16:24:00.541316 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:00.715Z","priority":"6","pid":"2830187","message":" 16:24:00.542210 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:00.715Z","priority":"6","pid":"2830187","message":" 16:24:00.542247 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:00.715Z","priority":"6","pid":"2830187","message":" 16:24:00.542258 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:00.716Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:00.716Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:00.716Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:00.717Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47520"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:00.718Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:00.719Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:00.719Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:00.719Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:00.719Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:00.719Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:00.720Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:00.720Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:00.720Z","priority":"6","pid":"2830187","message":" Testnum 2067"}

data: {"time":"2026-09-19T16:24:00.720Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:00.721Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:00.721Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:00.721Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:00.721Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:00.721Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:00.722Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2067"}

data: {"time":"2026-09-19T16:24:00.722Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:00.723Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:00.723Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:00.723Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.724Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:00.724Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:00.724Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.725Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:00.725Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:00.725Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:00.726Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:00.726Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:00.727Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:00.727Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:00.727Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:00.955Z","priority":"6","pid":"2830187","message":" valgrind:  calling cCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2068 ../src/curl -q --output log/curl2068.out  --include --trace-ascii log/trace2068 --trace-time -H \"Content-Length: 11\" -u auser:apasswd --digest -d \"junkelijunk\" http://127.0.0.1:39689/2068 > log/stdout2068 2> log/stderr2068"}

data: {"time":"2026-09-19T16:24:01.214Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2069 ../src/curl -q --output log/curl2069.out  --include --trace-ascii log/trace2069 --trace-time -H \"Content-Length: 11\" -u auser:apasswd --digest -d \"junkelijunk\" http://127.0.0.1:39689/2069 > log/stdout2069 2> log/stderr2069"}

data: {"time":"2026-09-19T16:24:01.219Z","priority":"6","pid":"2830187","message":"onventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:01.220Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:01.220Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.220Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:01.221Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:01.221Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.222Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:01.222Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:01.222Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:01.223Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.223Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:01.223Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2067"}

data: {"time":"2026-09-19T16:24:01.224Z","priority":"6","pid":"2830187","message":"test 2068 [HTTP POST Digest with SHA-512-256, userhash and set Content-Length]"}

data: {"time":"2026-09-19T16:24:01.225Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2068 ../src/curl -q --output log/curl2068.out  --include --trace-ascii log/trace2068 --trace-time -H \"Content-Length: 11\" -u auser:apasswd --digest -d \"junkelijunk\" http://127.0.0.1:39689/2068 > log/stdout2068 2> log/stderr2068"}

data: {"time":"2026-09-19T16:24:01.226Z","priority":"6","pid":"2830187","message":" 2068: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:01.226Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:01.227Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:01.227Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2068"}

data: {"time":"2026-09-19T16:24:01.228Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:01.229Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2068 ../src/curl -q --output log/curl2068.out  --include --trace-ascii log/trace2068 --trace-time -H \"Content-Length: 11\" -u auser:apasswd --digest -d \"junkelijunk\" http://127.0.0.1:39689/2068 > log/stdout2068 2> log/stderr2068"}

data: {"time":"2026-09-19T16:24:01.230Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:01.230Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:01.230Z","priority":"6","pid":"2830187","message":" 16:24:00.824042 ====> Client connect"}

data: {"time":"2026-09-19T16:24:01.231Z","priority":"6","pid":"2830187","message":" 16:24:00.824100 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:01.231Z","priority":"6","pid":"2830187","message":" 16:24:00.824270 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:01.231Z","priority":"6","pid":"2830187","message":" 16:24:00.824292 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:01.232Z","priority":"6","pid":"2830187","message":" 16:24:00.824312 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:01.232Z","priority":"6","pid":"2830187","message":" 16:24:00.824325 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:01.233Z","priority":"6","pid":"2830187","message":" 16:24:00.824371 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:01.233Z","priority":"6","pid":"2830187","message":" 16:24:00.824398 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:01.234Z","priority":"6","pid":"2830187","message":" 16:24:00.824514 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:01.234Z","priority":"6","pid":"2830187","message":" 16:24:00.824529 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:01.235Z","priority":"6","pid":"2830187","message":" 16:24:00.824540 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:01.235Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:01.235Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:01.235Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:01.236Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47524"}

data: {"time":"2026-09-19T16:24:01.236Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:01.237Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:01.237Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:01.237Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:01.237Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:01.237Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:01.237Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:01.237Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:01.237Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:01.238Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:01.238Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:01.238Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:01.239Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:01.239Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:01.239Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:01.239Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:01.239Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:01.240Z","priority":"6","pid":"2830187","message":" Testnum 2068"}

data: {"time":"2026-09-19T16:24:01.240Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:01.240Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:01.241Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:01.241Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:01.241Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:01.242Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:01.242Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2068"}

data: {"time":"2026-09-19T16:24:01.242Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:01.243Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:01.243Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:01.244Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.244Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:01.244Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:01.244Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:01.244Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:01.245Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:01.245Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.246Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:01.246Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:01.247Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:01.247Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:01.248Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:01.249Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:01.249Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:01.249Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.249Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:01.250Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:01.250Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.250Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:01.251Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:01.251Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:01.251Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.252Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:01.252Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2068"}

data: {"time":"2026-09-19T16:24:01.252Z","priority":"6","pid":"2830187","message":"test 2069 [HTTP POST Digest with SHA-256, userhash and set Content-Length header]"}

data: {"time":"2026-09-19T16:24:01.254Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2069 ../src/curl -q --output log/curl2069.out  --include --trace-ascii log/trace2069 --trace-time -H \"Content-Length: 11\" -u auser:apasswd --digest -d \"junkelijunk\" http://127.0.0.1:39689/2069 > log/stdout2069 2> log/stderr2069"}

data: {"time":"2026-09-19T16:24:01.255Z","priority":"6","pid":"2830187","message":" 2069: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:01.255Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:01.255Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:01.256Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2069"}

data: {"time":"2026-09-19T16:24:01.256Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:01.258Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2069 ../src/curl -q --output log/curl2069.out  --include --trace-ascii log/trace2069 --trace-time -H \"Content-Length: 11\" -u auser:apasswd --digest -d \"junkelijunk\" http://127.0.0.1:39689/2069 > log/stdout2069 2> log/stderr2069"}

data: {"time":"2026-09-19T16:24:01.258Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:01.258Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:01.259Z","priority":"6","pid":"2830187","message":" 16:24:01.064774 ====> Client connect"}

data: {"time":"2026-09-19T16:24:01.259Z","priority":"6","pid":"2830187","message":" 16:24:01.064842 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:01.260Z","priority":"6","pid":"2830187","message":" 16:24:01.064881 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:01.260Z","priority":"6","pid":"2830187","message":" 16:24:01.064893 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:01.260Z","priority":"6","pid":"2830187","message":" 16:24:01.064910 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:01.261Z","priority":"6","pid":"2830187","message":" 16:24:01.064920 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:01.261Z","priority":"6","pid":"2830187","message":" 16:24:01.064955 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:01.261Z","priority":"6","pid":"2830187","message":" 16:24:01.064979 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:01.262Z","priority":"6","pid":"2830187","message":" 16:24:01.065071 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:01.262Z","priority":"6","pid":"2830187","message":" 16:24:01.065084 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:01.263Z","priority":"6","pid":"2830187","message":" 16:24:01.065094 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:01.263Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:01.263Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:01.264Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:01.264Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47536"}

data: {"time":"2026-09-19T16:24:01.264Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:01.265Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:01.265Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:01.265Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:01.265Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:01.266Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:01.266Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:01.266Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:01.267Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:01.267Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:01.267Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:01.267Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:01.267Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:01.268Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:01.268Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:01.268Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:01.268Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:01.269Z","priority":"6","pid":"2830187","message":" Testnum 2069"}

data: {"time":"2026-09-19T16:24:01.269Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:01.270Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:01.270Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:01.270Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:01.270Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:01.270Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:01.271Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2069"}

data: {"time":"2026-09-19T16:24:01.271Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:01.271Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:01.271Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:01.272Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.272Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:01.272Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:01.273Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:01.273Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:01.274Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:01.274Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.274Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:01.275Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:01.275Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:01.276Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:01.276Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:01.277Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:01.277Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:01.277Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.278Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:01.278Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:01.278Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.445Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2071 ../src/curl -q --output log/curl2071.out  --trace-ascii log/trace2071 --trace-time file://127.0.0.1/build/curl/src/build-curl/tests/log/test2070.txt > log/stdout2071 2> log/stderr2071"}

data: {"time":"2026-09-19T16:24:01.448Z","priority":"6","pid":"2830187","message":"on a"}

data: {"time":"2026-09-19T16:24:01.449Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:01.449Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:01.449Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.450Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:01.450Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2069"}

data: {"time":"2026-09-19T16:24:01.679Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2072 ../src/curl -q --output log/curl2072.out  --trace-ascii log/trace2072 --trace-time file://///build/curl/src/build-curl/tests/log/test2072.txt > log/stdout2072 2> log/stderr2072"}

data: {"time":"2026-09-19T16:24:01.682Z","priority":"6","pid":"2830187","message":"test 2071 [basic file:// file with \"127.0.0.1\" hostname]"}

data: {"time":"2026-09-19T16:24:01.685Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2071 ../src/curl -q --output log/curl2071.out  --trace-ascii log/trace2071 --trace-time file://127.0.0.1/build/curl/src/build-curl/tests/log/test2070.txt > log/stdout2071 2> log/stderr2071"}

data: {"time":"2026-09-19T16:24:01.685Z","priority":"6","pid":"2830187","message":" 2071: data FAILED:"}

data: {"time":"2026-09-19T16:24:01.685Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:01.448499433 +0000"}

data: {"time":"2026-09-19T16:24:01.685Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:01.447550909 +0000"}

data: {"time":"2026-09-19T16:24:01.686Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:24:01.686Z","priority":"6","pid":"2830187","message":"-foo[LF]"}

data: {"time":"2026-09-19T16:24:01.686Z","priority":"6","pid":"2830187","message":"-   bar[LF]"}

data: {"time":"2026-09-19T16:24:01.686Z","priority":"6","pid":"2830187","message":"-bar[LF]"}

data: {"time":"2026-09-19T16:24:01.687Z","priority":"6","pid":"2830187","message":"-   foo[LF]"}

data: {"time":"2026-09-19T16:24:01.687Z","priority":"6","pid":"2830187","message":"-moo[LF]"}

data: {"time":"2026-09-19T16:24:01.687Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2071"}

data: {"time":"2026-09-19T16:24:01.688Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:01.688Z","priority":"6","pid":"2830187","message":" foo[LF]"}

data: {"time":"2026-09-19T16:24:01.688Z","priority":"6","pid":"2830187","message":"    bar[LF]"}

data: {"time":"2026-09-19T16:24:01.688Z","priority":"6","pid":"2830187","message":" bar[LF]"}

data: {"time":"2026-09-19T16:24:01.688Z","priority":"6","pid":"2830187","message":"    foo[LF]"}

data: {"time":"2026-09-19T16:24:01.688Z","priority":"6","pid":"2830187","message":" moo[LF]"}

data: {"time":"2026-09-19T16:24:01.689Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:01.689Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:01.691Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2071 ../src/curl -q --output log/curl2071.out  --trace-ascii log/trace2071 --trace-time file://127.0.0.1/build/curl/src/build-curl/tests/log/test2070.txt > log/stdout2071 2> log/stderr2071"}

data: {"time":"2026-09-19T16:24:01.691Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:01.691Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:01.691Z","priority":"6","pid":"2830187","message":" Testnum 2071"}

data: {"time":"2026-09-19T16:24:01.692Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:01.693Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2071"}

data: {"time":"2026-09-19T16:24:01.693Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:01.693Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:01.693Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:01.693Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.694Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:01.694Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:01.695Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:01.695Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:01.696Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:01.696Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.696Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:01.697Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:01.697Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:01.698Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:01.698Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:01.698Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:01.699Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:01.700Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.700Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:01.700Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:01.700Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.701Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:01.701Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:01.702Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:01.702Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:01.702Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:01.702Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2071"}

data: {"time":"2026-09-19T16:24:01.953Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2073 ../src/curl -q --output log/curl2073.out  --include --trace-ascii log/trace2073 --trace-time http://127.0.0.1:39689/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:39689/2073 -F 'name=b;filename=b.jpg' > log/stdout2073 2> log/stderr2073"}

data: {"time":"2026-09-19T16:24:02.219Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2074 ../src/curl -q --output log/curl2074.out  --include --trace-ascii log/trace2074 --trace-time http://127.0.0.1:39689/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/stdout2074 2> log/stderr2074"}

data: {"time":"2026-09-19T16:24:02.223Z","priority":"6","pid":"2830187","message":"prechecked /usr/bin/perl -e \"print 'Test requires a Unix system' if($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'dos' || $^O eq 'msys');\""}

data: {"time":"2026-09-19T16:24:02.224Z","priority":"6","pid":"2830187","message":"test 2072 [file:// with Unix path for the case of extra slashes]"}

data: {"time":"2026-09-19T16:24:02.226Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2072 ../src/curl -q --output log/curl2072.out  --trace-ascii log/trace2072 --trace-time file://///build/curl/src/build-curl/tests/log/test2072.txt > log/stdout2072 2> log/stderr2072"}

data: {"time":"2026-09-19T16:24:02.226Z","priority":"6","pid":"2830187","message":" 2072: data FAILED:"}

data: {"time":"2026-09-19T16:24:02.227Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:01.682146619 +0000"}

data: {"time":"2026-09-19T16:24:02.227Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:01.680553077 +0000"}

data: {"time":"2026-09-19T16:24:02.227Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:24:02.228Z","priority":"6","pid":"2830187","message":"-foo[LF]"}

data: {"time":"2026-09-19T16:24:02.228Z","priority":"6","pid":"2830187","message":"-   bar[LF]"}

data: {"time":"2026-09-19T16:24:02.228Z","priority":"6","pid":"2830187","message":"-bar[LF]"}

data: {"time":"2026-09-19T16:24:02.228Z","priority":"6","pid":"2830187","message":"-   foo[LF]"}

data: {"time":"2026-09-19T16:24:02.229Z","priority":"6","pid":"2830187","message":"-moo[LF]"}

data: {"time":"2026-09-19T16:24:02.229Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2072"}

data: {"time":"2026-09-19T16:24:02.229Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:02.229Z","priority":"6","pid":"2830187","message":" foo[LF]"}

data: {"time":"2026-09-19T16:24:02.229Z","priority":"6","pid":"2830187","message":"    bar[LF]"}

data: {"time":"2026-09-19T16:24:02.230Z","priority":"6","pid":"2830187","message":" bar[LF]"}

data: {"time":"2026-09-19T16:24:02.230Z","priority":"6","pid":"2830187","message":"    foo[LF]"}

data: {"time":"2026-09-19T16:24:02.231Z","priority":"6","pid":"2830187","message":" moo[LF]"}

data: {"time":"2026-09-19T16:24:02.233Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:02.233Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:02.236Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2072 ../src/curl -q --output log/curl2072.out  --trace-ascii log/trace2072 --trace-time file://///build/curl/src/build-curl/tests/log/test2072.txt > log/stdout2072 2> log/stderr2072"}

data: {"time":"2026-09-19T16:24:02.237Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:02.237Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.239Z","priority":"6","pid":"2830187","message":" Testnum 2072"}

data: {"time":"2026-09-19T16:24:02.239Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.239Z","priority":"6","pid":"2830187","message":"=== Start of file test2072.txt"}

data: {"time":"2026-09-19T16:24:02.239Z","priority":"6","pid":"2830187","message":" foo"}

data: {"time":"2026-09-19T16:24:02.239Z","priority":"6","pid":"2830187","message":"    bar"}

data: {"time":"2026-09-19T16:24:02.239Z","priority":"6","pid":"2830187","message":" bar"}

data: {"time":"2026-09-19T16:24:02.239Z","priority":"6","pid":"2830187","message":"    foo"}

data: {"time":"2026-09-19T16:24:02.240Z","priority":"6","pid":"2830187","message":" moo"}

data: {"time":"2026-09-19T16:24:02.240Z","priority":"6","pid":"2830187","message":"=== End of file test2072.txt"}

data: {"time":"2026-09-19T16:24:02.240Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2072"}

data: {"time":"2026-09-19T16:24:02.240Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:02.241Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:02.242Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:02.242Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.242Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:02.242Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:02.243Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.244Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:02.244Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.244Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.244Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:02.245Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:02.245Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:02.245Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:02.246Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:02.247Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:02.247Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:02.247Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.248Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:02.248Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:02.248Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.248Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:02.250Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:02.250Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:02.250Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.250Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:02.250Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2072"}

data: {"time":"2026-09-19T16:24:02.251Z","priority":"6","pid":"2830187","message":"test 2073 [HTTP form posts with handle reset]"}

data: {"time":"2026-09-19T16:24:02.252Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2073 ../src/curl -q --output log/curl2073.out  --include --trace-ascii log/trace2073 --trace-time http://127.0.0.1:39689/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:39689/2073 -F 'name=b;filename=b.jpg' > log/stdout2073 2> log/stderr2073"}

data: {"time":"2026-09-19T16:24:02.253Z","priority":"6","pid":"2830187","message":" 2073: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:02.254Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:02.254Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:02.254Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2073"}

data: {"time":"2026-09-19T16:24:02.254Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:02.256Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2073 ../src/curl -q --output log/curl2073.out  --include --trace-ascii log/trace2073 --trace-time http://127.0.0.1:39689/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:39689/2073 -F 'name=b;filename=b.jpg' > log/stdout2073 2> log/stderr2073"}

data: {"time":"2026-09-19T16:24:02.256Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:02.257Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:02.258Z","priority":"6","pid":"2830187","message":" 16:24:01.814672 ====> Client connect"}

data: {"time":"2026-09-19T16:24:02.258Z","priority":"6","pid":"2830187","message":" 16:24:01.814728 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:02.258Z","priority":"6","pid":"2830187","message":" 16:24:01.814908 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:02.258Z","priority":"6","pid":"2830187","message":" 16:24:01.814929 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:02.258Z","priority":"6","pid":"2830187","message":" 16:24:01.814947 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:02.259Z","priority":"6","pid":"2830187","message":" 16:24:01.814958 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:02.259Z","priority":"6","pid":"2830187","message":" 16:24:01.814999 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:02.260Z","priority":"6","pid":"2830187","message":" 16:24:01.815034 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:02.260Z","priority":"6","pid":"2830187","message":" 16:24:01.815099 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:02.260Z","priority":"6","pid":"2830187","message":" 16:24:01.815110 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:02.261Z","priority":"6","pid":"2830187","message":" 16:24:01.815120 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:02.261Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:02.261Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:02.262Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:02.262Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47544"}

data: {"time":"2026-09-19T16:24:02.263Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:02.263Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:02.263Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:02.263Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:02.264Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:02.264Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:02.264Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:02.264Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:02.264Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:02.265Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:02.265Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:02.265Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:02.265Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:02.266Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:02.266Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:02.266Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:02.267Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.267Z","priority":"6","pid":"2830187","message":" Testnum 2073"}

data: {"time":"2026-09-19T16:24:02.267Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.267Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:02.267Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:02.268Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:02.268Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:02.268Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:02.269Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2073"}

data: {"time":"2026-09-19T16:24:02.269Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:02.269Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:02.270Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:02.270Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.270Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:02.271Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:02.271Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.271Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:02.272Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.272Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.272Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:02.273Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:02.274Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:02.275Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:02.276Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:02.276Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:02.276Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:02.277Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.277Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:02.278Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:02.278Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.279Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:02.279Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:02.279Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:02.280Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.280Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:02.281Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2073"}

data: {"time":"2026-09-19T16:24:02.281Z","priority":"6","pid":"2830187","message":"test 2074 [HTTP with oauth2-bearer]"}

data: {"time":"2026-09-19T16:24:02.283Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2074 ../src/curl -q --output log/curl2074.out  --include --trace-ascii log/trace2074 --trace-time http://127.0.0.1:39689/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/stdout2074 2> log/stderr2074"}

data: {"time":"2026-09-19T16:24:02.283Z","priority":"6","pid":"2830187","message":" 2074: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:02.284Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:02.284Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:02.285Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2074"}

data: {"time":"2026-09-19T16:24:02.285Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:02.287Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2074 ../src/curl -q --output log/curl2074.out  --include --trace-ascii log/trace2074 --trace-time http://127.0.0.1:39689/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/stdout2074 2> log/stderr2074"}

data: {"time":"2026-09-19T16:24:02.287Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:02.287Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:02.288Z","priority":"6","pid":"2830187","message":" 16:24:02.063037 ====> Client connect"}

data: {"time":"2026-09-19T16:24:02.288Z","priority":"6","pid":"2830187","message":" 16:24:02.063089 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:02.288Z","priority":"6","pid":"2830187","message":" 16:24:02.063121 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:02.289Z","priority":"6","pid":"2830187","message":" 16:24:02.063133 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:02.459Z","priority":"6","pid":"2830187","message":" 16:24:02.063150 Got request: GET /verifiedserCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2075 ../src/curl -q --output log/curl2075.out  --include --trace-ascii log/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/stdout2075 2> log/stderr2075"}

data: {"time":"2026-09-19T16:24:02.732Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2076 ../src/curl -q --output log/curl2076.out  --include --trace-ascii log/trace2076 --trace-time \"http://127.0.0.1:39689/2076?query\" -u testuser:testpass --digest > log/stdout2076 2> log/stderr2076"}

data: {"time":"2026-09-19T16:24:02.737Z","priority":"6","pid":"2830187","message":"ver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:02.737Z","priority":"6","pid":"2830187","message":" 16:24:02.063160 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:02.738Z","priority":"6","pid":"2830187","message":" 16:24:02.063219 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:02.738Z","priority":"6","pid":"2830187","message":" 16:24:02.063243 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:02.740Z","priority":"6","pid":"2830187","message":" 16:24:02.063334 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:02.740Z","priority":"6","pid":"2830187","message":" 16:24:02.063347 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:02.740Z","priority":"6","pid":"2830187","message":" 16:24:02.063356 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:02.740Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:02.740Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:02.741Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:02.741Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47554"}

data: {"time":"2026-09-19T16:24:02.741Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:02.742Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:02.742Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:02.742Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:02.743Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:02.743Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:02.743Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:02.743Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:02.743Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:02.744Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:02.744Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:02.744Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:02.745Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:02.745Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:02.745Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:02.746Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:02.746Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.746Z","priority":"6","pid":"2830187","message":" Testnum 2074"}

data: {"time":"2026-09-19T16:24:02.746Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.746Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:02.746Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:02.747Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:02.748Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:02.748Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:02.748Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2074"}

data: {"time":"2026-09-19T16:24:02.748Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:02.748Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:02.749Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:02.749Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.749Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:02.750Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:02.750Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.751Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:02.751Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.751Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.752Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:02.753Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:02.753Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:02.753Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:02.754Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:02.754Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:02.755Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:02.755Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.756Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:02.756Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:02.756Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.757Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:02.757Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:02.758Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:02.758Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.759Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:02.759Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2074"}

data: {"time":"2026-09-19T16:24:02.759Z","priority":"6","pid":"2830187","message":"test 2075 [Verify usernames are not allowed in url]"}

data: {"time":"2026-09-19T16:24:02.761Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2075 ../src/curl -q --output log/curl2075.out  --include --trace-ascii log/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/stdout2075 2> log/stderr2075"}

data: {"time":"2026-09-19T16:24:02.761Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 67"}

data: {"time":"2026-09-19T16:24:02.762Z","priority":"6","pid":"2830187","message":" 2075: exit FAILED"}

data: {"time":"2026-09-19T16:24:02.762Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2075"}

data: {"time":"2026-09-19T16:24:02.763Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:02.764Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2075 ../src/curl -q --output log/curl2075.out  --include --trace-ascii log/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/stdout2075 2> log/stderr2075"}

data: {"time":"2026-09-19T16:24:02.765Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:02.765Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.765Z","priority":"6","pid":"2830187","message":" Testnum 2075"}

data: {"time":"2026-09-19T16:24:02.766Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.766Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2075"}

data: {"time":"2026-09-19T16:24:02.766Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:02.767Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:02.767Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:02.767Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.768Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:02.768Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:02.769Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.769Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:02.769Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.770Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.770Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:02.771Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:02.771Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:02.772Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:02.772Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:02.773Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:02.773Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:02.773Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.774Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:02.774Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:02.775Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.775Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:02.776Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:02.776Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:02.776Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.776Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:02.777Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2075"}

data: {"time":"2026-09-19T16:24:02.777Z","priority":"6","pid":"2830187","message":"test 2076 [HTTP with digest auth and URI contains query]"}

data: {"time":"2026-09-19T16:24:02.780Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2076 ../src/curl -q --output log/curl2076.out  --include --trace-ascii log/trace2076 --trace-time \"http://127.0.0.1:39689/2076?query\" -u testuser:testpass --digest > log/stdout2076 2> log/stderr2076"}

data: {"time":"2026-09-19T16:24:02.781Z","priority":"6","pid":"2830187","message":" 2076: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:02.782Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:02.783Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:02.784Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2076"}

data: {"time":"2026-09-19T16:24:02.785Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:02.788Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2076 ../src/curl -q --output log/curl2076.out  --include --trace-ascii log/trace2076 --trace-time \"http://127.0.0.1:39689/2076?query\" -u testuser:testpass --digest > log/stdout2076 2> log/stderr2076"}

data: {"time":"2026-09-19T16:24:02.790Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:02.790Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:02.794Z","priority":"6","pid":"2830187","message":" 16:24:02.562726 ====> Client connect"}

data: {"time":"2026-09-19T16:24:02.794Z","priority":"6","pid":"2830187","message":" 16:24:02.562782 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:02.794Z","priority":"6","pid":"2830187","message":" 16:24:02.562940 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:02.794Z","priority":"6","pid":"2830187","message":" 16:24:02.562956 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:02.794Z","priority":"6","pid":"2830187","message":" 16:24:02.562971 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:02.794Z","priority":"6","pid":"2830187","message":" 16:24:02.562981 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:02.796Z","priority":"6","pid":"2830187","message":" 16:24:02.563016 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:02.797Z","priority":"6","pid":"2830187","message":" 16:24:02.563036 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:02.797Z","priority":"6","pid":"2830187","message":" 16:24:02.563096 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:02.799Z","priority":"6","pid":"2830187","message":" 16:24:02.563110 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:02.799Z","priority":"6","pid":"2830187","message":" 16:24:02.563121 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:02.800Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:02.800Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:02.802Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:02.803Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47568"}

data: {"time":"2026-09-19T16:24:02.803Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:02.803Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:02.805Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:02.805Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:02.805Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:02.805Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:02.806Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:02.806Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:02.807Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:02.807Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:02.807Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:02.808Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:02.809Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:02.810Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:02.810Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:02.811Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:02.812Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.813Z","priority":"6","pid":"2830187","message":" Testnum 2076"}

data: {"time":"2026-09-19T16:24:02.813Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:02.813Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:02.813Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:02.814Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:02.815Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:02.815Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:02.815Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2076"}

data: {"time":"2026-09-19T16:24:02.817Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:02.817Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:02.818Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:02.819Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.820Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:02.820Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:02.822Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.822Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:02.823Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:02.824Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:02.825Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:02.826Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:03.080Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please iCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2077 ../src/curl -q --output log/curl2077.out  --include --trace-ascii log/trace2077 --trace-time http://127.0.0.1:39689/2077 --fail --negotiate > log/stdout2077 2> log/stderr2077"}

data: {"time":"2026-09-19T16:24:03.084Z","priority":"6","pid":"2830187","message":"n future ship a non-"}

data: {"time":"2026-09-19T16:24:03.085Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:03.086Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:03.086Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:03.086Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:03.086Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.087Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:03.088Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:03.089Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.089Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:03.091Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:03.092Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:03.092Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.092Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:03.092Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2076"}

data: {"time":"2026-09-19T16:24:03.338Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2078 ../src/curl -q --output log/curl2078.out  --include --trace-ascii log/trace2078 --trace-time http://127.0.0.1:39689/2078 --negotiate --data name=value > log/stdout2078 2> log/stderr2078"}

data: {"time":"2026-09-19T16:24:03.511Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2080 ../src/curl -q --output log/curl2080.out  --include --trace-ascii log/trace2080 --trace-time -K log/config2080 file://de\\>v/null > log/stdout2080 2> log/stderr2080"}

data: {"time":"2026-09-19T16:24:03.515Z","priority":"6","pid":"2830187","message":"test 2077 [curl --fail --negotiate to unauthenticated service fails]"}

data: {"time":"2026-09-19T16:24:03.516Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2077 ../src/curl -q --output log/curl2077.out  --include --trace-ascii log/trace2077 --trace-time http://127.0.0.1:39689/2077 --fail --negotiate > log/stdout2077 2> log/stderr2077"}

data: {"time":"2026-09-19T16:24:03.517Z","priority":"6","pid":"2830187","message":" 2077: data FAILED:"}

data: {"time":"2026-09-19T16:24:03.518Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:03.084456315 +0000"}

data: {"time":"2026-09-19T16:24:03.518Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:03.083566201 +0000"}

data: {"time":"2026-09-19T16:24:03.518Z","priority":"6","pid":"2830187","message":"@@ -1,4 +0,0 @@"}

data: {"time":"2026-09-19T16:24:03.519Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:24:03.519Z","priority":"6","pid":"2830187","message":"-Content-Length: 23[CR][LF]"}

data: {"time":"2026-09-19T16:24:03.519Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:24:03.519Z","priority":"6","pid":"2830187","message":"-This IS the real page![LF]"}

data: {"time":"2026-09-19T16:24:03.519Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2077"}

data: {"time":"2026-09-19T16:24:03.520Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:03.520Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:24:03.521Z","priority":"6","pid":"2830187","message":" Content-Length: 23[CR][LF]"}

data: {"time":"2026-09-19T16:24:03.521Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:24:03.521Z","priority":"6","pid":"2830187","message":" This IS the real page![LF]"}

data: {"time":"2026-09-19T16:24:03.521Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:03.521Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:03.522Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2077 ../src/curl -q --output log/curl2077.out  --include --trace-ascii log/trace2077 --trace-time http://127.0.0.1:39689/2077 --fail --negotiate > log/stdout2077 2> log/stderr2077"}

data: {"time":"2026-09-19T16:24:03.523Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:03.523Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:03.523Z","priority":"6","pid":"2830187","message":" 16:24:02.930644 ====> Client connect"}

data: {"time":"2026-09-19T16:24:03.524Z","priority":"6","pid":"2830187","message":" 16:24:02.930691 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:03.524Z","priority":"6","pid":"2830187","message":" 16:24:02.930888 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:03.525Z","priority":"6","pid":"2830187","message":" 16:24:02.930908 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:03.525Z","priority":"6","pid":"2830187","message":" 16:24:02.930925 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:03.525Z","priority":"6","pid":"2830187","message":" 16:24:02.930935 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:03.526Z","priority":"6","pid":"2830187","message":" 16:24:02.930976 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:03.526Z","priority":"6","pid":"2830187","message":" 16:24:02.931000 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:03.527Z","priority":"6","pid":"2830187","message":" 16:24:02.931086 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:03.527Z","priority":"6","pid":"2830187","message":" 16:24:02.931100 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:03.528Z","priority":"6","pid":"2830187","message":" 16:24:02.931111 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:03.528Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:03.528Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:03.529Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:03.529Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47572"}

data: {"time":"2026-09-19T16:24:03.529Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:03.530Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:03.530Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:03.530Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:03.530Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:03.531Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:03.531Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:03.532Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:03.532Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:03.532Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:03.532Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:03.532Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:03.533Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:03.533Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:03.533Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:03.534Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:03.534Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:03.535Z","priority":"6","pid":"2830187","message":" Testnum 2077"}

data: {"time":"2026-09-19T16:24:03.536Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:03.536Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:03.536Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:03.537Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:03.539Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:03.539Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:03.539Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2077"}

data: {"time":"2026-09-19T16:24:03.540Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:03.540Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:03.541Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:03.542Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.542Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:03.543Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:03.544Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:03.544Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:03.545Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:03.546Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.546Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:03.547Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:03.548Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:03.549Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:03.550Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:03.551Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:03.551Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:03.552Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.553Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:03.554Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:03.554Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.554Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:03.557Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:03.557Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:03.558Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.558Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:03.558Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2077"}

data: {"time":"2026-09-19T16:24:03.559Z","priority":"6","pid":"2830187","message":"test 2078 [curl --negotiate should not send empty POST request only]"}

data: {"time":"2026-09-19T16:24:03.563Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2078 ../src/curl -q --output log/curl2078.out  --include --trace-ascii log/trace2078 --trace-time http://127.0.0.1:39689/2078 --negotiate --data name=value > log/stdout2078 2> log/stderr2078"}

data: {"time":"2026-09-19T16:24:03.565Z","priority":"6","pid":"2830187","message":" 2078: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:03.565Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:03.565Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:03.566Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2078"}

data: {"time":"2026-09-19T16:24:03.566Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:03.570Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2078 ../src/curl -q --output log/curl2078.out  --include --trace-ascii log/trace2078 --trace-time http://127.0.0.1:39689/2078 --negotiate --data name=value > log/stdout2078 2> log/stderr2078"}

data: {"time":"2026-09-19T16:24:03.571Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:03.571Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:03.572Z","priority":"6","pid":"2830187","message":" 16:24:03.206473 ====> Client connect"}

data: {"time":"2026-09-19T16:24:03.573Z","priority":"6","pid":"2830187","message":" 16:24:03.206518 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:03.573Z","priority":"6","pid":"2830187","message":" 16:24:03.206731 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:03.574Z","priority":"6","pid":"2830187","message":" 16:24:03.206755 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:03.575Z","priority":"6","pid":"2830187","message":" 16:24:03.206773 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:03.575Z","priority":"6","pid":"2830187","message":" 16:24:03.206783 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:03.577Z","priority":"6","pid":"2830187","message":" 16:24:03.206822 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:03.577Z","priority":"6","pid":"2830187","message":" 16:24:03.206843 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:03.579Z","priority":"6","pid":"2830187","message":" 16:24:03.206928 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:03.579Z","priority":"6","pid":"2830187","message":" 16:24:03.206939 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:03.579Z","priority":"6","pid":"2830187","message":" 16:24:03.206948 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:03.580Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:03.580Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:03.580Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:03.583Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47576"}

data: {"time":"2026-09-19T16:24:03.583Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:03.583Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:03.583Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:03.583Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:03.583Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:03.584Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:03.584Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:03.584Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:03.585Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:03.585Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:03.585Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:03.585Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:03.586Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:03.586Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:03.586Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:03.587Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:03.587Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:03.587Z","priority":"6","pid":"2830187","message":" Testnum 2078"}

data: {"time":"2026-09-19T16:24:03.588Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:03.588Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:03.588Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:03.588Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:03.588Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:03.589Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:03.589Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2078"}

data: {"time":"2026-09-19T16:24:03.590Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:03.591Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:03.591Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:03.591Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.592Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:03.593Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:03.595Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:03.595Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:03.595Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:03.595Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.596Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:03.597Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:03.597Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:03.599Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:03.600Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:03.600Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:03.601Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:03.601Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.601Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:03.603Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:03.603Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.604Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:03.604Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:03.605Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:03.606Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.606Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:03.606Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2078"}

data: {"time":"2026-09-19T16:24:03.607Z","priority":"6","pid":"2830187","message":"test 2080 [config file with overly long option]"}

data: {"time":"2026-09-19T16:24:03.611Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2080 ../src/curl -q --output log/curl2080.out  --include --trace-ascii log/trace2080 --trace-time -K log/config2080 file://de\\>v/null > log/stdout2080 2> log/stderr2080"}

data: {"time":"2026-09-19T16:24:03.612Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 2"}

data: {"time":"2026-09-19T16:24:03.612Z","priority":"6","pid":"2830187","message":" 2080: exit FAILED"}

data: {"time":"2026-09-19T16:24:03.613Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2080"}

data: {"time":"2026-09-19T16:24:03.613Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:03.615Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2080 ../src/curl -q --output log/curl2080.out  --include --trace-ascii log/trace2080 --trace-time -K log/config2080 file://de\\>v/null > log/stdout2080 2> log/stderr2080"}

data: {"time":"2026-09-19T16:24:03.616Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:03.616Z","priority":"6","pid":"2830187","message":"=== Start of file config2080"}

data: {"time":"2026-09-19T16:24:03.901Z","priority":"6","pid":"2830187","message":" DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2081 ../src/curl -q --include --trace-ascii log/trace2081 --trace-time http://user:pass@127.0.0.1:39689/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\\n' > log/stdout2081 2> log/stderr2081"}

data: {"time":"2026-09-19T16:24:03.920Z","priority":"6","pid":"2830187","message":"DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD"}

data: {"time":"2026-09-19T16:24:03.921Z","priority":"6","pid":"2830187","message":"=== End of file config2080"}

data: {"time":"2026-09-19T16:24:03.921Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:03.921Z","priority":"6","pid":"2830187","message":" Testnum 2080"}

data: {"time":"2026-09-19T16:24:03.921Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:03.922Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2080"}

data: {"time":"2026-09-19T16:24:03.922Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:03.923Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:03.924Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:03.924Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.926Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:03.929Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:03.931Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:03.931Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:03.932Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:03.932Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.933Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:03.934Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:03.936Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:03.938Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:03.941Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:03.942Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:03.942Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:03.944Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.944Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:03.945Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:03.945Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.946Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:03.948Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:03.948Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:03.948Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:03.948Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:03.949Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2080"}

data: {"time":"2026-09-19T16:24:04.157Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:39689/2082 > log/stdout2082 2> log/stderr2082"}

data: {"time":"2026-09-19T16:24:04.162Z","priority":"6","pid":"2830187","message":"test 2081 [Automatic referrer credential and anchor stripping check]"}

data: {"time":"2026-09-19T16:24:04.165Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2081 ../src/curl -q --include --trace-ascii log/trace2081 --trace-time http://user:pass@127.0.0.1:39689/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\\n' > log/stdout2081 2> log/stderr2081"}

data: {"time":"2026-09-19T16:24:04.165Z","priority":"6","pid":"2830187","message":" 2081: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:04.165Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:03.904549508 +0000"}

data: {"time":"2026-09-19T16:24:04.166Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:03.903573929 +0000"}

data: {"time":"2026-09-19T16:24:04.166Z","priority":"6","pid":"2830187","message":"@@ -1,10 +0,0 @@"}

data: {"time":"2026-09-19T16:24:04.166Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.167Z","priority":"6","pid":"2830187","message":"-Location: data/20810002.txt?coolsite=yes[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.167Z","priority":"6","pid":"2830187","message":"-Content-Length: 62[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.168Z","priority":"6","pid":"2830187","message":"-Connection: close[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.168Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.168Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.168Z","priority":"6","pid":"2830187","message":"-Connection: close[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.168Z","priority":"6","pid":"2830187","message":"-[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.169Z","priority":"6","pid":"2830187","message":"-Thanks for following.[LF]"}

data: {"time":"2026-09-19T16:24:04.169Z","priority":"6","pid":"2830187","message":"-http://127.0.0.1:39689/we/want/our/2081[LF]"}

data: {"time":"2026-09-19T16:24:04.170Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2081"}

data: {"time":"2026-09-19T16:24:04.170Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:04.170Z","priority":"6","pid":"2830187","message":" HTTP/1.1 301 This is a weirdo text message swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.171Z","priority":"6","pid":"2830187","message":" Location: data/20810002.txt?coolsite=yes[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.171Z","priority":"6","pid":"2830187","message":" Content-Length: 62[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.171Z","priority":"6","pid":"2830187","message":" Connection: close[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.172Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:24:04.172Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 This is another weirdo text message swsclose[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.172Z","priority":"6","pid":"2830187","message":" Connection: close[CR][LF]"}

data: {"time":"2026-09-19T16:24:04.173Z","priority":"6","pid":"2830187","message":" [CR][LF]"}

data: {"time":"2026-09-19T16:24:04.174Z","priority":"6","pid":"2830187","message":" Thanks for following.[LF]"}

data: {"time":"2026-09-19T16:24:04.174Z","priority":"6","pid":"2830187","message":" http://127.0.0.1:39689/we/want/our/2081[LF]"}

data: {"time":"2026-09-19T16:24:04.174Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:04.174Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:04.175Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2081 ../src/curl -q --include --trace-ascii log/trace2081 --trace-time http://user:pass@127.0.0.1:39689/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\\n' > log/stdout2081 2> log/stderr2081"}

data: {"time":"2026-09-19T16:24:04.176Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:04.176Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:04.176Z","priority":"6","pid":"2830187","message":" 16:24:03.789076 ====> Client connect"}

data: {"time":"2026-09-19T16:24:04.176Z","priority":"6","pid":"2830187","message":" 16:24:03.789119 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:04.177Z","priority":"6","pid":"2830187","message":" 16:24:03.789301 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:04.177Z","priority":"6","pid":"2830187","message":" 16:24:03.789324 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:04.177Z","priority":"6","pid":"2830187","message":" 16:24:03.789339 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:04.178Z","priority":"6","pid":"2830187","message":" 16:24:03.789349 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:04.179Z","priority":"6","pid":"2830187","message":" 16:24:03.789384 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:04.179Z","priority":"6","pid":"2830187","message":" 16:24:03.789429 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:04.179Z","priority":"6","pid":"2830187","message":" 16:24:03.789504 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:04.179Z","priority":"6","pid":"2830187","message":" 16:24:03.789515 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:04.179Z","priority":"6","pid":"2830187","message":" 16:24:03.789524 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:04.180Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:04.180Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:04.180Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:04.180Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47586"}

data: {"time":"2026-09-19T16:24:04.181Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:04.181Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:04.182Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:04.182Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:04.182Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:04.182Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:04.182Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:04.182Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:04.183Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:04.183Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:04.183Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:04.183Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:04.183Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:04.184Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:04.184Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:04.184Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:04.184Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:04.185Z","priority":"6","pid":"2830187","message":" Testnum 2081"}

data: {"time":"2026-09-19T16:24:04.185Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:04.185Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:04.185Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:04.186Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:04.186Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:04.186Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:04.186Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2081"}

data: {"time":"2026-09-19T16:24:04.187Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:04.187Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:04.187Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:04.188Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.188Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:04.189Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:04.189Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:04.189Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:04.189Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:04.189Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.189Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:04.190Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:04.190Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:04.191Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:04.191Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:04.192Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:04.192Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:04.192Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.193Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:04.193Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:04.193Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.194Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:04.194Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:04.194Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:04.195Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.195Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:04.195Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2081"}

data: {"time":"2026-09-19T16:24:04.451Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:43733/test-2083/ > log/stdout2083 2> log/stderr2083"}

data: {"time":"2026-09-19T16:24:04.465Z","priority":"6","pid":"2830187","message":"test 2082 [Pre-request callback for HTTP]"}

data: {"time":"2026-09-19T16:24:04.466Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:39689/2082 > log/stdout2082 2> log/stderr2082"}

data: {"time":"2026-09-19T16:24:04.466Z","priority":"6","pid":"2830187","message":" 2082: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:04.467Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:04.162049360 +0000"}

data: {"time":"2026-09-19T16:24:04.467Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:04.160576361 +0000"}

data: {"time":"2026-09-19T16:24:04.467Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:24:04.468Z","priority":"6","pid":"2830187","message":"-Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:04.468Z","priority":"6","pid":"2830187","message":"-Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:04.468Z","priority":"6","pid":"2830187","message":"-Remote port = 39689[LF]"}

data: {"time":"2026-09-19T16:24:04.469Z","priority":"6","pid":"2830187","message":"-Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:04.469Z","priority":"6","pid":"2830187","message":"-Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:04.469Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2082"}

data: {"time":"2026-09-19T16:24:04.469Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:04.470Z","priority":"6","pid":"2830187","message":" Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:04.470Z","priority":"6","pid":"2830187","message":" Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:04.471Z","priority":"6","pid":"2830187","message":" Remote port = 39689[LF]"}

data: {"time":"2026-09-19T16:24:04.471Z","priority":"6","pid":"2830187","message":" Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:04.471Z","priority":"6","pid":"2830187","message":" Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:04.471Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:04.471Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:04.472Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:39689/2082 > log/stdout2082 2> log/stderr2082"}

data: {"time":"2026-09-19T16:24:04.473Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:04.473Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:04.473Z","priority":"6","pid":"2830187","message":" 16:24:04.056879 ====> Client connect"}

data: {"time":"2026-09-19T16:24:04.474Z","priority":"6","pid":"2830187","message":" 16:24:04.056941 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:04.474Z","priority":"6","pid":"2830187","message":" 16:24:04.057143 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:04.474Z","priority":"6","pid":"2830187","message":" 16:24:04.057169 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:04.475Z","priority":"6","pid":"2830187","message":" 16:24:04.057188 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:04.475Z","priority":"6","pid":"2830187","message":" 16:24:04.057199 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:04.475Z","priority":"6","pid":"2830187","message":" 16:24:04.057248 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:04.476Z","priority":"6","pid":"2830187","message":" 16:24:04.057275 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:04.476Z","priority":"6","pid":"2830187","message":" 16:24:04.057337 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:04.477Z","priority":"6","pid":"2830187","message":" 16:24:04.057348 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:04.477Z","priority":"6","pid":"2830187","message":" 16:24:04.057359 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:04.477Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:04.477Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:04.478Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:04.478Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47592"}

data: {"time":"2026-09-19T16:24:04.479Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:04.479Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:04.479Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:04.479Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:04.479Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:04.479Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:04.480Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:04.480Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:04.480Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:04.480Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:04.480Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:04.481Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:04.481Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:04.481Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:04.481Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:04.482Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:04.482Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:04.482Z","priority":"6","pid":"2830187","message":" Testnum 2082"}

data: {"time":"2026-09-19T16:24:04.483Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:04.483Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:04.483Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:04.484Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:04.484Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:04.484Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:04.484Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2082"}

data: {"time":"2026-09-19T16:24:04.484Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:04.485Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:04.485Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:04.486Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.486Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:04.486Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:04.486Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:04.486Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:04.487Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:04.487Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.487Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:04.488Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:04.488Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:04.489Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:04.489Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:04.490Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:04.490Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:04.490Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.490Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:04.491Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:04.491Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.491Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:04.492Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:04.492Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:04.492Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.493Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:04.493Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2082"}

data: {"time":"2026-09-19T16:24:04.709Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:39689/2084#err > log/stdout2084 2> log/stderr2084"}

data: {"time":"2026-09-19T16:24:04.720Z","priority":"6","pid":"2830187","message":"test 2083 [Pre-request callback for FTP]"}

data: {"time":"2026-09-19T16:24:04.721Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:43733/test-2083/ > log/stdout2083 2> log/stderr2083"}

data: {"time":"2026-09-19T16:24:04.722Z","priority":"6","pid":"2830187","message":" 2083: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:04.722Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:04.463939582 +0000"}

data: {"time":"2026-09-19T16:24:04.723Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:04.462579225 +0000"}

data: {"time":"2026-09-19T16:24:04.723Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:24:04.724Z","priority":"6","pid":"2830187","message":"-Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:04.724Z","priority":"6","pid":"2830187","message":"-Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:04.724Z","priority":"6","pid":"2830187","message":"-Remote port = 43733[LF]"}

data: {"time":"2026-09-19T16:24:04.724Z","priority":"6","pid":"2830187","message":"-Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:04.725Z","priority":"6","pid":"2830187","message":"-Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:04.725Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2083"}

data: {"time":"2026-09-19T16:24:04.726Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:04.726Z","priority":"6","pid":"2830187","message":" Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:04.726Z","priority":"6","pid":"2830187","message":" Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:04.726Z","priority":"6","pid":"2830187","message":" Remote port = 43733[LF]"}

data: {"time":"2026-09-19T16:24:04.726Z","priority":"6","pid":"2830187","message":" Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:04.727Z","priority":"6","pid":"2830187","message":" Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:04.727Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:04.727Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:04.729Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:43733/test-2083/ > log/stdout2083 2> log/stderr2083"}

data: {"time":"2026-09-19T16:24:04.729Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:04.730Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:04.730Z","priority":"6","pid":"2830187","message":" 16:24:04.241476 ====> Client connect"}

data: {"time":"2026-09-19T16:24:04.731Z","priority":"6","pid":"2830187","message":" 16:24:04.242116 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.731Z","priority":"6","pid":"2830187","message":" 16:24:04.242303 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:24:04.731Z","priority":"6","pid":"2830187","message":" 16:24:04.242493 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.732Z","priority":"6","pid":"2830187","message":" 16:24:04.242812 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:24:04.732Z","priority":"6","pid":"2830187","message":" 16:24:04.242867 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.733Z","priority":"6","pid":"2830187","message":" 16:24:04.243131 < \"PWD\""}

data: {"time":"2026-09-19T16:24:04.733Z","priority":"6","pid":"2830187","message":" 16:24:04.243181 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.734Z","priority":"6","pid":"2830187","message":" 16:24:04.243436 < \"EPSV\""}

data: {"time":"2026-09-19T16:24:04.734Z","priority":"6","pid":"2830187","message":" 16:24:04.243480 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:24:04.734Z","priority":"6","pid":"2830187","message":" 16:24:04.243505 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:24:04.735Z","priority":"6","pid":"2830187","message":" 16:24:04.246767 DATA sockfilt for passive data channel started (pid 176268)"}

data: {"time":"2026-09-19T16:24:04.735Z","priority":"6","pid":"2830187","message":" 16:24:04.247028 DATA sockfilt for passive data channel listens on port 37951"}

data: {"time":"2026-09-19T16:24:04.736Z","priority":"6","pid":"2830187","message":" 16:24:04.247124 > \"229 Entering Passive Mode (|||37951|)[CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.736Z","priority":"6","pid":"2830187","message":" 16:24:04.247156 Client has been notified that upcoming DATA connection is awaited on port 37951"}

data: {"time":"2026-09-19T16:24:04.737Z","priority":"6","pid":"2830187","message":" 16:24:04.247714 Client connects to port 37951"}

data: {"time":"2026-09-19T16:24:04.737Z","priority":"6","pid":"2830187","message":" 16:24:04.247765 ====> Client established passive DATA connection on port 37951"}

data: {"time":"2026-09-19T16:24:04.738Z","priority":"6","pid":"2830187","message":" 16:24:04.247901 < \"TYPE I\""}

data: {"time":"2026-09-19T16:24:04.738Z","priority":"6","pid":"2830187","message":" 16:24:04.248105 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.738Z","priority":"6","pid":"2830187","message":" 16:24:04.248272 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:24:04.739Z","priority":"6","pid":"2830187","message":" 16:24:04.248388 > \"213 18[CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.739Z","priority":"6","pid":"2830187","message":" 16:24:04.248615 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:24:04.739Z","priority":"6","pid":"2830187","message":" 16:24:04.248788 > \"150 Binary junk (18 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.740Z","priority":"6","pid":"2830187","message":" 16:24:04.249155 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:24:04.740Z","priority":"6","pid":"2830187","message":" 16:24:04.249186 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:24:04.741Z","priority":"6","pid":"2830187","message":" 16:24:04.249522 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:24:04.741Z","priority":"6","pid":"2830187","message":" 16:24:04.249573 DATA sockfilt for passive data channel quits (pid 176268)"}

data: {"time":"2026-09-19T16:24:04.742Z","priority":"6","pid":"2830187","message":" 16:24:04.249992 DATA sockfilt for passive data channel quit (pid 176268)"}

data: {"time":"2026-09-19T16:24:04.742Z","priority":"6","pid":"2830187","message":" 16:24:04.250031 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:24:04.743Z","priority":"6","pid":"2830187","message":" 16:24:04.250078 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.743Z","priority":"6","pid":"2830187","message":" 16:24:04.290037 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:04.743Z","priority":"6","pid":"2830187","message":" 16:24:04.290120 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:24:04.744Z","priority":"6","pid":"2830187","message":" 16:24:04.290440 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:04.744Z","priority":"6","pid":"2830187","message":" 16:24:04.290511 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:04.744Z","priority":"6","pid":"2830187","message":" 16:24:04.290766 Awaiting input"}

data: {"time":"2026-09-19T16:24:04.745Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:04.745Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:04.745Z","priority":"6","pid":"2830187","message":" 16:24:04.300312 ====> Client connect"}

data: {"time":"2026-09-19T16:24:04.746Z","priority":"6","pid":"2830187","message":" 16:24:04.300831 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.746Z","priority":"6","pid":"2830187","message":" 16:24:04.300859 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.747Z","priority":"6","pid":"2830187","message":" 16:24:04.300966 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:04.747Z","priority":"6","pid":"2830187","message":" 16:24:04.300988 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.748Z","priority":"6","pid":"2830187","message":" 16:24:04.301000 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.748Z","priority":"6","pid":"2830187","message":" 16:24:04.301125 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:04.748Z","priority":"6","pid":"2830187","message":" 16:24:04.301139 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.749Z","priority":"6","pid":"2830187","message":" 16:24:04.301484 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.749Z","priority":"6","pid":"2830187","message":" 16:24:04.301512 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.750Z","priority":"6","pid":"2830187","message":" 16:24:04.301623 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.750Z","priority":"6","pid":"2830187","message":" 16:24:04.301734 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:04.750Z","priority":"6","pid":"2830187","message":" 16:24:04.301751 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.751Z","priority":"6","pid":"2830187","message":" 16:24:04.301966 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.751Z","priority":"6","pid":"2830187","message":" 16:24:04.301982 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.752Z","priority":"6","pid":"2830187","message":" 16:24:04.301995 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.752Z","priority":"6","pid":"2830187","message":" 16:24:04.302072 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:04.752Z","priority":"6","pid":"2830187","message":" 16:24:04.302088 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.753Z","priority":"6","pid":"2830187","message":" 16:24:04.302277 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.754Z","priority":"6","pid":"2830187","message":" 16:24:04.302292 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.754Z","priority":"6","pid":"2830187","message":" 16:24:04.302305 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.754Z","priority":"6","pid":"2830187","message":" 16:24:04.302400 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:04.754Z","priority":"6","pid":"2830187","message":" 16:24:04.302414 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.754Z","priority":"6","pid":"2830187","message":" 16:24:04.306263 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.755Z","priority":"6","pid":"2830187","message":" 16:24:04.306294 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.755Z","priority":"6","pid":"2830187","message":" 16:24:04.306313 '229 Entering Passive Mode (|||37951|)\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.756Z","priority":"6","pid":"2830187","message":" 16:24:04.306671 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:04.756Z","priority":"6","pid":"2830187","message":" 16:24:04.306695 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.757Z","priority":"6","pid":"2830187","message":" 16:24:04.307011 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.757Z","priority":"6","pid":"2830187","message":" 16:24:04.307027 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.757Z","priority":"6","pid":"2830187","message":" 16:24:04.307050 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.758Z","priority":"6","pid":"2830187","message":" 16:24:04.307231 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:04.758Z","priority":"6","pid":"2830187","message":" 16:24:04.307248 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.758Z","priority":"6","pid":"2830187","message":" 16:24:04.307387 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.759Z","priority":"6","pid":"2830187","message":" 16:24:04.307421 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.759Z","priority":"6","pid":"2830187","message":" 16:24:04.307479 '213 18\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.759Z","priority":"6","pid":"2830187","message":" 16:24:04.307553 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:04.760Z","priority":"6","pid":"2830187","message":" 16:24:04.307567 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.760Z","priority":"6","pid":"2830187","message":" 16:24:04.307746 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.761Z","priority":"6","pid":"2830187","message":" 16:24:04.307770 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.761Z","priority":"6","pid":"2830187","message":" 16:24:04.307797 '150 Binary junk (18 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.761Z","priority":"6","pid":"2830187","message":" 16:24:04.309177 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.762Z","priority":"6","pid":"2830187","message":" 16:24:04.309195 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.762Z","priority":"6","pid":"2830187","message":" 16:24:04.309208 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.762Z","priority":"6","pid":"2830187","message":" 16:24:04.348931 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:04.763Z","priority":"6","pid":"2830187","message":" 16:24:04.348993 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.763Z","priority":"6","pid":"2830187","message":" 16:24:04.349232 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.764Z","priority":"6","pid":"2830187","message":" 16:24:04.349256 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.764Z","priority":"6","pid":"2830187","message":" 16:24:04.349268 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.765Z","priority":"6","pid":"2830187","message":" 16:24:04.349448 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:04.765Z","priority":"6","pid":"2830187","message":" 16:24:04.350438 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:04.765Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:04.765Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:04.766Z","priority":"6","pid":"2830187","message":" 16:24:04.305480 Running IPv4 version"}

data: {"time":"2026-09-19T16:24:04.766Z","priority":"6","pid":"2830187","message":" 16:24:04.305657 Listening on port 37951"}

data: {"time":"2026-09-19T16:24:04.767Z","priority":"6","pid":"2830187","message":" 16:24:04.305718 Wrote pid 176268 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:24:04.767Z","priority":"6","pid":"2830187","message":" 16:24:04.305758 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:24:04.767Z","priority":"6","pid":"2830187","message":" 16:24:04.305935 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:24:04.768Z","priority":"6","pid":"2830187","message":" 16:24:04.306729 ====> Client connect"}

data: {"time":"2026-09-19T16:24:04.768Z","priority":"6","pid":"2830187","message":" 16:24:04.307924 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:04.768Z","priority":"6","pid":"2830187","message":" 16:24:04.307953 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:04.769Z","priority":"6","pid":"2830187","message":" 16:24:04.308037 'WE ROOLZ: 162430\\r\\n'"}

data: {"time":"2026-09-19T16:24:04.769Z","priority":"6","pid":"2830187","message":" 16:24:04.308467 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:24:04.770Z","priority":"6","pid":"2830187","message":" 16:24:04.308496 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:24:04.770Z","priority":"6","pid":"2830187","message":" 16:24:04.308680 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:24:04.770Z","priority":"6","pid":"2830187","message":" 16:24:04.308695 quits"}

data: {"time":"2026-09-19T16:24:04.771Z","priority":"6","pid":"2830187","message":" 16:24:04.308797 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:24:04.771Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:04.771Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:04.772Z","priority":"6","pid":"2830187","message":" Testnum 2083"}

data: {"time":"2026-09-19T16:24:04.773Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:04.773Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2083"}

data: {"time":"2026-09-19T16:24:04.773Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:04.773Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:04.773Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:04.774Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.774Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:04.775Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:04.775Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:04.775Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:04.776Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:04.776Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.776Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:04.777Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:04.777Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:04.778Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:04.778Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:04.779Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:04.779Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:04.779Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.781Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:04.781Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:04.781Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.781Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:04.781Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:04.782Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:04.782Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:04.782Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:04.783Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2083"}

data: {"time":"2026-09-19T16:24:05.017Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:39689/2085#redir > log/stdout2085 2> log/stderr2085"}

data: {"time":"2026-09-19T16:24:05.033Z","priority":"6","pid":"2830187","message":"test 2084 [Pre-request callback for HTTP with callback terminating transfer]"}

data: {"time":"2026-09-19T16:24:05.034Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:39689/2084#err > log/stdout2084 2> log/stderr2084"}

data: {"time":"2026-09-19T16:24:05.034Z","priority":"6","pid":"2830187","message":" 2084: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:05.035Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:04.719915997 +0000"}

data: {"time":"2026-09-19T16:24:05.035Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:04.719017234 +0000"}

data: {"time":"2026-09-19T16:24:05.035Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:24:05.036Z","priority":"6","pid":"2830187","message":"-Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.036Z","priority":"6","pid":"2830187","message":"-Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.036Z","priority":"6","pid":"2830187","message":"-Remote port = 39689[LF]"}

data: {"time":"2026-09-19T16:24:05.037Z","priority":"6","pid":"2830187","message":"-Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:05.037Z","priority":"6","pid":"2830187","message":"-Returning = 1[LF]"}

data: {"time":"2026-09-19T16:24:05.037Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2084"}

data: {"time":"2026-09-19T16:24:05.037Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:05.038Z","priority":"6","pid":"2830187","message":" Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.038Z","priority":"6","pid":"2830187","message":" Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.038Z","priority":"6","pid":"2830187","message":" Remote port = 39689[LF]"}

data: {"time":"2026-09-19T16:24:05.038Z","priority":"6","pid":"2830187","message":" Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:05.039Z","priority":"6","pid":"2830187","message":" Returning = 1[LF]"}

data: {"time":"2026-09-19T16:24:05.039Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:05.039Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:05.040Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:39689/2084#err > log/stdout2084 2> log/stderr2084"}

data: {"time":"2026-09-19T16:24:05.041Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:05.041Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:05.041Z","priority":"6","pid":"2830187","message":" 16:24:04.598776 ====> Client connect"}

data: {"time":"2026-09-19T16:24:05.041Z","priority":"6","pid":"2830187","message":" 16:24:04.598816 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:05.042Z","priority":"6","pid":"2830187","message":" 16:24:04.598972 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:05.042Z","priority":"6","pid":"2830187","message":" 16:24:04.598985 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:05.042Z","priority":"6","pid":"2830187","message":" 16:24:04.598999 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:05.043Z","priority":"6","pid":"2830187","message":" 16:24:04.599006 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:05.043Z","priority":"6","pid":"2830187","message":" 16:24:04.599034 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:05.043Z","priority":"6","pid":"2830187","message":" 16:24:04.599051 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:05.044Z","priority":"6","pid":"2830187","message":" 16:24:04.599111 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:05.044Z","priority":"6","pid":"2830187","message":" 16:24:04.599120 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:05.045Z","priority":"6","pid":"2830187","message":" 16:24:04.599126 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:05.045Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:05.045Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:05.045Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:05.046Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47602"}

data: {"time":"2026-09-19T16:24:05.046Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:05.047Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:05.047Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:05.047Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:05.047Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:05.047Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:05.047Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:05.048Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:05.048Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:05.048Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:05.048Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:05.049Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:05.049Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:05.049Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:05.049Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:05.050Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:05.050Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:05.050Z","priority":"6","pid":"2830187","message":" Testnum 2084"}

data: {"time":"2026-09-19T16:24:05.050Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:05.051Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:05.051Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:05.051Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:05.051Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:05.052Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:05.052Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2084"}

data: {"time":"2026-09-19T16:24:05.053Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:05.053Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:05.053Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:05.053Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.054Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:05.054Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:05.054Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:05.054Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:05.055Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:05.055Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.056Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:05.056Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:05.056Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:05.057Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:05.057Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:05.058Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:05.058Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:05.059Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.059Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:05.059Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:05.059Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.060Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:05.061Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:05.061Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:05.061Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.061Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:05.062Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2084"}

data: {"time":"2026-09-19T16:24:05.271Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2086 ./libtest/libtests lib2082 [::1]:34213/2086#ipv6 > log/stdout2086 2> log/stderr2086"}

data: {"time":"2026-09-19T16:24:05.276Z","priority":"6","pid":"2830187","message":"test 2085 [Pre-request callback for HTTP with location following]"}

data: {"time":"2026-09-19T16:24:05.279Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:39689/2085#redir > log/stdout2085 2> log/stderr2085"}

data: {"time":"2026-09-19T16:24:05.280Z","priority":"6","pid":"2830187","message":" 2085: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:05.281Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:05.032532782 +0000"}

data: {"time":"2026-09-19T16:24:05.281Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:05.031826728 +0000"}

data: {"time":"2026-09-19T16:24:05.281Z","priority":"6","pid":"2830187","message":"@@ -1,10 +0,0 @@"}

data: {"time":"2026-09-19T16:24:05.282Z","priority":"6","pid":"2830187","message":"-Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.283Z","priority":"6","pid":"2830187","message":"-Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.283Z","priority":"6","pid":"2830187","message":"-Remote port = 39689[LF]"}

data: {"time":"2026-09-19T16:24:05.284Z","priority":"6","pid":"2830187","message":"-Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:05.284Z","priority":"6","pid":"2830187","message":"-Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:05.285Z","priority":"6","pid":"2830187","message":"-Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.285Z","priority":"6","pid":"2830187","message":"-Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.285Z","priority":"6","pid":"2830187","message":"-Remote port = 39689[LF]"}

data: {"time":"2026-09-19T16:24:05.285Z","priority":"6","pid":"2830187","message":"-Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:05.286Z","priority":"6","pid":"2830187","message":"-Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:05.286Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2085"}

data: {"time":"2026-09-19T16:24:05.287Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:05.287Z","priority":"6","pid":"2830187","message":" Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.288Z","priority":"6","pid":"2830187","message":" Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.288Z","priority":"6","pid":"2830187","message":" Remote port = 39689[LF]"}

data: {"time":"2026-09-19T16:24:05.288Z","priority":"6","pid":"2830187","message":" Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:05.288Z","priority":"6","pid":"2830187","message":" Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:05.289Z","priority":"6","pid":"2830187","message":" Connected to 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.290Z","priority":"6","pid":"2830187","message":" Connected from 127.0.0.1[LF]"}

data: {"time":"2026-09-19T16:24:05.290Z","priority":"6","pid":"2830187","message":" Remote port = 39689[LF]"}

data: {"time":"2026-09-19T16:24:05.290Z","priority":"6","pid":"2830187","message":" Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:05.290Z","priority":"6","pid":"2830187","message":" Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:05.291Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:05.291Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:05.292Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:39689/2085#redir > log/stdout2085 2> log/stderr2085"}

data: {"time":"2026-09-19T16:24:05.292Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:05.293Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:05.293Z","priority":"6","pid":"2830187","message":" 16:24:04.897889 ====> Client connect"}

data: {"time":"2026-09-19T16:24:05.293Z","priority":"6","pid":"2830187","message":" 16:24:04.897952 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:05.294Z","priority":"6","pid":"2830187","message":" 16:24:04.897989 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:05.294Z","priority":"6","pid":"2830187","message":" 16:24:04.898004 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:05.294Z","priority":"6","pid":"2830187","message":" 16:24:04.898022 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:05.295Z","priority":"6","pid":"2830187","message":" 16:24:04.898034 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:05.295Z","priority":"6","pid":"2830187","message":" 16:24:04.898074 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:05.296Z","priority":"6","pid":"2830187","message":" 16:24:04.898100 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:05.296Z","priority":"6","pid":"2830187","message":" 16:24:04.898213 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:05.296Z","priority":"6","pid":"2830187","message":" 16:24:04.898227 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:05.297Z","priority":"6","pid":"2830187","message":" 16:24:04.898239 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:05.297Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:05.297Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:05.298Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:05.298Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47608"}

data: {"time":"2026-09-19T16:24:05.298Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:05.299Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:05.299Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:05.299Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:05.300Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:05.300Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:05.300Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:05.300Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:05.300Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:05.300Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:05.300Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:05.301Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:05.301Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:05.301Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:05.302Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:05.302Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:05.302Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:05.303Z","priority":"6","pid":"2830187","message":" Testnum 2085"}

data: {"time":"2026-09-19T16:24:05.303Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:05.303Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:05.303Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:05.303Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:05.303Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:05.303Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:05.304Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2085"}

data: {"time":"2026-09-19T16:24:05.304Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:05.305Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:05.305Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:05.306Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.306Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:05.306Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:05.306Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:05.307Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:05.307Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:05.308Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.308Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:05.308Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:05.308Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:05.309Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:05.309Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:05.310Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:05.310Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:05.310Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.310Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:05.311Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:05.311Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.312Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:05.312Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:05.312Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:05.312Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.312Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:05.312Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2085"}

data: {"time":"2026-09-19T16:24:05.551Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2091 ../src/curl -q --output log/curl2091.out  --include --trace-ascii log/trace2091 --trace-time http://127.0.0.1:39689/20910001 -u testuser:testpass --digest --next http://127.0.0.1:39689/20910003 -u testuser:testpass --digest > log/stdout2091 2> log/stderr2091"}

data: {"time":"2026-09-19T16:24:05.766Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2092 ../src/curl -q --output log/curl2092.out  --include --trace-ascii log/trace2092 --trace-time \"127.0.0.1:39689/[0-1][9223372036854775806-9223372036854775807]/2092\" > log/stdout2092 2> log/stderr2092"}

data: {"time":"2026-09-19T16:24:05.769Z","priority":"6","pid":"2830187","message":"setenv MSYS2_ARG_CONV_EXCL = *"}

data: {"time":"2026-09-19T16:24:05.770Z","priority":"6","pid":"2830187","message":"test 2086 [Pre-request callback for HTTP IPv6]"}

data: {"time":"2026-09-19T16:24:05.770Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2086 ./libtest/libtests lib2082 [::1]:34213/2086#ipv6 > log/stdout2086 2> log/stderr2086"}

data: {"time":"2026-09-19T16:24:05.771Z","priority":"6","pid":"2830187","message":" 2086: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:05.771Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:05.274805614 +0000"}

data: {"time":"2026-09-19T16:24:05.771Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:05.273586933 +0000"}

data: {"time":"2026-09-19T16:24:05.772Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:24:05.772Z","priority":"6","pid":"2830187","message":"-Connected to [::1][LF]"}

data: {"time":"2026-09-19T16:24:05.772Z","priority":"6","pid":"2830187","message":"-Connected from [::1][LF]"}

data: {"time":"2026-09-19T16:24:05.773Z","priority":"6","pid":"2830187","message":"-Remote port = 34213[LF]"}

data: {"time":"2026-09-19T16:24:05.773Z","priority":"6","pid":"2830187","message":"-Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:05.773Z","priority":"6","pid":"2830187","message":"-Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:05.773Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2086"}

data: {"time":"2026-09-19T16:24:05.774Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:05.774Z","priority":"6","pid":"2830187","message":" Connected to [::1][LF]"}

data: {"time":"2026-09-19T16:24:05.774Z","priority":"6","pid":"2830187","message":" Connected from [::1][LF]"}

data: {"time":"2026-09-19T16:24:05.774Z","priority":"6","pid":"2830187","message":" Remote port = 34213[LF]"}

data: {"time":"2026-09-19T16:24:05.774Z","priority":"6","pid":"2830187","message":" Local port = stripped[LF]"}

data: {"time":"2026-09-19T16:24:05.775Z","priority":"6","pid":"2830187","message":" Returning = 0[LF]"}

data: {"time":"2026-09-19T16:24:05.775Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:05.775Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:05.776Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2086 ./libtest/libtests lib2082 [::1]:34213/2086#ipv6 > log/stdout2086 2> log/stderr2086"}

data: {"time":"2026-09-19T16:24:05.776Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:05.776Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:24:05.777Z","priority":"6","pid":"2830187","message":" 16:24:05.175665 ====> Client connect"}

data: {"time":"2026-09-19T16:24:05.777Z","priority":"6","pid":"2830187","message":" 16:24:05.175729 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:05.777Z","priority":"6","pid":"2830187","message":" 16:24:05.175975 Read 89 bytes"}

data: {"time":"2026-09-19T16:24:05.778Z","priority":"6","pid":"2830187","message":" 16:24:05.176001 Process 89 bytes request"}

data: {"time":"2026-09-19T16:24:05.778Z","priority":"6","pid":"2830187","message":" 16:24:05.176020 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:05.779Z","priority":"6","pid":"2830187","message":" 16:24:05.176033 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:05.779Z","priority":"6","pid":"2830187","message":" 16:24:05.176083 Wrote request (89 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:05.779Z","priority":"6","pid":"2830187","message":" 16:24:05.176112 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:05.779Z","priority":"6","pid":"2830187","message":" 16:24:05.176229 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:05.780Z","priority":"6","pid":"2830187","message":" 16:24:05.176245 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:05.780Z","priority":"6","pid":"2830187","message":" 16:24:05.176256 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:05.780Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:24:05.780Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:24:05.781Z","priority":"6","pid":"2830187","message":" *   Trying [::1]:34213..."}

data: {"time":"2026-09-19T16:24:05.781Z","priority":"6","pid":"2830187","message":" * Established connection to [::1] (::1 port 34213) from ::1 port 37666"}

data: {"time":"2026-09-19T16:24:05.781Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:05.781Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:05.782Z","priority":"6","pid":"2830187","message":" > Host: [::1]:34213"}

data: {"time":"2026-09-19T16:24:05.782Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:05.782Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:05.782Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:05.782Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:05.783Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:05.783Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:24:05.783Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:05.783Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:24:05.783Z","priority":"6","pid":"2830187","message":" * Connection #0 to host [::1]:34213 left intact"}

data: {"time":"2026-09-19T16:24:05.783Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:24:05.783Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:24:05.784Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:24:05.784Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:24:05.784Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:05.785Z","priority":"6","pid":"2830187","message":" Testnum 2086"}

data: {"time":"2026-09-19T16:24:05.785Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:05.785Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:05.785Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:05.786Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:24:05.786Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:24:05.786Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:05.786Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2086"}

data: {"time":"2026-09-19T16:24:05.787Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:05.787Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:05.787Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:05.787Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.788Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:05.788Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:05.789Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:05.789Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:05.789Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:05.790Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.790Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:05.791Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:05.791Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:05.791Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:05.792Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:05.792Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:05.793Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:05.793Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.793Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:05.794Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:05.794Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.794Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:05.795Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:05.795Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:05.796Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.796Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:05.797Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2086"}

data: {"time":"2026-09-19T16:24:05.797Z","priority":"6","pid":"2830187","message":"test 2091 [HTTP Digest auth with OWS and escaped quotes]"}

data: {"time":"2026-09-19T16:24:05.799Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2091 ../src/curl -q --output log/curl2091.out  --include --trace-ascii log/trace2091 --trace-time http://127.0.0.1:39689/20910001 -u testuser:testpass --digest --next http://127.0.0.1:39689/20910003 -u testuser:testpass --digest > log/stdout2091 2> log/stderr2091"}

data: {"time":"2026-09-19T16:24:05.799Z","priority":"6","pid":"2830187","message":" 2091: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:05.800Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:05.800Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:05.800Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2091"}

data: {"time":"2026-09-19T16:24:05.801Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:05.802Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2091 ../src/curl -q --output log/curl2091.out  --include --trace-ascii log/trace2091 --trace-time http://127.0.0.1:39689/20910001 -u testuser:testpass --digest --next http://127.0.0.1:39689/20910003 -u testuser:testpass --digest > log/stdout2091 2> log/stderr2091"}

data: {"time":"2026-09-19T16:24:05.803Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:05.804Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:05.804Z","priority":"6","pid":"2830187","message":" 16:24:05.422317 ====> Client connect"}

data: {"time":"2026-09-19T16:24:05.806Z","priority":"6","pid":"2830187","message":" 16:24:05.422361 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:05.807Z","priority":"6","pid":"2830187","message":" 16:24:05.422598 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:05.807Z","priority":"6","pid":"2830187","message":" 16:24:05.422618 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:05.807Z","priority":"6","pid":"2830187","message":" 16:24:05.422633 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:05.807Z","priority":"6","pid":"2830187","message":" 16:24:05.422643 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:05.808Z","priority":"6","pid":"2830187","message":" 16:24:05.422683 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:05.809Z","priority":"6","pid":"2830187","message":" 16:24:05.422715 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:05.810Z","priority":"6","pid":"2830187","message":" 16:24:05.422804 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:05.811Z","priority":"6","pid":"2830187","message":" 16:24:05.422816 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:05.812Z","priority":"6","pid":"2830187","message":" 16:24:05.422825 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:05.812Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:05.813Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:05.815Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:05.815Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47620"}

data: {"time":"2026-09-19T16:24:05.815Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:05.815Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:05.815Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:05.816Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:05.816Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:05.816Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:05.816Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:05.816Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:05.818Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:05.818Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:05.818Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:05.818Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:05.819Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:05.820Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:05.820Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:05.820Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:05.822Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:05.823Z","priority":"6","pid":"2830187","message":" Testnum 2091"}

data: {"time":"2026-09-19T16:24:05.823Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:05.823Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:05.823Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:05.823Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:05.823Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:05.823Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:05.824Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2091"}

data: {"time":"2026-09-19T16:24:05.825Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:05.825Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:05.826Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:05.826Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.827Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:05.827Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:05.828Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:05.828Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:05.828Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:05.829Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.829Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:05.829Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:05.830Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:05.830Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:05.831Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:05.831Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:05.831Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:05.831Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.832Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:05.832Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:05.832Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.832Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:05.833Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:05.833Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:05.833Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:05.833Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:05.834Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2091"}

data: {"time":"2026-09-19T16:24:05.834Z","priority":"6","pid":"2830187","message":"test 2092 [glob range that ends with 9223372036854775807]"}

data: {"time":"2026-09-19T16:24:06.035Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-caCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2093 ../src/curl -q --output log/curl2093.out  --include --trace-ascii log/trace2093 --trace-time http://127.0.0.1:39689/2093 -# -d \"sending data\" > log/stdout2093 2> log/stderr2093"}

data: {"time":"2026-09-19T16:24:06.237Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2105 ../src/curl -q --output log/curl2105.out  --include --trace-ascii log/trace2105 --trace-time http://127.0.0.1:39689/2105 > log/stdout2105 2> log/stderr2105"}

data: {"time":"2026-09-19T16:24:06.241Z","priority":"6","pid":"2830187","message":"llers=16 --log-file=log/valgrind2092 ../src/curl -q --output log/curl2092.out  --include --trace-ascii log/trace2092 --trace-time \"127.0.0.1:39689/[0-1][9223372036854775806-9223372036854775807]/2092\" > log/stdout2092 2> log/stderr2092"}

data: {"time":"2026-09-19T16:24:06.242Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 3"}

data: {"time":"2026-09-19T16:24:06.242Z","priority":"6","pid":"2830187","message":" 2092: exit FAILED"}

data: {"time":"2026-09-19T16:24:06.242Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2092"}

data: {"time":"2026-09-19T16:24:06.242Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:06.244Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2092 ../src/curl -q --output log/curl2092.out  --include --trace-ascii log/trace2092 --trace-time \"127.0.0.1:39689/[0-1][9223372036854775806-9223372036854775807]/2092\" > log/stdout2092 2> log/stderr2092"}

data: {"time":"2026-09-19T16:24:06.244Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:06.245Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:06.245Z","priority":"6","pid":"2830187","message":" 16:24:05.661660 ====> Client connect"}

data: {"time":"2026-09-19T16:24:06.245Z","priority":"6","pid":"2830187","message":" 16:24:05.661742 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:06.245Z","priority":"6","pid":"2830187","message":" 16:24:05.661785 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:06.246Z","priority":"6","pid":"2830187","message":" 16:24:05.661799 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:06.246Z","priority":"6","pid":"2830187","message":" 16:24:05.661817 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:06.247Z","priority":"6","pid":"2830187","message":" 16:24:05.661830 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:06.247Z","priority":"6","pid":"2830187","message":" 16:24:05.661874 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:06.247Z","priority":"6","pid":"2830187","message":" 16:24:05.661902 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:06.248Z","priority":"6","pid":"2830187","message":" 16:24:05.662002 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:06.248Z","priority":"6","pid":"2830187","message":" 16:24:05.662014 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:06.249Z","priority":"6","pid":"2830187","message":" 16:24:05.662035 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:06.249Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:06.249Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:06.249Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:06.250Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47632"}

data: {"time":"2026-09-19T16:24:06.250Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:06.250Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:06.251Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:06.251Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:06.251Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:06.251Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:06.251Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:06.252Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:06.252Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:06.252Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:06.252Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:06.252Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:06.253Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:06.253Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:06.253Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:06.254Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:06.254Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:06.254Z","priority":"6","pid":"2830187","message":" Testnum 2092"}

data: {"time":"2026-09-19T16:24:06.254Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:06.255Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:06.255Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:06.256Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:06.256Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:06.256Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:06.256Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2092"}

data: {"time":"2026-09-19T16:24:06.256Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:06.257Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:06.257Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:06.257Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.258Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:06.258Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:06.259Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:06.259Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:06.260Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:06.260Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.260Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:06.261Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:06.261Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:06.262Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:06.262Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:06.263Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:06.264Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:06.264Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.264Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:06.264Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:06.264Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.265Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:06.265Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:06.266Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:06.266Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.266Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:06.267Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2092"}

data: {"time":"2026-09-19T16:24:06.267Z","priority":"6","pid":"2830187","message":"test 2093 [HTTP POST a few bytes with 2^63-1 bytes response]"}

data: {"time":"2026-09-19T16:24:06.269Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2093 ../src/curl -q --output log/curl2093.out  --include --trace-ascii log/trace2093 --trace-time http://127.0.0.1:39689/2093 -# -d \"sending data\" > log/stdout2093 2> log/stderr2093"}

data: {"time":"2026-09-19T16:24:06.269Z","priority":"6","pid":"2830187","message":" 2093: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:06.270Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:06.270Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:06.270Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2093"}

data: {"time":"2026-09-19T16:24:06.271Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:06.273Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2093 ../src/curl -q --output log/curl2093.out  --include --trace-ascii log/trace2093 --trace-time http://127.0.0.1:39689/2093 -# -d \"sending data\" > log/stdout2093 2> log/stderr2093"}

data: {"time":"2026-09-19T16:24:06.273Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:06.273Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:06.273Z","priority":"6","pid":"2830187","message":" 16:24:05.929979 ====> Client connect"}

data: {"time":"2026-09-19T16:24:06.273Z","priority":"6","pid":"2830187","message":" 16:24:05.930039 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:06.274Z","priority":"6","pid":"2830187","message":" 16:24:05.930194 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:06.274Z","priority":"6","pid":"2830187","message":" 16:24:05.930216 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:06.274Z","priority":"6","pid":"2830187","message":" 16:24:05.930230 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:06.275Z","priority":"6","pid":"2830187","message":" 16:24:05.930238 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:06.275Z","priority":"6","pid":"2830187","message":" 16:24:05.930271 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:06.275Z","priority":"6","pid":"2830187","message":" 16:24:05.930289 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:06.276Z","priority":"6","pid":"2830187","message":" 16:24:05.930345 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:06.277Z","priority":"6","pid":"2830187","message":" 16:24:05.930354 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:06.277Z","priority":"6","pid":"2830187","message":" 16:24:05.930360 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:06.277Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:06.277Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:06.278Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:06.278Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47634"}

data: {"time":"2026-09-19T16:24:06.278Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:06.278Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:06.278Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:06.279Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:06.279Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:06.279Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:06.279Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:06.280Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:06.280Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:06.280Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:06.280Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:06.280Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:06.281Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:06.281Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:06.281Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:06.282Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:06.282Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:06.282Z","priority":"6","pid":"2830187","message":" Testnum 2093"}

data: {"time":"2026-09-19T16:24:06.283Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:06.283Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:06.283Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:06.283Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:06.283Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:06.283Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:06.284Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2093"}

data: {"time":"2026-09-19T16:24:06.284Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:06.284Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:06.285Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:06.285Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.285Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:06.286Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:06.286Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:06.286Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:06.287Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:06.288Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.288Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:06.288Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:06.288Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:06.288Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:06.289Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:06.289Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:06.289Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:06.290Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.290Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:06.290Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:06.291Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.291Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:06.291Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:06.292Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:06.292Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.292Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:06.292Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2093"}

data: {"time":"2026-09-19T16:24:06.293Z","priority":"6","pid":"2830187","message":"test 2105 [HTTP with spurious CR in received header]"}

data: {"time":"2026-09-19T16:24:06.294Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2105 ../src/curl -q --output log/curl2105.out  --include --trace-ascii log/trace2105 --trace-time http://127.0.0.1:39689/2105 > log/stdout2105 2> log/stderr2105"}

data: {"time":"2026-09-19T16:24:06.295Z","priority":"6","pid":"2830187","message":" 2105: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:06.295Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:06.295Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:06.296Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2105"}

data: {"time":"2026-09-19T16:24:06.296Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:06.496Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2106 ../src/curl -q --output log/curl2106.out  --include --trace-ascii log/trace2106 --trace-time http://127.0.0.1:39689/2106 > log/stdout2106 2> log/stderr2106"}

data: {"time":"2026-09-19T16:24:06.745Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2107 ../src/curl -q --output log/curl2107.out  --include --trace-ascii log/trace2107 --trace-time http://127.0.0.1:39689/2107 -p -x http://127.0.0.1:34615 > log/stdout2107 2> log/stderr2107"}

data: {"time":"2026-09-19T16:24:06.750Z","priority":"6","pid":"2830187","message":"--log-file=log/valgrind2105 ../src/curl -q --output log/curl2105.out  --include --trace-ascii log/trace2105 --trace-time http://127.0.0.1:39689/2105 > log/stdout2105 2> log/stderr2105"}

data: {"time":"2026-09-19T16:24:06.751Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:06.751Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:06.752Z","priority":"6","pid":"2830187","message":" 16:24:06.135036 ====> Client connect"}

data: {"time":"2026-09-19T16:24:06.753Z","priority":"6","pid":"2830187","message":" 16:24:06.135076 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:06.753Z","priority":"6","pid":"2830187","message":" 16:24:06.135212 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:06.754Z","priority":"6","pid":"2830187","message":" 16:24:06.135226 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:06.755Z","priority":"6","pid":"2830187","message":" 16:24:06.135239 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:06.755Z","priority":"6","pid":"2830187","message":" 16:24:06.135247 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:06.757Z","priority":"6","pid":"2830187","message":" 16:24:06.135276 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:06.757Z","priority":"6","pid":"2830187","message":" 16:24:06.135293 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:06.757Z","priority":"6","pid":"2830187","message":" 16:24:06.135341 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:06.758Z","priority":"6","pid":"2830187","message":" 16:24:06.135349 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:06.758Z","priority":"6","pid":"2830187","message":" 16:24:06.135356 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:06.759Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:06.759Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:06.759Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:06.760Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47636"}

data: {"time":"2026-09-19T16:24:06.760Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:06.761Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:06.761Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:06.761Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:06.761Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:06.761Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:06.762Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:06.762Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:06.762Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:06.762Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:06.763Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:06.763Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:06.764Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:06.764Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:06.764Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:06.764Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:06.764Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:06.764Z","priority":"6","pid":"2830187","message":" Testnum 2105"}

data: {"time":"2026-09-19T16:24:06.764Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:06.765Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:06.765Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:06.765Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:06.765Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:06.766Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:06.766Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2105"}

data: {"time":"2026-09-19T16:24:06.767Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:06.767Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:06.768Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:06.768Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.768Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:06.768Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:06.769Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:06.769Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:06.769Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:06.770Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.770Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:06.770Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:06.771Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:06.771Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:06.772Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:06.772Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:06.773Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:06.773Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.773Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:06.773Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:06.774Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.774Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:06.775Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:06.775Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:06.775Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.776Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:06.776Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2105"}

data: {"time":"2026-09-19T16:24:06.776Z","priority":"6","pid":"2830187","message":"test 2106 [HTTP chunked response with a nul byte in the trailer]"}

data: {"time":"2026-09-19T16:24:06.778Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2106 ../src/curl -q --output log/curl2106.out  --include --trace-ascii log/trace2106 --trace-time http://127.0.0.1:39689/2106 > log/stdout2106 2> log/stderr2106"}

data: {"time":"2026-09-19T16:24:06.778Z","priority":"6","pid":"2830187","message":" 2106: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:06.779Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:06.780Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:06.780Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2106"}

data: {"time":"2026-09-19T16:24:06.780Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:06.781Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2106 ../src/curl -q --output log/curl2106.out  --include --trace-ascii log/trace2106 --trace-time http://127.0.0.1:39689/2106 > log/stdout2106 2> log/stderr2106"}

data: {"time":"2026-09-19T16:24:06.782Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:06.782Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:06.782Z","priority":"6","pid":"2830187","message":" 16:24:06.394949 ====> Client connect"}

data: {"time":"2026-09-19T16:24:06.783Z","priority":"6","pid":"2830187","message":" 16:24:06.394997 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:06.783Z","priority":"6","pid":"2830187","message":" 16:24:06.395028 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:06.783Z","priority":"6","pid":"2830187","message":" 16:24:06.395039 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:06.784Z","priority":"6","pid":"2830187","message":" 16:24:06.395056 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:06.784Z","priority":"6","pid":"2830187","message":" 16:24:06.395070 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:06.784Z","priority":"6","pid":"2830187","message":" 16:24:06.395109 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:06.785Z","priority":"6","pid":"2830187","message":" 16:24:06.395145 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:06.785Z","priority":"6","pid":"2830187","message":" 16:24:06.395246 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:06.786Z","priority":"6","pid":"2830187","message":" 16:24:06.395263 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:06.787Z","priority":"6","pid":"2830187","message":" 16:24:06.395273 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:06.787Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:06.787Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:06.787Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:06.787Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 47650"}

data: {"time":"2026-09-19T16:24:06.788Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:06.788Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:06.789Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:06.789Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:06.789Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:06.789Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:06.789Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:06.789Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:06.789Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:06.789Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:06.790Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:06.790Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:06.790Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:06.791Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:06.791Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:06.791Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:06.792Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:06.792Z","priority":"6","pid":"2830187","message":" Testnum 2106"}

data: {"time":"2026-09-19T16:24:06.792Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:06.792Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:06.793Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:06.793Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:06.794Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:06.794Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:06.794Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2106"}

data: {"time":"2026-09-19T16:24:06.794Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:06.794Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:06.795Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:06.795Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.795Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:06.796Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:06.796Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:06.797Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:06.797Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:06.798Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.798Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:06.798Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:06.798Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:06.799Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:06.799Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:06.800Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:06.800Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:06.800Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.800Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:06.801Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:06.801Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.802Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:06.803Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:06.803Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:06.803Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:06.803Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:06.803Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2106"}

data: {"time":"2026-09-19T16:24:06.804Z","priority":"6","pid":"2830187","message":"test 2107 [HTTP CONNECT response with a nul byte in a header]"}

data: {"time":"2026-09-19T16:24:06.805Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2107 ../src/curl -q --output log/curl2107.out  --include --trace-ascii log/trace2107 --trace-time http://127.0.0.1:39689/2107 -p -x http://127.0.0.1:34615 > log/stdout2107 2> log/stderr2107"}

data: {"time":"2026-09-19T16:24:06.806Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 8"}

data: {"time":"2026-09-19T16:24:06.806Z","priority":"6","pid":"2830187","message":" 2107: exit FAILED"}

data: {"time":"2026-09-19T16:24:06.806Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2107"}

data: {"time":"2026-09-19T16:24:06.806Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:06.808Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2107 ../src/curl -q --output log/curl2107.out  --include --trace-ascii log/trace2107 --trace-time http://127.0.0.1:39689/2107 -p -x http://127.0.0.1:34615 > log/stdout2107 2> log/stderr2107"}

data: {"time":"2026-09-19T16:24:06.808Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:06.809Z","priority":"6","pid":"2830187","message":"=== Start of file http2_server.log"}

data: {"time":"2026-09-19T16:24:06.809Z","priority":"6","pid":"2830187","message":" 16:24:05.648747 ====> Client connect"}

data: {"time":"2026-09-19T16:24:06.809Z","priority":"6","pid":"2830187","message":" 16:24:05.648796 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:06.810Z","priority":"6","pid":"2830187","message":" 16:24:05.648938 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:06.810Z","priority":"6","pid":"2830187","message":" 16:24:05.648952 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:06.810Z","priority":"6","pid":"2830187","message":" 16:24:05.648968 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:06.811Z","priority":"6","pid":"2830187","message":" 16:24:05.648978 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:06.811Z","priority":"6","pid":"2830187","message":" 16:24:05.649012 Wrote request (93 bytes) input to log/proxy.input"}

data: {"time":"2026-09-19T16:24:07.071Z","priority":"6","pid":"2830187","message":" 16:24:05.649032 Identifying ourselves as friCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2108 ../src/curl -q --output log/curl2108.out  --include --trace-ascii log/trace2108 --trace-time ftp://127.0.0.1:43733/2108 > log/stdout2108 2> log/stderr2108"}

data: {"time":"2026-09-19T16:24:07.084Z","priority":"6","pid":"2830187","message":"ends"}

data: {"time":"2026-09-19T16:24:07.084Z","priority":"6","pid":"2830187","message":" 16:24:05.649087 Response sent (56 bytes) and written to log/proxy.response"}

data: {"time":"2026-09-19T16:24:07.085Z","priority":"6","pid":"2830187","message":" 16:24:05.649098 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:07.085Z","priority":"6","pid":"2830187","message":" 16:24:05.649107 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:07.085Z","priority":"6","pid":"2830187","message":"=== End of file http2_server.log"}

data: {"time":"2026-09-19T16:24:07.086Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.log"}

data: {"time":"2026-09-19T16:24:07.086Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34615..."}

data: {"time":"2026-09-19T16:24:07.087Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34615) from 127.0.0.1 port 46568"}

data: {"time":"2026-09-19T16:24:07.088Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:07.088Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:07.088Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34615"}

data: {"time":"2026-09-19T16:24:07.089Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:07.089Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:07.090Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:07.090Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:07.090Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:07.090Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:24:07.090Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:07.091Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:24:07.091Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34615 left intact"}

data: {"time":"2026-09-19T16:24:07.091Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.log"}

data: {"time":"2026-09-19T16:24:07.091Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.out"}

data: {"time":"2026-09-19T16:24:07.092Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:24:07.092Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.out"}

data: {"time":"2026-09-19T16:24:07.092Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:07.093Z","priority":"6","pid":"2830187","message":" 16:24:06.608242 ====> Client connect"}

data: {"time":"2026-09-19T16:24:07.093Z","priority":"6","pid":"2830187","message":" 16:24:06.608293 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:07.094Z","priority":"6","pid":"2830187","message":" 16:24:06.608544 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:07.094Z","priority":"6","pid":"2830187","message":" 16:24:06.608565 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:07.094Z","priority":"6","pid":"2830187","message":" 16:24:06.608580 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:07.095Z","priority":"6","pid":"2830187","message":" 16:24:06.608590 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:07.096Z","priority":"6","pid":"2830187","message":" 16:24:06.608629 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:07.096Z","priority":"6","pid":"2830187","message":" 16:24:06.608650 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:07.096Z","priority":"6","pid":"2830187","message":" 16:24:06.608811 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:07.097Z","priority":"6","pid":"2830187","message":" 16:24:06.608828 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:07.097Z","priority":"6","pid":"2830187","message":" 16:24:06.608839 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:07.098Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:07.098Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:07.099Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:07.099Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36520"}

data: {"time":"2026-09-19T16:24:07.099Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:07.099Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:07.100Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:07.100Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:07.100Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:07.100Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:07.101Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:07.101Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:07.101Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:07.101Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:07.102Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:07.103Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:07.103Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:07.103Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:07.103Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:07.103Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:07.104Z","priority":"6","pid":"2830187","message":"=== Start of file proxy.response"}

data: {"time":"2026-09-19T16:24:07.104Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:07.104Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:24:07.104Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:24:07.105Z","priority":"6","pid":"2830187","message":"=== End of file proxy.response"}

data: {"time":"2026-09-19T16:24:07.105Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:07.105Z","priority":"6","pid":"2830187","message":" Testnum 2107"}

data: {"time":"2026-09-19T16:24:07.105Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:07.106Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:07.106Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:07.107Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:07.107Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:07.107Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:07.107Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2107"}

data: {"time":"2026-09-19T16:24:07.108Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:07.108Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:07.109Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:07.109Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.110Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:07.110Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:07.110Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:07.110Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:07.111Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:07.111Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.111Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:07.112Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:07.112Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:07.113Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:07.113Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:07.114Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:07.114Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:07.115Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.115Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:07.115Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:07.116Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.116Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:07.116Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:07.117Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:07.118Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.118Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:07.118Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2107"}

data: {"time":"2026-09-19T16:24:07.119Z","priority":"6","pid":"2830187","message":"test 2108 [FTP rejects a nul byte in a server response line]"}

data: {"time":"2026-09-19T16:24:07.120Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2108 ../src/curl -q --output log/curl2108.out  --include --trace-ascii log/trace2108 --trace-time ftp://127.0.0.1:43733/2108 > log/stdout2108 2> log/stderr2108"}

data: {"time":"2026-09-19T16:24:07.121Z","priority":"6","pid":"2830187","message":" 2108: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:07.121Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:07.121Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:07.122Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2108"}

data: {"time":"2026-09-19T16:24:07.122Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:07.124Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2108 ../src/curl -q --output log/curl2108.out  --include --trace-ascii log/trace2108 --trace-time ftp://127.0.0.1:43733/2108 > log/stdout2108 2> log/stderr2108"}

data: {"time":"2026-09-19T16:24:07.125Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:07.125Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:07.125Z","priority":"6","pid":"2830187","message":" 16:24:06.849441 ====> Client connect"}

data: {"time":"2026-09-19T16:24:07.126Z","priority":"6","pid":"2830187","message":" 16:24:06.849711 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.127Z","priority":"6","pid":"2830187","message":" 16:24:06.850389 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:24:07.127Z","priority":"6","pid":"2830187","message":" 16:24:06.850602 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.128Z","priority":"6","pid":"2830187","message":" 16:24:06.850835 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:24:07.128Z","priority":"6","pid":"2830187","message":" 16:24:06.850876 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.128Z","priority":"6","pid":"2830187","message":" 16:24:06.851099 < \"PWD\""}

data: {"time":"2026-09-19T16:24:07.129Z","priority":"6","pid":"2830187","message":" 16:24:06.851147 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.129Z","priority":"6","pid":"2830187","message":" 16:24:06.851422 < \"EPSV\""}

data: {"time":"2026-09-19T16:24:07.129Z","priority":"6","pid":"2830187","message":" 16:24:06.851462 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:24:07.130Z","priority":"6","pid":"2830187","message":" 16:24:06.851483 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:24:07.130Z","priority":"6","pid":"2830187","message":" 16:24:06.854516 DATA sockfilt for passive data channel started (pid 176913)"}

data: {"time":"2026-09-19T16:24:07.131Z","priority":"6","pid":"2830187","message":" 16:24:06.854735 DATA sockfilt for passive data channel listens on port 41569"}

data: {"time":"2026-09-19T16:24:07.131Z","priority":"6","pid":"2830187","message":" 16:24:06.854807 > \"229 Entering Passive Mode (|||41569|)[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.132Z","priority":"6","pid":"2830187","message":" 16:24:06.854841 Client has been notified that upcoming DATA connection is awaited on port 41569"}

data: {"time":"2026-09-19T16:24:07.132Z","priority":"6","pid":"2830187","message":" 16:24:06.855188 Client connects to port 41569"}

data: {"time":"2026-09-19T16:24:07.133Z","priority":"6","pid":"2830187","message":" 16:24:06.855242 ====> Client established passive DATA connection on port 41569"}

data: {"time":"2026-09-19T16:24:07.133Z","priority":"6","pid":"2830187","message":" 16:24:06.855602 < \"TYPE I\""}

data: {"time":"2026-09-19T16:24:07.134Z","priority":"6","pid":"2830187","message":" 16:24:06.855744 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.134Z","priority":"6","pid":"2830187","message":" 16:24:06.855983 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:24:07.135Z","priority":"6","pid":"2830187","message":" 16:24:06.856042 > \"213 18[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.135Z","priority":"6","pid":"2830187","message":" 16:24:06.856263 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:24:07.135Z","priority":"6","pid":"2830187","message":" 16:24:06.856314 > \"150 Binary junk (18 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.136Z","priority":"6","pid":"2830187","message":" 16:24:06.856464 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:24:07.136Z","priority":"6","pid":"2830187","message":" 16:24:06.856490 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:24:07.137Z","priority":"6","pid":"2830187","message":" 16:24:06.856870 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:24:07.137Z","priority":"6","pid":"2830187","message":" 16:24:06.856930 DATA sockfilt for passive data channel quits (pid 176913)"}

data: {"time":"2026-09-19T16:24:07.138Z","priority":"6","pid":"2830187","message":" 16:24:06.857318 DATA sockfilt for passive data channel quit (pid 176913)"}

data: {"time":"2026-09-19T16:24:07.138Z","priority":"6","pid":"2830187","message":" 16:24:06.857386 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:24:07.139Z","priority":"6","pid":"2830187","message":" 16:24:06.857435 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.139Z","priority":"6","pid":"2830187","message":" 16:24:06.898106 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:07.140Z","priority":"6","pid":"2830187","message":" 16:24:06.898202 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.141Z","priority":"6","pid":"2830187","message":" 16:24:06.899255 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:07.141Z","priority":"6","pid":"2830187","message":" 16:24:06.899542 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:07.141Z","priority":"6","pid":"2830187","message":" 16:24:06.899724 Awaiting input"}

data: {"time":"2026-09-19T16:24:07.141Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:07.141Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:07.142Z","priority":"6","pid":"2830187","message":" 16:24:06.908277 ====> Client connect"}

data: {"time":"2026-09-19T16:24:07.142Z","priority":"6","pid":"2830187","message":" 16:24:06.908884 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.142Z","priority":"6","pid":"2830187","message":" 16:24:06.908915 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.143Z","priority":"6","pid":"2830187","message":" 16:24:06.908932 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:07.144Z","priority":"6","pid":"2830187","message":" 16:24:06.908947 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.145Z","priority":"6","pid":"2830187","message":" 16:24:06.908960 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.145Z","priority":"6","pid":"2830187","message":" 16:24:06.909084 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:07.145Z","priority":"6","pid":"2830187","message":" 16:24:06.909146 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.145Z","priority":"6","pid":"2830187","message":" 16:24:06.909520 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.145Z","priority":"6","pid":"2830187","message":" 16:24:06.909544 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.146Z","priority":"6","pid":"2830187","message":" 16:24:06.909573 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.146Z","priority":"6","pid":"2830187","message":" 16:24:06.909714 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:07.147Z","priority":"6","pid":"2830187","message":" 16:24:06.909734 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.147Z","priority":"6","pid":"2830187","message":" 16:24:06.909940 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.148Z","priority":"6","pid":"2830187","message":" 16:24:06.909953 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.148Z","priority":"6","pid":"2830187","message":" 16:24:06.909967 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.149Z","priority":"6","pid":"2830187","message":" 16:24:06.910039 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:07.149Z","priority":"6","pid":"2830187","message":" 16:24:06.910052 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.150Z","priority":"6","pid":"2830187","message":" 16:24:06.910210 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.150Z","priority":"6","pid":"2830187","message":" 16:24:06.910223 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.150Z","priority":"6","pid":"2830187","message":" 16:24:06.910236 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.151Z","priority":"6","pid":"2830187","message":" 16:24:06.910316 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:07.152Z","priority":"6","pid":"2830187","message":" 16:24:06.910337 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.152Z","priority":"6","pid":"2830187","message":" 16:24:06.913922 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.152Z","priority":"6","pid":"2830187","message":" 16:24:06.913944 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.152Z","priority":"6","pid":"2830187","message":" 16:24:06.913958 '229 Entering Passive Mode (|||41569|)\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.152Z","priority":"6","pid":"2830187","message":" 16:24:06.914469 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:07.153Z","priority":"6","pid":"2830187","message":" 16:24:06.914492 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.153Z","priority":"6","pid":"2830187","message":" 16:24:06.914689 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.330Z","priority":"6","pid":"2830187","message":" 16:24:06.914707 >CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2109 ../src/curl -q --output log/curl2109.out  --include --trace log/trace2109 --trace-time mqtt://127.0.0.1:43757/aa%00bb > log/stdout2109 2> log/stderr2109"}

data: {"time":"2026-09-19T16:24:07.587Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2110 ../src/curl -q --output log/curl2110.out  --include --trace-ascii log/trace2110 --trace-time smtp://127.0.0.1:34199/2110 --mail-rcpt recipient@example.com -K log/test2110.config -T log/test2110.eml > log/stdout2110 2> log/stderr2110"}

data: {"time":"2026-09-19T16:24:07.592Z","priority":"6","pid":"2830187","message":" 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.593Z","priority":"6","pid":"2830187","message":" 16:24:06.914735 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.593Z","priority":"6","pid":"2830187","message":" 16:24:06.914927 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:07.593Z","priority":"6","pid":"2830187","message":" 16:24:06.914954 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.594Z","priority":"6","pid":"2830187","message":" 16:24:06.915107 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.594Z","priority":"6","pid":"2830187","message":" 16:24:06.915120 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.595Z","priority":"6","pid":"2830187","message":" 16:24:06.915131 '213 18\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.595Z","priority":"6","pid":"2830187","message":" 16:24:06.915206 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:07.595Z","priority":"6","pid":"2830187","message":" 16:24:06.915220 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.596Z","priority":"6","pid":"2830187","message":" 16:24:06.915560 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.596Z","priority":"6","pid":"2830187","message":" 16:24:06.915576 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.596Z","priority":"6","pid":"2830187","message":" 16:24:06.915591 '150 Binary junk (18 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.597Z","priority":"6","pid":"2830187","message":" 16:24:06.916515 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.597Z","priority":"6","pid":"2830187","message":" 16:24:06.916537 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.597Z","priority":"6","pid":"2830187","message":" 16:24:06.916551 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.598Z","priority":"6","pid":"2830187","message":" 16:24:06.956809 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:07.598Z","priority":"6","pid":"2830187","message":" 16:24:06.956877 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.599Z","priority":"6","pid":"2830187","message":" 16:24:06.957288 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.599Z","priority":"6","pid":"2830187","message":" 16:24:06.957314 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.599Z","priority":"6","pid":"2830187","message":" 16:24:06.957327 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.600Z","priority":"6","pid":"2830187","message":" 16:24:06.958186 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:07.600Z","priority":"6","pid":"2830187","message":" 16:24:06.958458 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:07.600Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:07.601Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:07.601Z","priority":"6","pid":"2830187","message":" 16:24:06.912983 Running IPv4 version"}

data: {"time":"2026-09-19T16:24:07.602Z","priority":"6","pid":"2830187","message":" 16:24:06.913103 Listening on port 41569"}

data: {"time":"2026-09-19T16:24:07.602Z","priority":"6","pid":"2830187","message":" 16:24:06.913405 Wrote pid 176913 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:24:07.602Z","priority":"6","pid":"2830187","message":" 16:24:06.913443 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:24:07.603Z","priority":"6","pid":"2830187","message":" 16:24:06.913650 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:24:07.603Z","priority":"6","pid":"2830187","message":" 16:24:06.914178 ====> Client connect"}

data: {"time":"2026-09-19T16:24:07.603Z","priority":"6","pid":"2830187","message":" 16:24:06.915636 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.604Z","priority":"6","pid":"2830187","message":" 16:24:06.915658 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.604Z","priority":"6","pid":"2830187","message":" 16:24:06.915670 'WE ROOLZ: 162430\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.604Z","priority":"6","pid":"2830187","message":" 16:24:06.915704 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:24:07.605Z","priority":"6","pid":"2830187","message":" 16:24:06.915719 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:24:07.605Z","priority":"6","pid":"2830187","message":" 16:24:06.916012 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:24:07.605Z","priority":"6","pid":"2830187","message":" 16:24:06.916032 quits"}

data: {"time":"2026-09-19T16:24:07.606Z","priority":"6","pid":"2830187","message":" 16:24:06.916133 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:24:07.606Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:07.607Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:07.607Z","priority":"6","pid":"2830187","message":" REPLY PASS 230 logged\\x00 in"}

data: {"time":"2026-09-19T16:24:07.607Z","priority":"6","pid":"2830187","message":" Testnum 2108"}

data: {"time":"2026-09-19T16:24:07.608Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:07.608Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2108"}

data: {"time":"2026-09-19T16:24:07.608Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:07.609Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:07.609Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:07.609Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.610Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:07.610Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:07.611Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:07.611Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:07.612Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:07.612Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.612Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:07.613Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:07.613Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:07.614Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:07.614Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:07.615Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:07.615Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:07.615Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.616Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:07.616Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:07.616Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.617Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:07.618Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:07.618Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:07.618Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.619Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:07.619Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2108"}

data: {"time":"2026-09-19T16:24:07.620Z","priority":"6","pid":"2830187","message":"test 2109 [MQTT rejects a control byte in the topic]"}

data: {"time":"2026-09-19T16:24:07.621Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2109 ../src/curl -q --output log/curl2109.out  --include --trace log/trace2109 --trace-time mqtt://127.0.0.1:43757/aa%00bb > log/stdout2109 2> log/stderr2109"}

data: {"time":"2026-09-19T16:24:07.622Z","priority":"6","pid":"2830187","message":" 2109: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:07.622Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:07.623Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:07.623Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2109"}

data: {"time":"2026-09-19T16:24:07.623Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:07.625Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2109 ../src/curl -q --output log/curl2109.out  --include --trace log/trace2109 --trace-time mqtt://127.0.0.1:43757/aa%00bb > log/stdout2109 2> log/stderr2109"}

data: {"time":"2026-09-19T16:24:07.625Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:07.626Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:07.626Z","priority":"6","pid":"2830187","message":" Testnum 2109"}

data: {"time":"2026-09-19T16:24:07.626Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:07.627Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2109"}

data: {"time":"2026-09-19T16:24:07.627Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:07.627Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:07.628Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:07.628Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.629Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:07.629Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:07.629Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:07.630Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:07.630Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:07.631Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.631Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:07.631Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:07.632Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:07.632Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:07.633Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:07.633Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:07.634Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:07.634Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.634Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:07.635Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:07.635Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.635Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:07.636Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:07.637Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:07.637Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:07.637Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:07.638Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2109"}

data: {"time":"2026-09-19T16:24:07.638Z","priority":"6","pid":"2830187","message":"test 2110 [SMTP --mail-from with embedded CRLF is rejected]"}

data: {"time":"2026-09-19T16:24:07.640Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2110 ../src/curl -q --output log/curl2110.out  --include --trace-ascii log/trace2110 --trace-time smtp://127.0.0.1:34199/2110 --mail-rcpt recipient@example.com -K log/test2110.config -T log/test2110.eml > log/stdout2110 2> log/stderr2110"}

data: {"time":"2026-09-19T16:24:07.641Z","priority":"6","pid":"2830187","message":" 2110: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:07.641Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:07.641Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:07.641Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2110"}

data: {"time":"2026-09-19T16:24:07.642Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:07.644Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2110 ../src/curl -q --output log/curl2110.out  --include --trace-ascii log/trace2110 --trace-time smtp://127.0.0.1:34199/2110 --mail-rcpt recipient@example.com -K log/test2110.config -T log/test2110.eml > log/stdout2110 2> log/stderr2110"}

data: {"time":"2026-09-19T16:24:07.644Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:07.644Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:07.645Z","priority":"6","pid":"2830187","message":" Testnum 2110"}

data: {"time":"2026-09-19T16:24:07.645Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:07.645Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:07.646Z","priority":"6","pid":"2830187","message":" 16:24:07.388581 ====> Client connect"}

data: {"time":"2026-09-19T16:24:07.647Z","priority":"6","pid":"2830187","message":" 16:24:07.388867 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.647Z","priority":"6","pid":"2830187","message":" 16:24:07.389544 < \"EHLO verifiedserver\""}

data: {"time":"2026-09-19T16:24:07.648Z","priority":"6","pid":"2830187","message":" 16:24:07.389626 > \"250 ESMTP pingpong test server Hello verifiedserver[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.648Z","priority":"6","pid":"2830187","message":" 16:24:07.390004 < \"HELP\""}

data: {"time":"2026-09-19T16:24:07.648Z","priority":"6","pid":"2830187","message":" 16:24:07.390143 > \"214 WE ROOLZ: 112484[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.649Z","priority":"6","pid":"2830187","message":" 16:24:07.390170 return proof we are we"}

data: {"time":"2026-09-19T16:24:07.649Z","priority":"6","pid":"2830187","message":" 16:24:07.390715 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:07.649Z","priority":"6","pid":"2830187","message":" 16:24:07.390770 > \"221 curl ESMTP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:07.650Z","priority":"6","pid":"2830187","message":" 16:24:07.391444 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:07.650Z","priority":"6","pid":"2830187","message":" 16:24:07.391578 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:07.651Z","priority":"6","pid":"2830187","message":" 16:24:07.391721 Awaiting input"}

data: {"time":"2026-09-19T16:24:07.651Z","priority":"6","pid":"2830187","message":"=== End of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:07.651Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:07.652Z","priority":"6","pid":"2830187","message":" 16:24:07.447306 ====> Client connect"}

data: {"time":"2026-09-19T16:24:07.652Z","priority":"6","pid":"2830187","message":" 16:24:07.447980 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.652Z","priority":"6","pid":"2830187","message":" 16:24:07.448029 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:07.653Z","priority":"6","pid":"2830187","message":" 16:24:07.448046 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:07.653Z","priority":"6","pid":"2830187","message":" 16:24:07.448058 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.654Z","priority":"6","pid":"2830187","message":" 16:24:07.448070 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.654Z","priority":"6","pid":"2830187","message":" 16:24:07.448329 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:07.655Z","priority":"6","pid":"2830187","message":" 16:24:07.448419 'EHLO verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:07.655Z","priority":"6","pid":"2830187","message":" 16:24:07.448711 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:07.907Z","priority":"6","pid":"2830187","message":" 16:24:07.44CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2113 ../src/curl -q --output log/curl2113.out  --include --trace-ascii log/trace2113 --trace-time http://first.host.it.is/we/want/that/page/2113 -x 127.0.0.1:39689 -H \"Authorization : s3cr3t\" --proxy-user testing:this --location > log/stdout2113 2> log/stderr2113"}

data: {"time":"2026-09-19T16:24:08.191Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2114 ../src/curl -q --output log/curl2114.out  --include --trace-ascii log/trace2114 --trace-time ftp://127.0.0.1:43733/2114 -K log/test2114.config > log/stdout2114 2> log/stderr2114"}

data: {"time":"2026-09-19T16:24:08.198Z","priority":"6","pid":"2830187","message":"8732 > 53 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.199Z","priority":"6","pid":"2830187","message":" 16:24:07.448748 '250 ESMTP pingpong test server Hello verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.199Z","priority":"6","pid":"2830187","message":" 16:24:07.448872 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.199Z","priority":"6","pid":"2830187","message":" 16:24:07.448896 'HELP\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.199Z","priority":"6","pid":"2830187","message":" 16:24:07.449234 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.200Z","priority":"6","pid":"2830187","message":" 16:24:07.449257 > 22 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.200Z","priority":"6","pid":"2830187","message":" 16:24:07.449271 '214 WE ROOLZ: 112484\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.201Z","priority":"6","pid":"2830187","message":" 16:24:07.449595 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.201Z","priority":"6","pid":"2830187","message":" 16:24:07.449623 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.202Z","priority":"6","pid":"2830187","message":" 16:24:07.449854 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.202Z","priority":"6","pid":"2830187","message":" 16:24:07.449879 > 35 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.202Z","priority":"6","pid":"2830187","message":" 16:24:07.449892 '221 curl ESMTP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.202Z","priority":"6","pid":"2830187","message":" 16:24:07.450419 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:08.203Z","priority":"6","pid":"2830187","message":" 16:24:07.450528 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:08.203Z","priority":"6","pid":"2830187","message":"=== End of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:08.204Z","priority":"6","pid":"2830187","message":"=== Start of file test2110.config"}

data: {"time":"2026-09-19T16:24:08.204Z","priority":"6","pid":"2830187","message":" mail-from = \"sender@example.com\\r\\nDATA\""}

data: {"time":"2026-09-19T16:24:08.204Z","priority":"6","pid":"2830187","message":"=== End of file test2110.config"}

data: {"time":"2026-09-19T16:24:08.205Z","priority":"6","pid":"2830187","message":"=== Start of file test2110.eml"}

data: {"time":"2026-09-19T16:24:08.205Z","priority":"6","pid":"2830187","message":" From: different"}

data: {"time":"2026-09-19T16:24:08.205Z","priority":"6","pid":"2830187","message":" To: another"}

data: {"time":"2026-09-19T16:24:08.205Z","priority":"6","pid":"2830187","message":" body"}

data: {"time":"2026-09-19T16:24:08.206Z","priority":"6","pid":"2830187","message":"=== End of file test2110.eml"}

data: {"time":"2026-09-19T16:24:08.206Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2110"}

data: {"time":"2026-09-19T16:24:08.206Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:08.207Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:08.207Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:08.208Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.208Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:08.209Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:08.209Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:08.209Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:08.210Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:08.210Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.210Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:08.211Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:08.211Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:08.212Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:08.213Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:08.213Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:08.213Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:08.214Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.214Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:08.215Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:08.215Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.215Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:08.216Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:08.216Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:08.216Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.217Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:08.217Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2110"}

data: {"time":"2026-09-19T16:24:08.218Z","priority":"6","pid":"2830187","message":"test 2113 [Authorization: with whitespace before colon and redir to new host]"}

data: {"time":"2026-09-19T16:24:08.220Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2113 ../src/curl -q --output log/curl2113.out  --include --trace-ascii log/trace2113 --trace-time http://first.host.it.is/we/want/that/page/2113 -x 127.0.0.1:39689 -H \"Authorization : s3cr3t\" --proxy-user testing:this --location > log/stdout2113 2> log/stderr2113"}

data: {"time":"2026-09-19T16:24:08.220Z","priority":"6","pid":"2830187","message":" 2113: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:08.221Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:08.221Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:08.221Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2113"}

data: {"time":"2026-09-19T16:24:08.222Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:08.224Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2113 ../src/curl -q --output log/curl2113.out  --include --trace-ascii log/trace2113 --trace-time http://first.host.it.is/we/want/that/page/2113 -x 127.0.0.1:39689 -H \"Authorization : s3cr3t\" --proxy-user testing:this --location > log/stdout2113 2> log/stderr2113"}

data: {"time":"2026-09-19T16:24:08.225Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:08.225Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:08.225Z","priority":"6","pid":"2830187","message":" 16:24:07.760076 ====> Client connect"}

data: {"time":"2026-09-19T16:24:08.225Z","priority":"6","pid":"2830187","message":" 16:24:07.760157 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:08.225Z","priority":"6","pid":"2830187","message":" 16:24:07.760337 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:08.226Z","priority":"6","pid":"2830187","message":" 16:24:07.760401 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:08.226Z","priority":"6","pid":"2830187","message":" 16:24:07.760421 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:08.227Z","priority":"6","pid":"2830187","message":" 16:24:07.760431 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:08.227Z","priority":"6","pid":"2830187","message":" 16:24:07.760477 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:08.227Z","priority":"6","pid":"2830187","message":" 16:24:07.760501 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:08.228Z","priority":"6","pid":"2830187","message":" 16:24:07.760567 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:08.228Z","priority":"6","pid":"2830187","message":" 16:24:07.760579 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:08.229Z","priority":"6","pid":"2830187","message":" 16:24:07.760588 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:08.229Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:08.229Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:08.229Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:08.230Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36532"}

data: {"time":"2026-09-19T16:24:08.230Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:08.231Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:08.231Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:08.231Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:08.231Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:08.232Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:08.232Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:08.232Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:08.233Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:08.233Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:08.234Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:08.234Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:08.234Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:08.234Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:08.234Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:08.235Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:08.235Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:08.235Z","priority":"6","pid":"2830187","message":" Testnum 2113"}

data: {"time":"2026-09-19T16:24:08.236Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:08.237Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:08.237Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:08.237Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:08.237Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:08.237Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:08.237Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2113"}

data: {"time":"2026-09-19T16:24:08.238Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:08.238Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:08.238Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:08.238Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.239Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:08.239Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:08.240Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:08.240Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:08.240Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:08.241Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.241Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:08.242Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:08.242Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:08.243Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:08.243Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:08.244Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:08.244Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:08.244Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.245Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:08.245Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:08.245Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.246Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:08.246Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:08.247Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:08.247Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.247Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:08.248Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2113"}

data: {"time":"2026-09-19T16:24:08.249Z","priority":"6","pid":"2830187","message":"test 2114 [FTP username with embedded CRLF is rejected]"}

data: {"time":"2026-09-19T16:24:08.250Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2114 ../src/curl -q --output log/curl2114.out  --include --trace-ascii log/trace2114 --trace-time ftp://127.0.0.1:43733/2114 -K log/test2114.config > log/stdout2114 2> log/stderr2114"}

data: {"time":"2026-09-19T16:24:08.251Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 43"}

data: {"time":"2026-09-19T16:24:08.251Z","priority":"6","pid":"2830187","message":" 2114: exit FAILED"}

data: {"time":"2026-09-19T16:24:08.252Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2114"}

data: {"time":"2026-09-19T16:24:08.252Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:08.254Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2114 ../src/curl -q --output log/curl2114.out  --include --trace-ascii log/trace2114 --trace-time ftp://127.0.0.1:43733/2114 -K log/test2114.config > log/stdout2114 2> log/stderr2114"}

data: {"time":"2026-09-19T16:24:08.254Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:08.255Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:08.255Z","priority":"6","pid":"2830187","message":" 16:24:07.956236 ====> Client connect"}

data: {"time":"2026-09-19T16:24:08.256Z","priority":"6","pid":"2830187","message":" 16:24:07.957114 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.256Z","priority":"6","pid":"2830187","message":" 16:24:07.957485 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:24:08.257Z","priority":"6","pid":"2830187","message":" 16:24:07.957634 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.258Z","priority":"6","pid":"2830187","message":" 16:24:07.957963 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:24:08.258Z","priority":"6","pid":"2830187","message":" 16:24:07.958025 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.258Z","priority":"6","pid":"2830187","message":" 16:24:07.958321 < \"PWD\""}

data: {"time":"2026-09-19T16:24:08.258Z","priority":"6","pid":"2830187","message":" 16:24:07.958435 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.258Z","priority":"6","pid":"2830187","message":" 16:24:07.958775 < \"EPSV\""}

data: {"time":"2026-09-19T16:24:08.259Z","priority":"6","pid":"2830187","message":" 16:24:07.958823 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:24:08.259Z","priority":"6","pid":"2830187","message":" 16:24:07.958844 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:24:08.260Z","priority":"6","pid":"2830187","message":" 16:24:07.962712 DATA sockfilt for passive data channel started (pid 177159)"}

data: {"time":"2026-09-19T16:24:08.260Z","priority":"6","pid":"2830187","message":" 16:24:07.962936 DATA sockfilt for passive data channel listens on port 41281"}

data: {"time":"2026-09-19T16:24:08.542Z","priority":"6","pid":"2830187","message":" 16:24:07.963207 > \"229 Entering Passive Mode (|||CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2115 ../src/curl -q --output log/curl2115.out  --include --trace-ascii log/trace2115 --trace-time ftp://127.0.0.1:43733/2115 -K log/test2115.config > log/stdout2115 2> log/stderr2115"}

data: {"time":"2026-09-19T16:24:08.554Z","priority":"6","pid":"2830187","message":"41281|)[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.556Z","priority":"6","pid":"2830187","message":" 16:24:07.963259 Client has been notified that upcoming DATA connection is awaited on port 41281"}

data: {"time":"2026-09-19T16:24:08.557Z","priority":"6","pid":"2830187","message":" 16:24:07.963786 Client connects to port 41281"}

data: {"time":"2026-09-19T16:24:08.557Z","priority":"6","pid":"2830187","message":" 16:24:07.963850 ====> Client established passive DATA connection on port 41281"}

data: {"time":"2026-09-19T16:24:08.557Z","priority":"6","pid":"2830187","message":" 16:24:07.964113 < \"TYPE I\""}

data: {"time":"2026-09-19T16:24:08.558Z","priority":"6","pid":"2830187","message":" 16:24:07.964276 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.558Z","priority":"6","pid":"2830187","message":" 16:24:07.964648 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:24:08.559Z","priority":"6","pid":"2830187","message":" 16:24:07.964875 > \"213 18[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.559Z","priority":"6","pid":"2830187","message":" 16:24:07.965048 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:24:08.559Z","priority":"6","pid":"2830187","message":" 16:24:07.965105 > \"150 Binary junk (18 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.560Z","priority":"6","pid":"2830187","message":" 16:24:07.965259 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:24:08.560Z","priority":"6","pid":"2830187","message":" 16:24:07.965288 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:24:08.561Z","priority":"6","pid":"2830187","message":" 16:24:07.965849 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:24:08.561Z","priority":"6","pid":"2830187","message":" 16:24:07.965936 DATA sockfilt for passive data channel quits (pid 177159)"}

data: {"time":"2026-09-19T16:24:08.562Z","priority":"6","pid":"2830187","message":" 16:24:07.966505 DATA sockfilt for passive data channel quit (pid 177159)"}

data: {"time":"2026-09-19T16:24:08.562Z","priority":"6","pid":"2830187","message":" 16:24:07.966560 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:24:08.563Z","priority":"6","pid":"2830187","message":" 16:24:07.966621 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.563Z","priority":"6","pid":"2830187","message":" 16:24:08.007126 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:08.564Z","priority":"6","pid":"2830187","message":" 16:24:08.007220 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.564Z","priority":"6","pid":"2830187","message":" 16:24:08.008223 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:08.564Z","priority":"6","pid":"2830187","message":" 16:24:08.008435 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:08.564Z","priority":"6","pid":"2830187","message":" 16:24:08.008611 Awaiting input"}

data: {"time":"2026-09-19T16:24:08.565Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:08.566Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:08.566Z","priority":"6","pid":"2830187","message":" 16:24:08.015030 ====> Client connect"}

data: {"time":"2026-09-19T16:24:08.566Z","priority":"6","pid":"2830187","message":" 16:24:08.015789 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.566Z","priority":"6","pid":"2830187","message":" 16:24:08.015833 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.567Z","priority":"6","pid":"2830187","message":" 16:24:08.015863 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:08.567Z","priority":"6","pid":"2830187","message":" 16:24:08.015877 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.568Z","priority":"6","pid":"2830187","message":" 16:24:08.015889 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.568Z","priority":"6","pid":"2830187","message":" 16:24:08.016058 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.568Z","priority":"6","pid":"2830187","message":" 16:24:08.016081 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.569Z","priority":"6","pid":"2830187","message":" 16:24:08.016597 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.569Z","priority":"6","pid":"2830187","message":" 16:24:08.016626 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.570Z","priority":"6","pid":"2830187","message":" 16:24:08.016704 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.570Z","priority":"6","pid":"2830187","message":" 16:24:08.016822 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.570Z","priority":"6","pid":"2830187","message":" 16:24:08.016842 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.571Z","priority":"6","pid":"2830187","message":" 16:24:08.017088 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.571Z","priority":"6","pid":"2830187","message":" 16:24:08.017110 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.572Z","priority":"6","pid":"2830187","message":" 16:24:08.017123 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.572Z","priority":"6","pid":"2830187","message":" 16:24:08.017221 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.572Z","priority":"6","pid":"2830187","message":" 16:24:08.017237 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.573Z","priority":"6","pid":"2830187","message":" 16:24:08.017506 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.573Z","priority":"6","pid":"2830187","message":" 16:24:08.017529 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.574Z","priority":"6","pid":"2830187","message":" 16:24:08.017544 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.574Z","priority":"6","pid":"2830187","message":" 16:24:08.017668 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.575Z","priority":"6","pid":"2830187","message":" 16:24:08.017687 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.575Z","priority":"6","pid":"2830187","message":" 16:24:08.022052 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.575Z","priority":"6","pid":"2830187","message":" 16:24:08.022093 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.576Z","priority":"6","pid":"2830187","message":" 16:24:08.022125 '229 Entering Passive Mode (|||41281|)\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.576Z","priority":"6","pid":"2830187","message":" 16:24:08.022964 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.577Z","priority":"6","pid":"2830187","message":" 16:24:08.022986 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.577Z","priority":"6","pid":"2830187","message":" 16:24:08.023235 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.577Z","priority":"6","pid":"2830187","message":" 16:24:08.023264 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.577Z","priority":"6","pid":"2830187","message":" 16:24:08.023353 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.578Z","priority":"6","pid":"2830187","message":" 16:24:08.023501 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.578Z","priority":"6","pid":"2830187","message":" 16:24:08.023517 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.578Z","priority":"6","pid":"2830187","message":" 16:24:08.023748 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.579Z","priority":"6","pid":"2830187","message":" 16:24:08.023768 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.579Z","priority":"6","pid":"2830187","message":" 16:24:08.023791 '213 18\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.580Z","priority":"6","pid":"2830187","message":" 16:24:08.023957 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.580Z","priority":"6","pid":"2830187","message":" 16:24:08.023974 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.580Z","priority":"6","pid":"2830187","message":" 16:24:08.024372 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.581Z","priority":"6","pid":"2830187","message":" 16:24:08.024430 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.581Z","priority":"6","pid":"2830187","message":" 16:24:08.024447 '150 Binary junk (18 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.581Z","priority":"6","pid":"2830187","message":" 16:24:08.025694 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.582Z","priority":"6","pid":"2830187","message":" 16:24:08.025721 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.582Z","priority":"6","pid":"2830187","message":" 16:24:08.025748 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.582Z","priority":"6","pid":"2830187","message":" 16:24:08.065937 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.583Z","priority":"6","pid":"2830187","message":" 16:24:08.066015 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.583Z","priority":"6","pid":"2830187","message":" 16:24:08.066309 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.584Z","priority":"6","pid":"2830187","message":" 16:24:08.066333 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.584Z","priority":"6","pid":"2830187","message":" 16:24:08.066346 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.585Z","priority":"6","pid":"2830187","message":" 16:24:08.067162 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:08.585Z","priority":"6","pid":"2830187","message":" 16:24:08.067328 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:08.585Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:08.585Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:08.585Z","priority":"6","pid":"2830187","message":" 16:24:07.021225 Running IPv4 version"}

data: {"time":"2026-09-19T16:24:08.586Z","priority":"6","pid":"2830187","message":" 16:24:07.021545 Listening on port 41281"}

data: {"time":"2026-09-19T16:24:08.586Z","priority":"6","pid":"2830187","message":" 16:24:07.021619 Wrote pid 177159 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:24:08.587Z","priority":"6","pid":"2830187","message":" 16:24:07.021657 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:24:08.587Z","priority":"6","pid":"2830187","message":" 16:24:07.021837 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:24:08.587Z","priority":"6","pid":"2830187","message":" 16:24:07.022748 ====> Client connect"}

data: {"time":"2026-09-19T16:24:08.588Z","priority":"6","pid":"2830187","message":" 16:24:07.024500 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.588Z","priority":"6","pid":"2830187","message":" 16:24:07.024531 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.588Z","priority":"6","pid":"2830187","message":" 16:24:07.024544 'WE ROOLZ: 162430\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.589Z","priority":"6","pid":"2830187","message":" 16:24:07.024590 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:24:08.589Z","priority":"6","pid":"2830187","message":" 16:24:07.024607 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:24:08.590Z","priority":"6","pid":"2830187","message":" 16:24:07.025021 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:24:08.590Z","priority":"6","pid":"2830187","message":" 16:24:07.025042 quits"}

data: {"time":"2026-09-19T16:24:08.590Z","priority":"6","pid":"2830187","message":" 16:24:07.025176 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:24:08.591Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:08.591Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:08.591Z","priority":"6","pid":"2830187","message":" Testnum 2114"}

data: {"time":"2026-09-19T16:24:08.592Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:08.592Z","priority":"6","pid":"2830187","message":"=== Start of file test2114.config"}

data: {"time":"2026-09-19T16:24:08.592Z","priority":"6","pid":"2830187","message":" user = \"anonymous\\r\\nSTOR: /2114\""}

data: {"time":"2026-09-19T16:24:08.592Z","priority":"6","pid":"2830187","message":"=== End of file test2114.config"}

data: {"time":"2026-09-19T16:24:08.593Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2114"}

data: {"time":"2026-09-19T16:24:08.593Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:08.594Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:08.594Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:08.595Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.595Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:08.596Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:08.596Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:08.596Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:08.596Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:08.597Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.597Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:08.598Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:08.598Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:08.599Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:08.599Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:08.600Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:08.600Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:08.600Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.601Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:08.601Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:08.601Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.602Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:08.602Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:08.603Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:08.603Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.603Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:08.603Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2114"}

data: {"time":"2026-09-19T16:24:08.604Z","priority":"6","pid":"2830187","message":"test 2115 [FTP --ftp-account with embedded CRLF is rejected]"}

data: {"time":"2026-09-19T16:24:08.606Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2115 ../src/curl -q --output log/curl2115.out  --include --trace-ascii log/trace2115 --trace-time ftp://127.0.0.1:43733/2115 -K log/test2115.config > log/stdout2115 2> log/stderr2115"}

data: {"time":"2026-09-19T16:24:08.606Z","priority":"6","pid":"2830187","message":" 2115: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:08.607Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:08.608Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:08.608Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2115"}

data: {"time":"2026-09-19T16:24:08.608Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:08.609Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2115 ../src/curl -q --output log/curl2115.out  --include --trace-ascii log/trace2115 --trace-time ftp://127.0.0.1:43733/2115 -K log/test2115.config > log/stdout2115 2> log/stderr2115"}

data: {"time":"2026-09-19T16:24:08.610Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:08.610Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:08.611Z","priority":"6","pid":"2830187","message":" 16:24:08.307921 ====> Client connect"}

data: {"time":"2026-09-19T16:24:08.612Z","priority":"6","pid":"2830187","message":" 16:24:08.308315 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.612Z","priority":"6","pid":"2830187","message":" 16:24:08.309018 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:24:08.612Z","priority":"6","pid":"2830187","message":" 16:24:08.309315 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.613Z","priority":"6","pid":"2830187","message":" 16:24:08.309517 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:24:08.613Z","priority":"6","pid":"2830187","message":" 16:24:08.309614 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.614Z","priority":"6","pid":"2830187","message":" 16:24:08.309864 < \"PWD\""}

data: {"time":"2026-09-19T16:24:08.614Z","priority":"6","pid":"2830187","message":" 16:24:08.309921 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.614Z","priority":"6","pid":"2830187","message":" 16:24:08.310238 < \"EPSV\""}

data: {"time":"2026-09-19T16:24:08.615Z","priority":"6","pid":"2830187","message":" 16:24:08.310284 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:24:08.615Z","priority":"6","pid":"2830187","message":" 16:24:08.310307 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:24:08.617Z","priority":"6","pid":"2830187","message":" 16:24:08.314627 DATA sockfilt for passive data channel started (pid 177226)"}

data: {"time":"2026-09-19T16:24:08.617Z","priority":"6","pid":"2830187","message":" 16:24:08.314888 DATA sockfilt for passive data channel listens on port 36255"}

data: {"time":"2026-09-19T16:24:08.617Z","priority":"6","pid":"2830187","message":" 16:24:08.315105 > \"229 Entering Passive Mode (|||36255|)[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.618Z","priority":"6","pid":"2830187","message":" 16:24:08.315154 Client has been notified that upcoming DATA connection is awaited on port 36255"}

data: {"time":"2026-09-19T16:24:08.618Z","priority":"6","pid":"2830187","message":" 16:24:08.315751 Client connects to port 36255"}

data: {"time":"2026-09-19T16:24:08.618Z","priority":"6","pid":"2830187","message":" 16:24:08.315810 ====> Client established passive DATA connection on port 36255"}

data: {"time":"2026-09-19T16:24:08.619Z","priority":"6","pid":"2830187","message":" 16:24:08.315971 < \"TYPE I\""}

data: {"time":"2026-09-19T16:24:08.619Z","priority":"6","pid":"2830187","message":" 16:24:08.316223 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.922Z","priority":"6","pid":"2830187","message":" 16:24:08CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2116 ../src/curl -q --output log/curl2116.out  --include --trace-ascii log/trace2116 --trace-time ftp://127.0.0.1:43733/2116/ -K log/test2116.config > log/stdout2116 2> log/stderr2116"}

data: {"time":"2026-09-19T16:24:08.928Z","priority":"6","pid":"2830187","message":".316329 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:24:08.928Z","priority":"6","pid":"2830187","message":" 16:24:08.316420 > \"213 18[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.928Z","priority":"6","pid":"2830187","message":" 16:24:08.316738 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:24:08.929Z","priority":"6","pid":"2830187","message":" 16:24:08.316857 > \"150 Binary junk (18 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.929Z","priority":"6","pid":"2830187","message":" 16:24:08.317234 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:24:08.930Z","priority":"6","pid":"2830187","message":" 16:24:08.317271 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:24:08.930Z","priority":"6","pid":"2830187","message":" 16:24:08.317605 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:24:08.931Z","priority":"6","pid":"2830187","message":" 16:24:08.317657 DATA sockfilt for passive data channel quits (pid 177226)"}

data: {"time":"2026-09-19T16:24:08.932Z","priority":"6","pid":"2830187","message":" 16:24:08.318157 DATA sockfilt for passive data channel quit (pid 177226)"}

data: {"time":"2026-09-19T16:24:08.932Z","priority":"6","pid":"2830187","message":" 16:24:08.318205 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:24:08.933Z","priority":"6","pid":"2830187","message":" 16:24:08.318256 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.933Z","priority":"6","pid":"2830187","message":" 16:24:08.358127 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:08.933Z","priority":"6","pid":"2830187","message":" 16:24:08.358261 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.934Z","priority":"6","pid":"2830187","message":" 16:24:08.359376 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:08.934Z","priority":"6","pid":"2830187","message":" 16:24:08.359582 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:08.934Z","priority":"6","pid":"2830187","message":" 16:24:08.359753 Awaiting input"}

data: {"time":"2026-09-19T16:24:08.935Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:08.935Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:08.935Z","priority":"6","pid":"2830187","message":" 16:24:08.366742 ====> Client connect"}

data: {"time":"2026-09-19T16:24:08.936Z","priority":"6","pid":"2830187","message":" 16:24:08.367499 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.936Z","priority":"6","pid":"2830187","message":" 16:24:08.367549 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.936Z","priority":"6","pid":"2830187","message":" 16:24:08.367567 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:08.937Z","priority":"6","pid":"2830187","message":" 16:24:08.367581 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.937Z","priority":"6","pid":"2830187","message":" 16:24:08.367592 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.938Z","priority":"6","pid":"2830187","message":" 16:24:08.367743 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.938Z","priority":"6","pid":"2830187","message":" 16:24:08.367763 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.938Z","priority":"6","pid":"2830187","message":" 16:24:08.368113 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.939Z","priority":"6","pid":"2830187","message":" 16:24:08.368137 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.939Z","priority":"6","pid":"2830187","message":" 16:24:08.368163 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.939Z","priority":"6","pid":"2830187","message":" 16:24:08.368283 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.940Z","priority":"6","pid":"2830187","message":" 16:24:08.368301 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.940Z","priority":"6","pid":"2830187","message":" 16:24:08.368587 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.941Z","priority":"6","pid":"2830187","message":" 16:24:08.368608 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.941Z","priority":"6","pid":"2830187","message":" 16:24:08.368669 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.941Z","priority":"6","pid":"2830187","message":" 16:24:08.368769 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.942Z","priority":"6","pid":"2830187","message":" 16:24:08.368786 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.942Z","priority":"6","pid":"2830187","message":" 16:24:08.368974 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.942Z","priority":"6","pid":"2830187","message":" 16:24:08.368999 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.943Z","priority":"6","pid":"2830187","message":" 16:24:08.369012 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.943Z","priority":"6","pid":"2830187","message":" 16:24:08.369138 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.943Z","priority":"6","pid":"2830187","message":" 16:24:08.369155 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.944Z","priority":"6","pid":"2830187","message":" 16:24:08.373997 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.944Z","priority":"6","pid":"2830187","message":" 16:24:08.374065 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.944Z","priority":"6","pid":"2830187","message":" 16:24:08.374220 '229 Entering Passive Mode (|||36255|)\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.945Z","priority":"6","pid":"2830187","message":" 16:24:08.374630 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.945Z","priority":"6","pid":"2830187","message":" 16:24:08.374659 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.945Z","priority":"6","pid":"2830187","message":" 16:24:08.375059 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.946Z","priority":"6","pid":"2830187","message":" 16:24:08.375081 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.946Z","priority":"6","pid":"2830187","message":" 16:24:08.375105 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.947Z","priority":"6","pid":"2830187","message":" 16:24:08.375197 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.947Z","priority":"6","pid":"2830187","message":" 16:24:08.375213 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.947Z","priority":"6","pid":"2830187","message":" 16:24:08.375504 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.947Z","priority":"6","pid":"2830187","message":" 16:24:08.375526 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.947Z","priority":"6","pid":"2830187","message":" 16:24:08.375538 '213 18\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.948Z","priority":"6","pid":"2830187","message":" 16:24:08.375630 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.948Z","priority":"6","pid":"2830187","message":" 16:24:08.375657 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.948Z","priority":"6","pid":"2830187","message":" 16:24:08.375822 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.948Z","priority":"6","pid":"2830187","message":" 16:24:08.375842 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.949Z","priority":"6","pid":"2830187","message":" 16:24:08.375946 '150 Binary junk (18 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.949Z","priority":"6","pid":"2830187","message":" 16:24:08.377339 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.949Z","priority":"6","pid":"2830187","message":" 16:24:08.377390 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.950Z","priority":"6","pid":"2830187","message":" 16:24:08.377403 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.950Z","priority":"6","pid":"2830187","message":" 16:24:08.416918 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:08.951Z","priority":"6","pid":"2830187","message":" 16:24:08.416989 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.951Z","priority":"6","pid":"2830187","message":" 16:24:08.417387 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.951Z","priority":"6","pid":"2830187","message":" 16:24:08.417445 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.952Z","priority":"6","pid":"2830187","message":" 16:24:08.417460 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.952Z","priority":"6","pid":"2830187","message":" 16:24:08.418270 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:08.952Z","priority":"6","pid":"2830187","message":" 16:24:08.418493 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:08.953Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:08.954Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:08.954Z","priority":"6","pid":"2830187","message":" 16:24:08.372835 Running IPv4 version"}

data: {"time":"2026-09-19T16:24:08.954Z","priority":"6","pid":"2830187","message":" 16:24:08.373470 Listening on port 36255"}

data: {"time":"2026-09-19T16:24:08.954Z","priority":"6","pid":"2830187","message":" 16:24:08.373534 Wrote pid 177226 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:24:08.954Z","priority":"6","pid":"2830187","message":" 16:24:08.373572 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:24:08.955Z","priority":"6","pid":"2830187","message":" 16:24:08.373776 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:24:08.955Z","priority":"6","pid":"2830187","message":" 16:24:08.374695 ====> Client connect"}

data: {"time":"2026-09-19T16:24:08.955Z","priority":"6","pid":"2830187","message":" 16:24:08.376056 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:08.956Z","priority":"6","pid":"2830187","message":" 16:24:08.376089 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:08.956Z","priority":"6","pid":"2830187","message":" 16:24:08.376336 'WE ROOLZ: 162430\\r\\n'"}

data: {"time":"2026-09-19T16:24:08.956Z","priority":"6","pid":"2830187","message":" 16:24:08.376419 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:24:08.957Z","priority":"6","pid":"2830187","message":" 16:24:08.376437 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:24:08.957Z","priority":"6","pid":"2830187","message":" 16:24:08.376715 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:24:08.957Z","priority":"6","pid":"2830187","message":" 16:24:08.376736 quits"}

data: {"time":"2026-09-19T16:24:08.958Z","priority":"6","pid":"2830187","message":" 16:24:08.376856 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:24:08.958Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:08.958Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:08.958Z","priority":"6","pid":"2830187","message":" REPLY PASS 332 please provide account name"}

data: {"time":"2026-09-19T16:24:08.959Z","priority":"6","pid":"2830187","message":" Testnum 2115"}

data: {"time":"2026-09-19T16:24:08.959Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:08.959Z","priority":"6","pid":"2830187","message":"=== Start of file test2115.config"}

data: {"time":"2026-09-19T16:24:08.959Z","priority":"6","pid":"2830187","message":" ftp-account = \"one\\r\\nDELE 2115\""}

data: {"time":"2026-09-19T16:24:08.960Z","priority":"6","pid":"2830187","message":"=== End of file test2115.config"}

data: {"time":"2026-09-19T16:24:08.960Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2115"}

data: {"time":"2026-09-19T16:24:08.960Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:08.961Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:08.961Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:08.961Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.962Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:08.962Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:08.962Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:08.963Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:08.963Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:08.963Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.963Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:08.964Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:08.964Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:08.964Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:08.965Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:08.965Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:08.966Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:08.966Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.966Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:08.966Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:08.966Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.967Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:08.967Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:08.967Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:08.967Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:08.968Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:08.968Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2115"}

data: {"time":"2026-09-19T16:24:08.968Z","priority":"6","pid":"2830187","message":"test 2116 [FTP --ftp-alternative-to-user with embedded CRLF is rejected]"}

data: {"time":"2026-09-19T16:24:08.970Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2116 ../src/curl -q --output log/curl2116.out  --include --trace-ascii log/trace2116 --trace-time ftp://127.0.0.1:43733/2116/ -K log/test2116.config > log/stdout2116 2> log/stderr2116"}

data: {"time":"2026-09-19T16:24:08.970Z","priority":"6","pid":"2830187","message":" 2116: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:08.971Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:08.972Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:08.972Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2116"}

data: {"time":"2026-09-19T16:24:08.973Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:08.974Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2116 ../src/curl -q --output log/curl2116.out  --include --trace-ascii log/trace2116 --trace-time ftp://127.0.0.1:43733/2116/ -K log/test2116.config > log/stdout2116 2> log/stderr2116"}

data: {"time":"2026-09-19T16:24:08.974Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:08.975Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:08.975Z","priority":"6","pid":"2830187","message":" 16:24:08.665131 ====> Client connect"}

data: {"time":"2026-09-19T16:24:08.976Z","priority":"6","pid":"2830187","message":" 16:24:08.666128 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.976Z","priority":"6","pid":"2830187","message":" 16:24:08.666430 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:24:08.977Z","priority":"6","pid":"2830187","message":" 16:24:08.666627 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.977Z","priority":"6","pid":"2830187","message":" 16:24:08.666942 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:24:08.977Z","priority":"6","pid":"2830187","message":" 16:24:08.667000 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.978Z","priority":"6","pid":"2830187","message":" 16:24:08.667416 < \"PWD\""}

data: {"time":"2026-09-19T16:24:08.978Z","priority":"6","pid":"2830187","message":" 16:24:08.667539 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.978Z","priority":"6","pid":"2830187","message":" 16:24:08.667885 < \"EPSV\""}

data: {"time":"2026-09-19T16:24:08.979Z","priority":"6","pid":"2830187","message":" 16:24:08.667935 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:24:08.979Z","priority":"6","pid":"2830187","message":" 16:24:08.667956 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:24:08.980Z","priority":"6","pid":"2830187","message":" 16:24:08.671931 DATA sockfilt for passive data channel started (pid 177293)"}

data: {"time":"2026-09-19T16:24:08.980Z","priority":"6","pid":"2830187","message":" 16:24:08.672168 DATA sockfilt for passive data channel listens on port 44379"}

data: {"time":"2026-09-19T16:24:08.980Z","priority":"6","pid":"2830187","message":" 16:24:08.672404 > \"229 Entering Passive Mode (|||44379|)[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.981Z","priority":"6","pid":"2830187","message":" 16:24:08.672454 Client has been notified that upcoming DATA connection is awaited on port 44379"}

data: {"time":"2026-09-19T16:24:08.981Z","priority":"6","pid":"2830187","message":" 16:24:08.672854 Client connects to port 44379"}

data: {"time":"2026-09-19T16:24:08.982Z","priority":"6","pid":"2830187","message":" 16:24:08.672926 ====> Client established passive DATA connection on port 44379"}

data: {"time":"2026-09-19T16:24:08.983Z","priority":"6","pid":"2830187","message":" 16:24:08.673304 < \"TYPE I\""}

data: {"time":"2026-09-19T16:24:08.983Z","priority":"6","pid":"2830187","message":" 16:24:08.673467 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.983Z","priority":"6","pid":"2830187","message":" 16:24:08.673774 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:24:08.983Z","priority":"6","pid":"2830187","message":" 16:24:08.673863 > \"213 18[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.984Z","priority":"6","pid":"2830187","message":" 16:24:08.674197 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:24:08.984Z","priority":"6","pid":"2830187","message":" 16:24:08.674268 > \"150 Binary junk (18 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:24:08.984Z","priority":"6","pid":"2830187","message":" 16:24:08.674474 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:24:09.200Z","priority":"6","pid":"2830187","message":" 16:24:08.674507 Server disconnects passive DATA connectiCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2119 ../src/curl -q --output log/curl2119.out  --include --trace-ascii log/trace2119 --trace-time http://127.0.0.1:39689/2119 -sS > log/stdout2119 2> log/stderr2119"}

data: {"time":"2026-09-19T16:24:09.215Z","priority":"6","pid":"2830187","message":"on"}

data: {"time":"2026-09-19T16:24:09.216Z","priority":"6","pid":"2830187","message":" 16:24:08.675005 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:24:09.216Z","priority":"6","pid":"2830187","message":" 16:24:08.675062 DATA sockfilt for passive data channel quits (pid 177293)"}

data: {"time":"2026-09-19T16:24:09.217Z","priority":"6","pid":"2830187","message":" 16:24:08.675665 DATA sockfilt for passive data channel quit (pid 177293)"}

data: {"time":"2026-09-19T16:24:09.217Z","priority":"6","pid":"2830187","message":" 16:24:08.675715 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:24:09.218Z","priority":"6","pid":"2830187","message":" 16:24:08.675771 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:24:09.218Z","priority":"6","pid":"2830187","message":" 16:24:08.716114 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:09.218Z","priority":"6","pid":"2830187","message":" 16:24:08.716209 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:24:09.218Z","priority":"6","pid":"2830187","message":" 16:24:08.717169 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:09.219Z","priority":"6","pid":"2830187","message":" 16:24:08.717314 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:09.219Z","priority":"6","pid":"2830187","message":" 16:24:08.717471 Awaiting input"}

data: {"time":"2026-09-19T16:24:09.219Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:09.219Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:09.220Z","priority":"6","pid":"2830187","message":" 16:24:08.723944 ====> Client connect"}

data: {"time":"2026-09-19T16:24:09.220Z","priority":"6","pid":"2830187","message":" 16:24:08.724822 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.220Z","priority":"6","pid":"2830187","message":" 16:24:08.724862 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.221Z","priority":"6","pid":"2830187","message":" 16:24:08.724894 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:09.221Z","priority":"6","pid":"2830187","message":" 16:24:08.724917 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.222Z","priority":"6","pid":"2830187","message":" 16:24:08.724929 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.222Z","priority":"6","pid":"2830187","message":" 16:24:08.725080 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:09.223Z","priority":"6","pid":"2830187","message":" 16:24:08.725098 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.223Z","priority":"6","pid":"2830187","message":" 16:24:08.725528 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.223Z","priority":"6","pid":"2830187","message":" 16:24:08.725554 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.223Z","priority":"6","pid":"2830187","message":" 16:24:08.725580 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.223Z","priority":"6","pid":"2830187","message":" 16:24:08.725771 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:09.223Z","priority":"6","pid":"2830187","message":" 16:24:08.725802 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.224Z","priority":"6","pid":"2830187","message":" 16:24:08.726055 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.224Z","priority":"6","pid":"2830187","message":" 16:24:08.726080 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.225Z","priority":"6","pid":"2830187","message":" 16:24:08.726096 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.225Z","priority":"6","pid":"2830187","message":" 16:24:08.726259 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:09.225Z","priority":"6","pid":"2830187","message":" 16:24:08.726281 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.226Z","priority":"6","pid":"2830187","message":" 16:24:08.726504 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.226Z","priority":"6","pid":"2830187","message":" 16:24:08.726527 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.226Z","priority":"6","pid":"2830187","message":" 16:24:08.726622 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.226Z","priority":"6","pid":"2830187","message":" 16:24:08.726757 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:09.227Z","priority":"6","pid":"2830187","message":" 16:24:08.726778 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.227Z","priority":"6","pid":"2830187","message":" 16:24:08.731274 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.227Z","priority":"6","pid":"2830187","message":" 16:24:08.731304 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.228Z","priority":"6","pid":"2830187","message":" 16:24:08.731331 '229 Entering Passive Mode (|||44379|)\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.228Z","priority":"6","pid":"2830187","message":" 16:24:08.732129 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:09.228Z","priority":"6","pid":"2830187","message":" 16:24:08.732159 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.229Z","priority":"6","pid":"2830187","message":" 16:24:08.732422 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.229Z","priority":"6","pid":"2830187","message":" 16:24:08.732447 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.229Z","priority":"6","pid":"2830187","message":" 16:24:08.732531 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.230Z","priority":"6","pid":"2830187","message":" 16:24:08.732647 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:09.230Z","priority":"6","pid":"2830187","message":" 16:24:08.732666 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.230Z","priority":"6","pid":"2830187","message":" 16:24:08.732922 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.231Z","priority":"6","pid":"2830187","message":" 16:24:08.732943 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.231Z","priority":"6","pid":"2830187","message":" 16:24:08.732955 '213 18\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.231Z","priority":"6","pid":"2830187","message":" 16:24:08.733080 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:09.232Z","priority":"6","pid":"2830187","message":" 16:24:08.733104 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.232Z","priority":"6","pid":"2830187","message":" 16:24:08.733568 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.233Z","priority":"6","pid":"2830187","message":" 16:24:08.733589 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.233Z","priority":"6","pid":"2830187","message":" 16:24:08.733603 '150 Binary junk (18 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.233Z","priority":"6","pid":"2830187","message":" 16:24:08.734843 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.234Z","priority":"6","pid":"2830187","message":" 16:24:08.734866 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.234Z","priority":"6","pid":"2830187","message":" 16:24:08.734881 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.235Z","priority":"6","pid":"2830187","message":" 16:24:08.774800 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:09.235Z","priority":"6","pid":"2830187","message":" 16:24:08.774880 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.235Z","priority":"6","pid":"2830187","message":" 16:24:08.775272 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.235Z","priority":"6","pid":"2830187","message":" 16:24:08.775295 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.235Z","priority":"6","pid":"2830187","message":" 16:24:08.775308 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.235Z","priority":"6","pid":"2830187","message":" 16:24:08.776104 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:09.236Z","priority":"6","pid":"2830187","message":" 16:24:08.776256 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:09.236Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:09.236Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:09.237Z","priority":"6","pid":"2830187","message":" 16:24:08.730598 Running IPv4 version"}

data: {"time":"2026-09-19T16:24:09.237Z","priority":"6","pid":"2830187","message":" 16:24:08.730764 Listening on port 44379"}

data: {"time":"2026-09-19T16:24:09.238Z","priority":"6","pid":"2830187","message":" 16:24:08.730822 Wrote pid 177293 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:24:09.238Z","priority":"6","pid":"2830187","message":" 16:24:08.730857 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:24:09.238Z","priority":"6","pid":"2830187","message":" 16:24:08.731056 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:24:09.238Z","priority":"6","pid":"2830187","message":" 16:24:08.731800 ====> Client connect"}

data: {"time":"2026-09-19T16:24:09.238Z","priority":"6","pid":"2830187","message":" 16:24:08.733688 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:09.239Z","priority":"6","pid":"2830187","message":" 16:24:08.733721 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:09.239Z","priority":"6","pid":"2830187","message":" 16:24:08.733734 'WE ROOLZ: 162430\\r\\n'"}

data: {"time":"2026-09-19T16:24:09.239Z","priority":"6","pid":"2830187","message":" 16:24:08.733780 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:24:09.239Z","priority":"6","pid":"2830187","message":" 16:24:08.733798 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:24:09.240Z","priority":"6","pid":"2830187","message":" 16:24:08.734121 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:24:09.240Z","priority":"6","pid":"2830187","message":" 16:24:08.734144 quits"}

data: {"time":"2026-09-19T16:24:09.240Z","priority":"6","pid":"2830187","message":" 16:24:08.734278 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:24:09.241Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:09.241Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:09.241Z","priority":"6","pid":"2830187","message":" REPLY USER 530 go away"}

data: {"time":"2026-09-19T16:24:09.241Z","priority":"6","pid":"2830187","message":" Testnum 2116"}

data: {"time":"2026-09-19T16:24:09.241Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:09.241Z","priority":"6","pid":"2830187","message":"=== Start of file test2116.config"}

data: {"time":"2026-09-19T16:24:09.241Z","priority":"6","pid":"2830187","message":" ftp-alternative-to-user = \"USER me\\r\\nDELE 2116\""}

data: {"time":"2026-09-19T16:24:09.242Z","priority":"6","pid":"2830187","message":"=== End of file test2116.config"}

data: {"time":"2026-09-19T16:24:09.242Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2116"}

data: {"time":"2026-09-19T16:24:09.242Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:09.243Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:09.243Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:09.243Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.243Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:09.244Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:09.244Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:09.244Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:09.245Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:09.245Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.245Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:09.246Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:09.246Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:09.246Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:09.247Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:09.247Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:09.248Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:09.248Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.248Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:09.248Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:09.248Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.249Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:09.249Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:09.249Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:09.250Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.250Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:09.250Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2116"}

data: {"time":"2026-09-19T16:24:09.421Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2200 ../src/curl -q --output log/curl2200.out  --include --trace log/trace2200 --trace-time mqtt://127.0.0.1:43757/2200 -u fakeuser:fakepasswd > log/stdout2200 2> log/stderr2200"}

data: {"time":"2026-09-19T16:24:09.586Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2201 ../src/curl -q --output log/curl2201.out  --include --trace log/trace2201 --trace-time mqtt://127.0.0.1:43757/2201 -d something -u testuser:testpasswd > log/stdout2201 2> log/stderr2201"}

data: {"time":"2026-09-19T16:24:09.599Z","priority":"6","pid":"2830187","message":"test 2119 [Reject unsolicited Transfer-Encoding token with an identity prefix]"}

data: {"time":"2026-09-19T16:24:09.600Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2119 ../src/curl -q --output log/curl2119.out  --include --trace-ascii log/trace2119 --trace-time http://127.0.0.1:39689/2119 -sS > log/stdout2119 2> log/stderr2119"}

data: {"time":"2026-09-19T16:24:09.600Z","priority":"6","pid":"2830187","message":" 2119: stderr FAILED:"}

data: {"time":"2026-09-19T16:24:09.601Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:09.215781427 +0000"}

data: {"time":"2026-09-19T16:24:09.601Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:09.215247276 +0000"}

data: {"time":"2026-09-19T16:24:09.602Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:24:09.602Z","priority":"6","pid":"2830187","message":"-curl: (61) Unsolicited Transfer-Encoding (identityx) found[CR][LF]"}

data: {"time":"2026-09-19T16:24:09.602Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2119"}

data: {"time":"2026-09-19T16:24:09.602Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:09.603Z","priority":"6","pid":"2830187","message":" curl: (61) Unsolicited Transfer-Encoding (identityx) found[CR][LF]"}

data: {"time":"2026-09-19T16:24:09.603Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:09.603Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:09.605Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2119 ../src/curl -q --output log/curl2119.out  --include --trace-ascii log/trace2119 --trace-time http://127.0.0.1:39689/2119 -sS > log/stdout2119 2> log/stderr2119"}

data: {"time":"2026-09-19T16:24:09.605Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:09.605Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:09.605Z","priority":"6","pid":"2830187","message":" 16:24:09.087845 ====> Client connect"}

data: {"time":"2026-09-19T16:24:09.606Z","priority":"6","pid":"2830187","message":" 16:24:09.087911 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:09.606Z","priority":"6","pid":"2830187","message":" 16:24:09.088129 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:09.606Z","priority":"6","pid":"2830187","message":" 16:24:09.088156 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:09.607Z","priority":"6","pid":"2830187","message":" 16:24:09.088172 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:09.607Z","priority":"6","pid":"2830187","message":" 16:24:09.088183 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:09.607Z","priority":"6","pid":"2830187","message":" 16:24:09.088233 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:09.608Z","priority":"6","pid":"2830187","message":" 16:24:09.088259 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:09.608Z","priority":"6","pid":"2830187","message":" 16:24:09.088335 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:09.608Z","priority":"6","pid":"2830187","message":" 16:24:09.088667 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:09.608Z","priority":"6","pid":"2830187","message":" 16:24:09.088687 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:09.609Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:09.609Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:09.610Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:09.610Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36540"}

data: {"time":"2026-09-19T16:24:09.610Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:09.610Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:09.610Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:09.610Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:09.610Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:09.610Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:09.611Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:09.611Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:09.611Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:09.611Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:09.611Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:09.612Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:09.612Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:09.612Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:09.612Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:09.612Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:09.612Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:09.613Z","priority":"6","pid":"2830187","message":" Testnum 2119"}

data: {"time":"2026-09-19T16:24:09.613Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:09.613Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:09.614Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:09.614Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:09.614Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:09.614Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:09.614Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2119"}

data: {"time":"2026-09-19T16:24:09.614Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:09.615Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:09.615Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:09.616Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.616Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:09.616Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:09.617Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:09.617Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:09.618Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:09.619Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.619Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:09.619Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:09.619Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:09.620Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:09.620Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:09.621Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:09.621Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:09.621Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.622Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:09.622Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:09.623Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.624Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:09.624Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:09.624Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:09.625Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.625Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:09.625Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2119"}

data: {"time":"2026-09-19T16:24:09.625Z","priority":"6","pid":"2830187","message":"test 2200 [MQTT SUBSCRIBE with user and password, not authorized]"}

data: {"time":"2026-09-19T16:24:09.627Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2200 ../src/curl -q --output log/curl2200.out  --include --trace log/trace2200 --trace-time mqtt://127.0.0.1:43757/2200 -u fakeuser:fakepasswd > log/stdout2200 2> log/stderr2200"}

data: {"time":"2026-09-19T16:24:09.627Z","priority":"6","pid":"2830187","message":" 2200: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:09.627Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:09.628Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:09.628Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2200"}

data: {"time":"2026-09-19T16:24:09.629Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:09.630Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2200 ../src/curl -q --output log/curl2200.out  --include --trace log/trace2200 --trace-time mqtt://127.0.0.1:43757/2200 -u fakeuser:fakepasswd > log/stdout2200 2> log/stderr2200"}

data: {"time":"2026-09-19T16:24:09.630Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:09.631Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:09.631Z","priority":"6","pid":"2830187","message":" error-CONNACK 5"}

data: {"time":"2026-09-19T16:24:09.631Z","priority":"6","pid":"2830187","message":" Testnum 2200"}

data: {"time":"2026-09-19T16:24:09.632Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:09.632Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2200"}

data: {"time":"2026-09-19T16:24:09.632Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:09.633Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:09.633Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:09.633Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.633Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:09.634Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:09.635Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:09.635Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:09.635Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:09.635Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.635Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:09.636Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:09.636Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:09.637Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:09.637Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:09.637Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:09.638Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:09.638Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.638Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:09.639Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:09.639Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.639Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:09.639Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:09.640Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:09.640Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.640Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:09.640Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2200"}

data: {"time":"2026-09-19T16:24:09.641Z","priority":"6","pid":"2830187","message":"test 2201 [MQTT PUBLISH with user and password valid]"}

data: {"time":"2026-09-19T16:24:09.642Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2201 ../src/curl -q --output log/curl2201.out  --include --trace log/trace2201 --trace-time mqtt://127.0.0.1:43757/2201 -d something -u testuser:testpasswd > log/stdout2201 2> log/stderr2201"}

data: {"time":"2026-09-19T16:24:09.642Z","priority":"6","pid":"2830187","message":" 2201: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:09.643Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:09.643Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:09.644Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2201"}

data: {"time":"2026-09-19T16:24:09.644Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:09.646Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2201 ../src/curl -q --output log/curl2201.out  --include --trace log/trace2201 --trace-time mqtt://127.0.0.1:43757/2201 -d something -u testuser:testpasswd > log/stdout2201 2> log/stderr2201"}

data: {"time":"2026-09-19T16:24:09.646Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:09.646Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:09.647Z","priority":"6","pid":"2830187","message":" Testnum 2201"}

data: {"time":"2026-09-19T16:24:09.647Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:09.647Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2201"}

data: {"time":"2026-09-19T16:24:09.648Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:09.648Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:09.648Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:09.649Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:09.649Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:09.649Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:09.650Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:09.650Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:09.811Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the objectCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2202 ../src/curl -q --output log/curl2202.out  --include --trace log/trace2202 --trace-time mqtt://127.0.0.1:43757/2202 -d something -u fakeuser:fakepasswd > log/stdout2202 2> log/stderr2202"}

data: {"time":"2026-09-19T16:24:10.096Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2203 ../src/curl -q --output log/curl2203.out  --include --trace log/trace2203 --trace-time mqtt://127.0.0.1:43757/2203 > log/stdout2203 2> log/stderr2203"}

data: {"time":"2026-09-19T16:24:10.263Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2204 ../src/curl -q --output log/curl2204.out  --include --trace log/trace2204 --trace-time mqtt://127.0.0.1:43757/2204 -u testuser:testpasswd > log/stdout2204 2> log/stderr2204"}

data: {"time":"2026-09-19T16:24:10.266Z","priority":"6","pid":"2830187","message":" with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:10.267Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.267Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:10.267Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:10.267Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:10.268Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:10.268Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:10.269Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:10.269Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:10.269Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.269Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:10.269Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:10.270Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.270Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:10.271Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:10.271Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:10.272Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.272Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:10.272Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2201"}

data: {"time":"2026-09-19T16:24:10.272Z","priority":"6","pid":"2830187","message":"test 2202 [MQTT PUBLISH with invalid user and password]"}

data: {"time":"2026-09-19T16:24:10.273Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2202 ../src/curl -q --output log/curl2202.out  --include --trace log/trace2202 --trace-time mqtt://127.0.0.1:43757/2202 -d something -u fakeuser:fakepasswd > log/stdout2202 2> log/stderr2202"}

data: {"time":"2026-09-19T16:24:10.273Z","priority":"6","pid":"2830187","message":" 2202: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:10.274Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:10.274Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:10.274Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2202"}

data: {"time":"2026-09-19T16:24:10.275Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:10.277Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2202 ../src/curl -q --output log/curl2202.out  --include --trace log/trace2202 --trace-time mqtt://127.0.0.1:43757/2202 -d something -u fakeuser:fakepasswd > log/stdout2202 2> log/stderr2202"}

data: {"time":"2026-09-19T16:24:10.277Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:10.277Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:10.277Z","priority":"6","pid":"2830187","message":" error-CONNACK 5"}

data: {"time":"2026-09-19T16:24:10.277Z","priority":"6","pid":"2830187","message":" Testnum 2202"}

data: {"time":"2026-09-19T16:24:10.277Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:10.277Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2202"}

data: {"time":"2026-09-19T16:24:10.277Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:10.278Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:10.278Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:10.278Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.279Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:10.279Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:10.279Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:10.280Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:10.280Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:10.280Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.281Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:10.281Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:10.281Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:10.281Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:10.282Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:10.282Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:10.282Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:10.283Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.283Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:10.283Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:10.284Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.284Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:10.285Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:10.285Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:10.285Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.285Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:10.285Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2202"}

data: {"time":"2026-09-19T16:24:10.285Z","priority":"6","pid":"2830187","message":"test 2203 [MQTT with \"no user or password\" CONNACK]"}

data: {"time":"2026-09-19T16:24:10.287Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2203 ../src/curl -q --output log/curl2203.out  --include --trace log/trace2203 --trace-time mqtt://127.0.0.1:43757/2203 > log/stdout2203 2> log/stderr2203"}

data: {"time":"2026-09-19T16:24:10.287Z","priority":"6","pid":"2830187","message":" 2203: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:10.287Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:10.287Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:10.288Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2203"}

data: {"time":"2026-09-19T16:24:10.289Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:10.289Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2203 ../src/curl -q --output log/curl2203.out  --include --trace log/trace2203 --trace-time mqtt://127.0.0.1:43757/2203 > log/stdout2203 2> log/stderr2203"}

data: {"time":"2026-09-19T16:24:10.289Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:10.289Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:10.290Z","priority":"6","pid":"2830187","message":" error-CONNACK 5"}

data: {"time":"2026-09-19T16:24:10.290Z","priority":"6","pid":"2830187","message":" Testnum 2203"}

data: {"time":"2026-09-19T16:24:10.290Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:10.290Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2203"}

data: {"time":"2026-09-19T16:24:10.291Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:10.291Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:10.291Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:10.291Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.292Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:10.292Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:10.292Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:10.292Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:10.293Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:10.293Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.293Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:10.294Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:10.294Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:10.294Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:10.294Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:10.295Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:10.295Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:10.295Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.296Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:10.296Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:10.296Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.296Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:10.296Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:10.297Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:10.297Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.297Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:10.298Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2203"}

data: {"time":"2026-09-19T16:24:10.298Z","priority":"6","pid":"2830187","message":"test 2204 [MQTT SUBSCRIBE with user and password]"}

data: {"time":"2026-09-19T16:24:10.300Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2204 ../src/curl -q --output log/curl2204.out  --include --trace log/trace2204 --trace-time mqtt://127.0.0.1:43757/2204 -u testuser:testpasswd > log/stdout2204 2> log/stderr2204"}

data: {"time":"2026-09-19T16:24:10.300Z","priority":"6","pid":"2830187","message":" 2204: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:10.301Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:10.301Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:10.301Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2204"}

data: {"time":"2026-09-19T16:24:10.301Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:10.303Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2204 ../src/curl -q --output log/curl2204.out  --include --trace log/trace2204 --trace-time mqtt://127.0.0.1:43757/2204 -u testuser:testpasswd > log/stdout2204 2> log/stderr2204"}

data: {"time":"2026-09-19T16:24:10.303Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:10.303Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:10.303Z","priority":"6","pid":"2830187","message":" Testnum 2204"}

data: {"time":"2026-09-19T16:24:10.304Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:10.304Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2204"}

data: {"time":"2026-09-19T16:24:10.304Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:10.305Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:10.305Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:10.306Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.306Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:10.307Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:10.307Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:10.307Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:10.308Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:10.308Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.308Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:10.309Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:10.309Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:10.310Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:10.310Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:10.311Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:10.311Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:10.311Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.312Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:10.493Z","priority":"6","pid":"2830187","message":" valgrindCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2205 ../src/curl -q --output log/curl2205.out  --include --trace log/trace2205 --trace-time mqtt://127.0.0.1:43757/2205 -K log/input2205 > log/stdout2205 2> log/stderr2205"}

data: {"time":"2026-09-19T16:24:10.499Z","priority":"6","pid":"2830187","message":":    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:10.499Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.499Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:10.500Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:10.500Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:10.500Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:10.501Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:10.501Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2204"}

data: {"time":"2026-09-19T16:24:10.501Z","priority":"6","pid":"2830187","message":"test 2205 [MQTT with 64 KiB long username]"}

data: {"time":"2026-09-19T16:24:10.503Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2205 ../src/curl -q --output log/curl2205.out  --include --trace log/trace2205 --trace-time mqtt://127.0.0.1:43757/2205 -K log/input2205 > log/stdout2205 2> log/stderr2205"}

data: {"time":"2026-09-19T16:24:10.503Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 8"}

data: {"time":"2026-09-19T16:24:10.504Z","priority":"6","pid":"2830187","message":" 2205: exit FAILED"}

data: {"time":"2026-09-19T16:24:10.504Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2205"}

data: {"time":"2026-09-19T16:24:10.506Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:10.508Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2205 ../src/curl -q --output log/curl2205.out  --include --trace log/trace2205 --trace-time mqtt://127.0.0.1:43757/2205 -K log/input2205 > log/stdout2205 2> log/stderr2205"}

data: {"time":"2026-09-19T16:24:10.508Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:10.510Z","priority":"6","pid":"2830187","message":"=== Start of file input2205"}

data: {"time":"2026-09-19T16:24:10.919Z","priority":"6","pid":"2830187","message":" user = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}

data: {"time":"2026-09-19T16:24:10.920Z","priority":"6","pid":"2830187","message":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2206 ../src/curl -q --output log/curl2206.out  --include --trace log/trace2206 --trace-time mqtt://127.0.0.1:43757/2206 > log/stdout2206 2> log/stderr2206"}

data: {"time":"2026-09-19T16:24:11.069Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2207 ../src/curl -q --output log/curl2207.out  --include --trace log/trace2207 --trace-time mqtt://127.0.0.1:43757/2207 > log/stdout2207 2> log/stderr2207"}

data: {"time":"2026-09-19T16:24:11.279Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2208 ../src/curl -q --output log/curl2208.out  --include --trace-ascii log/trace2208 --trace-time -x http://127.0.0.1:39689 http://firsthost.com -L -u joe:secret > log/stdout2208 2> log/stderr2208"}

data: {"time":"2026-09-19T16:24:11.291Z","priority":"6","pid":"2830187","message":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:fakepasswd"}

data: {"time":"2026-09-19T16:24:11.291Z","priority":"6","pid":"2830187","message":"=== End of file input2205"}

data: {"time":"2026-09-19T16:24:11.292Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:11.292Z","priority":"6","pid":"2830187","message":" Testnum 2205"}

data: {"time":"2026-09-19T16:24:11.292Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:11.292Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2205"}

data: {"time":"2026-09-19T16:24:11.293Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:11.293Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:11.294Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:11.294Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.294Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:11.294Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:11.295Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:11.295Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:11.295Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:11.295Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.296Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:11.296Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:11.296Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:11.297Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:11.297Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:11.297Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:11.298Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:11.298Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.298Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:11.299Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:11.299Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.299Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:11.300Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:11.300Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:11.300Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.301Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:11.301Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2205"}

data: {"time":"2026-09-19T16:24:11.301Z","priority":"6","pid":"2830187","message":"test 2206 [MQTT reject PINGRESP with nonzero remaining_length in place of CONNACK]"}

data: {"time":"2026-09-19T16:24:11.303Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2206 ../src/curl -q --output log/curl2206.out  --include --trace log/trace2206 --trace-time mqtt://127.0.0.1:43757/2206 > log/stdout2206 2> log/stderr2206"}

data: {"time":"2026-09-19T16:24:11.303Z","priority":"6","pid":"2830187","message":" 2206: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:11.303Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:11.303Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:11.304Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2206"}

data: {"time":"2026-09-19T16:24:11.304Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:11.305Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2206 ../src/curl -q --output log/curl2206.out  --include --trace log/trace2206 --trace-time mqtt://127.0.0.1:43757/2206 > log/stdout2206 2> log/stderr2206"}

data: {"time":"2026-09-19T16:24:11.306Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:11.306Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:11.306Z","priority":"6","pid":"2830187","message":" PINGRESP-as-CONNACK TRUE"}

data: {"time":"2026-09-19T16:24:11.306Z","priority":"6","pid":"2830187","message":" Testnum 2206"}

data: {"time":"2026-09-19T16:24:11.306Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:11.307Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2206"}

data: {"time":"2026-09-19T16:24:11.307Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:11.308Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:11.308Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:11.308Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.308Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:11.309Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:11.309Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:11.309Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:11.310Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:11.310Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.310Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:11.311Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:11.311Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:11.312Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:11.312Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:11.312Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:11.313Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:11.313Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.313Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:11.314Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:11.314Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.315Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:11.315Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:11.316Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:11.316Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.318Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:11.318Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2206"}

data: {"time":"2026-09-19T16:24:11.320Z","priority":"6","pid":"2830187","message":"test 2207 [MQTT reject DISCONNECT with nonzero remaining_length]"}

data: {"time":"2026-09-19T16:24:11.322Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2207 ../src/curl -q --output log/curl2207.out  --include --trace log/trace2207 --trace-time mqtt://127.0.0.1:43757/2207 > log/stdout2207 2> log/stderr2207"}

data: {"time":"2026-09-19T16:24:11.324Z","priority":"6","pid":"2830187","message":" 2207: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:11.324Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:11.324Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:11.324Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2207"}

data: {"time":"2026-09-19T16:24:11.327Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:11.330Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2207 ../src/curl -q --output log/curl2207.out  --include --trace log/trace2207 --trace-time mqtt://127.0.0.1:43757/2207 > log/stdout2207 2> log/stderr2207"}

data: {"time":"2026-09-19T16:24:11.331Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:11.331Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:11.333Z","priority":"6","pid":"2830187","message":" DISCONNECT-malformed TRUE"}

data: {"time":"2026-09-19T16:24:11.333Z","priority":"6","pid":"2830187","message":" Testnum 2207"}

data: {"time":"2026-09-19T16:24:11.334Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:11.334Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2207"}

data: {"time":"2026-09-19T16:24:11.334Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:11.334Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:11.335Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:11.336Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.336Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:11.337Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:11.338Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:11.339Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:11.339Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:11.339Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.339Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:11.340Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:11.340Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:11.341Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:11.341Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:11.342Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:11.342Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:11.342Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.343Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:11.343Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:11.343Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.344Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:11.344Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:11.344Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:11.345Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.345Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:11.346Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2207"}

data: {"time":"2026-09-19T16:24:11.346Z","priority":"6","pid":"2830187","message":"test 2208 [HTTP auth on redirect with empty URL userinfo]"}

data: {"time":"2026-09-19T16:24:11.560Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2208 ../src/curl -q --output log/curl2208.out  --include --CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2305 ../src/curl -q --output log/curl2305.out  --include --trace-ascii log/trace2305 --trace-time http://127.0.0.1:39689/2305 --compressed --silent --show-error > log/stdout2305 2> log/stderr2305"}

data: {"time":"2026-09-19T16:24:11.574Z","priority":"6","pid":"2830187","message":"trace-ascii log/trace2208 --trace-time -x http://127.0.0.1:39689 http://firsthost.com -L -u joe:secret > log/stdout2208 2> log/stderr2208"}

data: {"time":"2026-09-19T16:24:11.575Z","priority":"6","pid":"2830187","message":" 2208: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:11.575Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:11.576Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:11.576Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2208"}

data: {"time":"2026-09-19T16:24:11.576Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:11.578Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2208 ../src/curl -q --output log/curl2208.out  --include --trace-ascii log/trace2208 --trace-time -x http://127.0.0.1:39689 http://firsthost.com -L -u joe:secret > log/stdout2208 2> log/stderr2208"}

data: {"time":"2026-09-19T16:24:11.579Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:11.579Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:11.579Z","priority":"6","pid":"2830187","message":" 16:24:11.167074 ====> Client connect"}

data: {"time":"2026-09-19T16:24:11.579Z","priority":"6","pid":"2830187","message":" 16:24:11.167121 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:11.579Z","priority":"6","pid":"2830187","message":" 16:24:11.167263 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:11.580Z","priority":"6","pid":"2830187","message":" 16:24:11.167278 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:11.580Z","priority":"6","pid":"2830187","message":" 16:24:11.167294 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:11.581Z","priority":"6","pid":"2830187","message":" 16:24:11.167304 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:11.581Z","priority":"6","pid":"2830187","message":" 16:24:11.167384 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:11.581Z","priority":"6","pid":"2830187","message":" 16:24:11.167414 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:11.582Z","priority":"6","pid":"2830187","message":" 16:24:11.167477 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:11.582Z","priority":"6","pid":"2830187","message":" 16:24:11.167487 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:11.583Z","priority":"6","pid":"2830187","message":" 16:24:11.167496 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:11.583Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:11.583Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:11.583Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:11.584Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36552"}

data: {"time":"2026-09-19T16:24:11.584Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:11.584Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:11.585Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:11.585Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:11.586Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:11.586Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:11.586Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:11.586Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:11.586Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:11.586Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:11.586Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:11.586Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:11.587Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:11.587Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:11.587Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:11.587Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:11.587Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:11.588Z","priority":"6","pid":"2830187","message":" Testnum 2208"}

data: {"time":"2026-09-19T16:24:11.588Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:11.588Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:11.588Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:11.588Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:11.589Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:11.589Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:11.589Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2208"}

data: {"time":"2026-09-19T16:24:11.589Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:11.590Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:11.590Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:11.590Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.591Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:11.591Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:11.591Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:11.592Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:11.592Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:11.593Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.593Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:11.593Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:11.594Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:11.594Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:11.595Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:11.595Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:11.595Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:11.595Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.596Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:11.596Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:11.596Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.597Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:11.597Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:11.597Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:11.597Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:11.598Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:11.598Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2208"}

data: {"time":"2026-09-19T16:24:11.823Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:39689/2306 http://127.0.0.1:39689/23060002 > log/stdout2306 2> log/stderr2306"}

data: {"time":"2026-09-19T16:24:12.073Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2307 ../src/curl -q --output log/curl2307.out  --include --trace-ascii log/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:43733/2307 > log/stdout2307 2> log/stderr2307"}

data: {"time":"2026-09-19T16:24:12.078Z","priority":"6","pid":"2830187","message":"test 2305 [HTTP GET gzip compressed content with two concatenated gzip members]"}

data: {"time":"2026-09-19T16:24:12.079Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2305 ../src/curl -q --output log/curl2305.out  --include --trace-ascii log/trace2305 --trace-time http://127.0.0.1:39689/2305 --compressed --silent --show-error > log/stdout2305 2> log/stderr2305"}

data: {"time":"2026-09-19T16:24:12.080Z","priority":"6","pid":"2830187","message":" 2305: stderr FAILED:"}

data: {"time":"2026-09-19T16:24:12.080Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:11.573911886 +0000"}

data: {"time":"2026-09-19T16:24:12.081Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:11.573458659 +0000"}

data: {"time":"2026-09-19T16:24:12.081Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:24:12.081Z","priority":"6","pid":"2830187","message":"-curl: (23) Multi-member gzip response not supported[CR][LF]"}

data: {"time":"2026-09-19T16:24:12.082Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2305"}

data: {"time":"2026-09-19T16:24:12.082Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:12.082Z","priority":"6","pid":"2830187","message":" curl: (23) Multi-member gzip response not supported[CR][LF]"}

data: {"time":"2026-09-19T16:24:12.083Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:12.083Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:12.084Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2305 ../src/curl -q --output log/curl2305.out  --include --trace-ascii log/trace2305 --trace-time http://127.0.0.1:39689/2305 --compressed --silent --show-error > log/stdout2305 2> log/stderr2305"}

data: {"time":"2026-09-19T16:24:12.085Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:12.085Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:12.085Z","priority":"6","pid":"2830187","message":" 16:24:11.447194 ====> Client connect"}

data: {"time":"2026-09-19T16:24:12.085Z","priority":"6","pid":"2830187","message":" 16:24:11.447277 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:12.085Z","priority":"6","pid":"2830187","message":" 16:24:11.447525 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:12.086Z","priority":"6","pid":"2830187","message":" 16:24:11.447553 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:12.086Z","priority":"6","pid":"2830187","message":" 16:24:11.447573 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:12.086Z","priority":"6","pid":"2830187","message":" 16:24:11.447586 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:12.087Z","priority":"6","pid":"2830187","message":" 16:24:11.447635 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:12.087Z","priority":"6","pid":"2830187","message":" 16:24:11.447657 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:12.087Z","priority":"6","pid":"2830187","message":" 16:24:11.447780 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:12.088Z","priority":"6","pid":"2830187","message":" 16:24:11.447800 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:12.088Z","priority":"6","pid":"2830187","message":" 16:24:11.447812 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:12.088Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:12.089Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:12.089Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:12.089Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36556"}

data: {"time":"2026-09-19T16:24:12.089Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:12.090Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:12.090Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:12.090Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:12.091Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:12.091Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:12.091Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:12.091Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:12.091Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:12.091Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:12.091Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:12.091Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:12.091Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:12.092Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:12.092Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:12.092Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:12.092Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.092Z","priority":"6","pid":"2830187","message":" Testnum 2305"}

data: {"time":"2026-09-19T16:24:12.093Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.093Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:12.093Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:12.094Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:12.094Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:12.094Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:12.094Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2305"}

data: {"time":"2026-09-19T16:24:12.094Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:12.094Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:12.095Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:12.095Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.095Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:12.095Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:12.096Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.096Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:12.096Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.097Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.097Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:12.097Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:12.097Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:12.098Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:12.098Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:12.099Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:12.099Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:12.099Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.099Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:12.100Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:12.100Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.100Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:12.101Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:12.101Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:12.101Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.101Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:12.101Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2305"}

data: {"time":"2026-09-19T16:24:12.102Z","priority":"6","pid":"2830187","message":"test 2306 [HTTP GET reused handle with first header folded]"}

data: {"time":"2026-09-19T16:24:12.103Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:39689/2306 http://127.0.0.1:39689/23060002 > log/stdout2306 2> log/stderr2306"}

data: {"time":"2026-09-19T16:24:12.103Z","priority":"6","pid":"2830187","message":" 2306: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:12.104Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:12.104Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:12.104Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2306"}

data: {"time":"2026-09-19T16:24:12.105Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:12.106Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:39689/2306 http://127.0.0.1:39689/23060002 > log/stdout2306 2> log/stderr2306"}

data: {"time":"2026-09-19T16:24:12.106Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:12.107Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:12.107Z","priority":"6","pid":"2830187","message":" 16:24:11.700712 ====> Client connect"}

data: {"time":"2026-09-19T16:24:12.107Z","priority":"6","pid":"2830187","message":" 16:24:11.700776 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:12.107Z","priority":"6","pid":"2830187","message":" 16:24:11.700943 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:12.107Z","priority":"6","pid":"2830187","message":" 16:24:11.700967 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:12.108Z","priority":"6","pid":"2830187","message":" 16:24:11.700986 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:12.108Z","priority":"6","pid":"2830187","message":" 16:24:11.700999 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:12.108Z","priority":"6","pid":"2830187","message":" 16:24:11.701049 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:12.109Z","priority":"6","pid":"2830187","message":" 16:24:11.701076 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:12.109Z","priority":"6","pid":"2830187","message":" 16:24:11.701156 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:12.110Z","priority":"6","pid":"2830187","message":" 16:24:11.701168 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:12.110Z","priority":"6","pid":"2830187","message":" 16:24:11.701177 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:12.111Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:12.111Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:12.111Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:12.111Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36564"}

data: {"time":"2026-09-19T16:24:12.111Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:12.112Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:12.112Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:12.112Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:12.112Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:12.113Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:12.113Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:12.113Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:12.114Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:12.114Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:12.114Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:12.114Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:12.115Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:12.115Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:12.115Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:12.115Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:12.115Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.115Z","priority":"6","pid":"2830187","message":" Testnum 2306"}

data: {"time":"2026-09-19T16:24:12.116Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.116Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:12.116Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:12.117Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:12.117Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:12.117Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:12.117Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2306"}

data: {"time":"2026-09-19T16:24:12.117Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:12.118Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:12.118Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:12.119Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.119Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:12.119Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:12.120Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.120Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:12.121Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.121Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.121Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:12.122Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:12.122Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:12.123Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:12.123Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:12.123Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:12.124Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:12.124Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.124Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:12.125Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:12.125Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.125Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:12.126Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:12.126Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:12.126Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.126Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:12.127Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2306"}

data: {"time":"2026-09-19T16:24:12.127Z","priority":"6","pid":"2830187","message":"test 2307 [FTP retrieve a byte-range with end larger than file]"}

data: {"time":"2026-09-19T16:24:12.342Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2307 ../src/curl -q --output log/curl2307.out  --include --trace-ascii log/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:43733/2307 > loCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:39689/2308 > log/stdout2308 2> log/stderr2308"}

data: {"time":"2026-09-19T16:24:12.357Z","priority":"6","pid":"2830187","message":"g/stdout2307 2> log/stderr2307"}

data: {"time":"2026-09-19T16:24:12.358Z","priority":"6","pid":"2830187","message":" 2307: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:12.359Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:12.359Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:12.360Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2307"}

data: {"time":"2026-09-19T16:24:12.360Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:12.362Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2307 ../src/curl -q --output log/curl2307.out  --include --trace-ascii log/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:43733/2307 > log/stdout2307 2> log/stderr2307"}

data: {"time":"2026-09-19T16:24:12.363Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:12.363Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:12.363Z","priority":"6","pid":"2830187","message":" 16:24:11.873505 ====> Client connect"}

data: {"time":"2026-09-19T16:24:12.364Z","priority":"6","pid":"2830187","message":" 16:24:11.874165 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.364Z","priority":"6","pid":"2830187","message":" 16:24:11.874423 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:24:12.365Z","priority":"6","pid":"2830187","message":" 16:24:11.874631 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.365Z","priority":"6","pid":"2830187","message":" 16:24:11.874844 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:24:12.365Z","priority":"6","pid":"2830187","message":" 16:24:11.874945 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.366Z","priority":"6","pid":"2830187","message":" 16:24:11.875177 < \"PWD\""}

data: {"time":"2026-09-19T16:24:12.366Z","priority":"6","pid":"2830187","message":" 16:24:11.875299 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.367Z","priority":"6","pid":"2830187","message":" 16:24:11.875513 < \"EPSV\""}

data: {"time":"2026-09-19T16:24:12.367Z","priority":"6","pid":"2830187","message":" 16:24:11.875552 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:24:12.368Z","priority":"6","pid":"2830187","message":" 16:24:11.875571 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:24:12.369Z","priority":"6","pid":"2830187","message":" 16:24:11.878958 DATA sockfilt for passive data channel started (pid 178000)"}

data: {"time":"2026-09-19T16:24:12.369Z","priority":"6","pid":"2830187","message":" 16:24:11.879137 DATA sockfilt for passive data channel listens on port 36919"}

data: {"time":"2026-09-19T16:24:12.369Z","priority":"6","pid":"2830187","message":" 16:24:11.879204 > \"229 Entering Passive Mode (|||36919|)[CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.370Z","priority":"6","pid":"2830187","message":" 16:24:11.879231 Client has been notified that upcoming DATA connection is awaited on port 36919"}

data: {"time":"2026-09-19T16:24:12.370Z","priority":"6","pid":"2830187","message":" 16:24:11.879784 Client connects to port 36919"}

data: {"time":"2026-09-19T16:24:12.371Z","priority":"6","pid":"2830187","message":" 16:24:11.879839 ====> Client established passive DATA connection on port 36919"}

data: {"time":"2026-09-19T16:24:12.371Z","priority":"6","pid":"2830187","message":" 16:24:11.880015 < \"TYPE I\""}

data: {"time":"2026-09-19T16:24:12.372Z","priority":"6","pid":"2830187","message":" 16:24:11.880260 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.372Z","priority":"6","pid":"2830187","message":" 16:24:11.880451 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:24:12.373Z","priority":"6","pid":"2830187","message":" 16:24:11.880551 > \"213 18[CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.373Z","priority":"6","pid":"2830187","message":" 16:24:11.880822 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:24:12.373Z","priority":"6","pid":"2830187","message":" 16:24:11.880965 > \"150 Binary junk (18 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.374Z","priority":"6","pid":"2830187","message":" 16:24:11.881507 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:24:12.375Z","priority":"6","pid":"2830187","message":" 16:24:11.881549 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:24:12.375Z","priority":"6","pid":"2830187","message":" 16:24:11.881594 Fancy that; client wants to DISC, too"}

data: {"time":"2026-09-19T16:24:12.376Z","priority":"6","pid":"2830187","message":" 16:24:11.881746 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:24:12.376Z","priority":"6","pid":"2830187","message":" 16:24:11.881793 DATA sockfilt for passive data channel quits (pid 178000)"}

data: {"time":"2026-09-19T16:24:12.377Z","priority":"6","pid":"2830187","message":" 16:24:11.882285 DATA sockfilt for passive data channel quit (pid 178000)"}

data: {"time":"2026-09-19T16:24:12.378Z","priority":"6","pid":"2830187","message":" 16:24:11.882324 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:24:12.378Z","priority":"6","pid":"2830187","message":" 16:24:11.882389 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.378Z","priority":"6","pid":"2830187","message":" 16:24:11.922042 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:12.379Z","priority":"6","pid":"2830187","message":" 16:24:11.922165 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:24:12.379Z","priority":"6","pid":"2830187","message":" 16:24:11.923181 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:12.379Z","priority":"6","pid":"2830187","message":" 16:24:11.923324 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:12.380Z","priority":"6","pid":"2830187","message":" 16:24:11.923489 Awaiting input"}

data: {"time":"2026-09-19T16:24:12.380Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:12.381Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:12.382Z","priority":"6","pid":"2830187","message":" 16:24:11.932300 ====> Client connect"}

data: {"time":"2026-09-19T16:24:12.382Z","priority":"6","pid":"2830187","message":" 16:24:11.932782 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.382Z","priority":"6","pid":"2830187","message":" 16:24:11.932825 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.383Z","priority":"6","pid":"2830187","message":" 16:24:11.932942 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:12.383Z","priority":"6","pid":"2830187","message":" 16:24:11.932964 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.383Z","priority":"6","pid":"2830187","message":" 16:24:11.932976 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.384Z","priority":"6","pid":"2830187","message":" 16:24:11.933095 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:12.384Z","priority":"6","pid":"2830187","message":" 16:24:11.933110 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.385Z","priority":"6","pid":"2830187","message":" 16:24:11.933466 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.385Z","priority":"6","pid":"2830187","message":" 16:24:11.933485 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.385Z","priority":"6","pid":"2830187","message":" 16:24:11.933507 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.386Z","priority":"6","pid":"2830187","message":" 16:24:11.933688 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:12.386Z","priority":"6","pid":"2830187","message":" 16:24:11.933704 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.386Z","priority":"6","pid":"2830187","message":" 16:24:11.933882 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.387Z","priority":"6","pid":"2830187","message":" 16:24:11.933901 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.387Z","priority":"6","pid":"2830187","message":" 16:24:11.933974 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.388Z","priority":"6","pid":"2830187","message":" 16:24:11.934052 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:12.388Z","priority":"6","pid":"2830187","message":" 16:24:11.934065 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.389Z","priority":"6","pid":"2830187","message":" 16:24:11.934212 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.389Z","priority":"6","pid":"2830187","message":" 16:24:11.934228 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.389Z","priority":"6","pid":"2830187","message":" 16:24:11.934249 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.390Z","priority":"6","pid":"2830187","message":" 16:24:11.934386 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:12.390Z","priority":"6","pid":"2830187","message":" 16:24:11.934402 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.391Z","priority":"6","pid":"2830187","message":" 16:24:11.938260 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.391Z","priority":"6","pid":"2830187","message":" 16:24:11.938283 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.392Z","priority":"6","pid":"2830187","message":" 16:24:11.938298 '229 Entering Passive Mode (|||36919|)\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.392Z","priority":"6","pid":"2830187","message":" 16:24:11.938648 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:12.393Z","priority":"6","pid":"2830187","message":" 16:24:11.938681 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.393Z","priority":"6","pid":"2830187","message":" 16:24:11.939072 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.393Z","priority":"6","pid":"2830187","message":" 16:24:11.939099 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.394Z","priority":"6","pid":"2830187","message":" 16:24:11.939128 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.394Z","priority":"6","pid":"2830187","message":" 16:24:11.939312 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:12.394Z","priority":"6","pid":"2830187","message":" 16:24:11.939347 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.395Z","priority":"6","pid":"2830187","message":" 16:24:11.939493 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.395Z","priority":"6","pid":"2830187","message":" 16:24:11.939506 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.396Z","priority":"6","pid":"2830187","message":" 16:24:11.939582 '213 18\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.396Z","priority":"6","pid":"2830187","message":" 16:24:11.939669 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:12.397Z","priority":"6","pid":"2830187","message":" 16:24:11.939685 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.397Z","priority":"6","pid":"2830187","message":" 16:24:11.939871 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.397Z","priority":"6","pid":"2830187","message":" 16:24:11.939889 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.398Z","priority":"6","pid":"2830187","message":" 16:24:11.939911 '150 Binary junk (18 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.399Z","priority":"6","pid":"2830187","message":" 16:24:11.941408 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.399Z","priority":"6","pid":"2830187","message":" 16:24:11.941425 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.399Z","priority":"6","pid":"2830187","message":" 16:24:11.941435 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.399Z","priority":"6","pid":"2830187","message":" 16:24:11.980851 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:12.400Z","priority":"6","pid":"2830187","message":" 16:24:11.980917 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.400Z","priority":"6","pid":"2830187","message":" 16:24:11.981107 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.401Z","priority":"6","pid":"2830187","message":" 16:24:11.981123 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.401Z","priority":"6","pid":"2830187","message":" 16:24:11.981192 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.401Z","priority":"6","pid":"2830187","message":" 16:24:11.982085 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:12.402Z","priority":"6","pid":"2830187","message":" 16:24:11.982238 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:12.402Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:12.402Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:12.403Z","priority":"6","pid":"2830187","message":" 16:24:11.937369 Running IPv4 version"}

data: {"time":"2026-09-19T16:24:12.403Z","priority":"6","pid":"2830187","message":" 16:24:11.937811 Listening on port 36919"}

data: {"time":"2026-09-19T16:24:12.404Z","priority":"6","pid":"2830187","message":" 16:24:11.937857 Wrote pid 178000 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:24:12.404Z","priority":"6","pid":"2830187","message":" 16:24:11.937884 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:24:12.405Z","priority":"6","pid":"2830187","message":" 16:24:11.938022 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:24:12.405Z","priority":"6","pid":"2830187","message":" 16:24:11.938720 ====> Client connect"}

data: {"time":"2026-09-19T16:24:12.405Z","priority":"6","pid":"2830187","message":" 16:24:11.940004 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:12.406Z","priority":"6","pid":"2830187","message":" 16:24:11.940028 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:12.406Z","priority":"6","pid":"2830187","message":" 16:24:11.940101 'WE ROOLZ: 162430\\r\\n'"}

data: {"time":"2026-09-19T16:24:12.407Z","priority":"6","pid":"2830187","message":" 16:24:11.940373 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:12.407Z","priority":"6","pid":"2830187","message":" 16:24:11.940620 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:24:12.407Z","priority":"6","pid":"2830187","message":" 16:24:11.940637 Crikey! Client also wants to disconnect"}

data: {"time":"2026-09-19T16:24:12.407Z","priority":"6","pid":"2830187","message":" 16:24:11.940654 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:12.408Z","priority":"6","pid":"2830187","message":" 16:24:11.940826 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:24:12.408Z","priority":"6","pid":"2830187","message":" 16:24:11.940843 quits"}

data: {"time":"2026-09-19T16:24:12.408Z","priority":"6","pid":"2830187","message":" 16:24:11.940969 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:24:12.409Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:12.409Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.410Z","priority":"6","pid":"2830187","message":" Testnum 2307"}

data: {"time":"2026-09-19T16:24:12.410Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.410Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2307"}

data: {"time":"2026-09-19T16:24:12.410Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:12.410Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:12.411Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:12.411Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.411Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:12.412Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:12.412Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.412Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:12.413Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.413Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.414Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:12.414Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:12.415Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:12.415Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:12.416Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:12.416Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:12.417Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:12.417Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.417Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:12.418Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:12.418Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.418Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:12.419Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:12.419Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:12.419Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.420Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:12.420Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2307"}

data: {"time":"2026-09-19T16:24:12.677Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2309 ./libtest/libtests lib2309 http://github.com log/netrc2309 http://127.0.0.1:39689/ > log/stdout2309 2> log/stderr2309"}

data: {"time":"2026-09-19T16:24:12.883Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2310 ../src/curl -q --output log/curl2310.out  --include --trace-ascii log/trace2310 --trace-time --variable 'VAR=IA==' --expand-url 'http://127.0.0.1:39689/{{VAR:64dec:trim}}' > log/stdout2310 2> log/stderr2310"}

data: {"time":"2026-09-19T16:24:12.887Z","priority":"6","pid":"2830187","message":"test 2308 [verify return code when write callback returns error]"}

data: {"time":"2026-09-19T16:24:12.888Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:39689/2308 > log/stdout2308 2> log/stderr2308"}

data: {"time":"2026-09-19T16:24:12.888Z","priority":"6","pid":"2830187","message":" 2308: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:12.888Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:12.357514841 +0000"}

data: {"time":"2026-09-19T16:24:12.888Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:12.356655921 +0000"}

data: {"time":"2026-09-19T16:24:12.889Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:24:12.889Z","priority":"6","pid":"2830187","message":"-Returned 23, should be 23.[CR][LF]"}

data: {"time":"2026-09-19T16:24:12.889Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2308"}

data: {"time":"2026-09-19T16:24:12.889Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:12.890Z","priority":"6","pid":"2830187","message":" Returned 23, should be 23.[CR][LF]"}

data: {"time":"2026-09-19T16:24:12.890Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:12.890Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:12.891Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:39689/2308 > log/stdout2308 2> log/stderr2308"}

data: {"time":"2026-09-19T16:24:12.891Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:12.892Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:12.893Z","priority":"6","pid":"2830187","message":" 16:24:12.224070 ====> Client connect"}

data: {"time":"2026-09-19T16:24:12.893Z","priority":"6","pid":"2830187","message":" 16:24:12.224113 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:12.893Z","priority":"6","pid":"2830187","message":" 16:24:12.224351 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:12.893Z","priority":"6","pid":"2830187","message":" 16:24:12.224385 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:12.894Z","priority":"6","pid":"2830187","message":" 16:24:12.224405 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:12.894Z","priority":"6","pid":"2830187","message":" 16:24:12.224418 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:12.894Z","priority":"6","pid":"2830187","message":" 16:24:12.224465 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:12.895Z","priority":"6","pid":"2830187","message":" 16:24:12.224487 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:12.895Z","priority":"6","pid":"2830187","message":" 16:24:12.224543 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:12.896Z","priority":"6","pid":"2830187","message":" 16:24:12.224553 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:12.896Z","priority":"6","pid":"2830187","message":" 16:24:12.224562 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:12.896Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:12.896Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:12.896Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:12.896Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36574"}

data: {"time":"2026-09-19T16:24:12.896Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:12.897Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:12.897Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:12.897Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:12.897Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:12.898Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:12.898Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:12.898Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:12.898Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:12.898Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:12.898Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:12.898Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:12.898Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:12.898Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:12.899Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:12.899Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:12.899Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.899Z","priority":"6","pid":"2830187","message":" Testnum 2308"}

data: {"time":"2026-09-19T16:24:12.899Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.900Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:12.900Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:12.900Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:12.900Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:12.900Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:12.901Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2308"}

data: {"time":"2026-09-19T16:24:12.901Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:12.901Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:12.901Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:12.902Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.902Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:12.902Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:12.903Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.903Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:12.904Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.904Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.904Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:12.905Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:12.905Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:12.905Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:12.906Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:12.906Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:12.907Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:12.907Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.907Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:12.908Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:12.908Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.908Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:12.908Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:12.908Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:12.908Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.909Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:12.909Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2308"}

data: {"time":"2026-09-19T16:24:12.909Z","priority":"6","pid":"2830187","message":"test 2309 [HTTP with .netrc using duped easy handle]"}

data: {"time":"2026-09-19T16:24:12.910Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2309 ./libtest/libtests lib2309 http://github.com log/netrc2309 http://127.0.0.1:39689/ > log/stdout2309 2> log/stderr2309"}

data: {"time":"2026-09-19T16:24:12.911Z","priority":"6","pid":"2830187","message":" 2309: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:12.911Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:12.911Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:12.911Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2309"}

data: {"time":"2026-09-19T16:24:12.912Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:12.913Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2309 ./libtest/libtests lib2309 http://github.com log/netrc2309 http://127.0.0.1:39689/ > log/stdout2309 2> log/stderr2309"}

data: {"time":"2026-09-19T16:24:12.913Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:12.914Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:12.914Z","priority":"6","pid":"2830187","message":" 16:24:12.537693 ====> Client connect"}

data: {"time":"2026-09-19T16:24:12.914Z","priority":"6","pid":"2830187","message":" 16:24:12.537792 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:12.915Z","priority":"6","pid":"2830187","message":" 16:24:12.537838 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:12.915Z","priority":"6","pid":"2830187","message":" 16:24:12.537856 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:12.915Z","priority":"6","pid":"2830187","message":" 16:24:12.537873 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:12.916Z","priority":"6","pid":"2830187","message":" 16:24:12.537883 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:12.916Z","priority":"6","pid":"2830187","message":" 16:24:12.537931 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:12.916Z","priority":"6","pid":"2830187","message":" 16:24:12.537976 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:12.916Z","priority":"6","pid":"2830187","message":" 16:24:12.538090 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:12.917Z","priority":"6","pid":"2830187","message":" 16:24:12.538106 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:12.917Z","priority":"6","pid":"2830187","message":" 16:24:12.538117 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:12.917Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:12.917Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:12.918Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:12.918Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36582"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:12.919Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== Start of file netrc2309"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" machine github.com"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" login daniel"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" password $y$j9T$WUVjiVvDbRAWafDLs6cab1$01NX.oaZKf5lw8MR2Nk9Yaxv4CqbE0IaDF.GpGxPul1"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== End of file netrc2309"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" Testnum 2309"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2309"}

data: {"time":"2026-09-19T16:24:12.931Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2309"}

data: {"time":"2026-09-19T16:24:12.949Z","priority":"6","pid":"2830187","message":"test 2310 [variable decode and trim]"}

data: {"time":"2026-09-19T16:24:12.951Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2310 ../src/curl -q --output log/curl2310.out  --include --trace-ascii log/trace2310 --trace-time --variable 'VAR=IA==' --expand-url 'http://127.0.0.1:39689/{{VAR:64dec:trim}}' > log/stdout2310 2> log/stderr2310"}

data: {"time":"2026-09-19T16:24:12.951Z","priority":"6","pid":"2830187","message":" 2310: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:13.133Z","priority":"6","pid":"2830187","message":" There was no content at all in the filCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2311 ../src/curl -q --output log/curl2311.out  --include --trace-ascii log/trace2311 --trace-time http://example.fake/2311 -b log/injar2311 -x 127.0.0.1:39689 > log/stdout2311 2> log/stderr2311"}

data: {"time":"2026-09-19T16:24:13.341Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2318 ../src/curl -q --output log/curl2318.out  --include --trace-ascii log/trace2318 --trace-time --resolve github.io:39689:127.0.0.1 --resolve attacker.github.io:39689:127.0.0.1 -b \"\" http://github.io:39689/2318 http://attacker.github.io:39689/23180002 http://github.io:39689/2318 > log/stdout2318 2> log/stderr2318"}

data: {"time":"2026-09-19T16:24:13.346Z","priority":"6","pid":"2830187","message":"e log/server.input."}

data: {"time":"2026-09-19T16:24:13.346Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:13.349Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2310"}

data: {"time":"2026-09-19T16:24:13.350Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:13.352Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2310 ../src/curl -q --output log/curl2310.out  --include --trace-ascii log/trace2310 --trace-time --variable 'VAR=IA==' --expand-url 'http://127.0.0.1:39689/{{VAR:64dec:trim}}' > log/stdout2310 2> log/stderr2310"}

data: {"time":"2026-09-19T16:24:13.352Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:13.352Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:13.353Z","priority":"6","pid":"2830187","message":" 16:24:12.776501 ====> Client connect"}

data: {"time":"2026-09-19T16:24:13.354Z","priority":"6","pid":"2830187","message":" 16:24:12.776550 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:13.356Z","priority":"6","pid":"2830187","message":" 16:24:12.776580 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:13.356Z","priority":"6","pid":"2830187","message":" 16:24:12.776591 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:13.356Z","priority":"6","pid":"2830187","message":" 16:24:12.776607 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:13.356Z","priority":"6","pid":"2830187","message":" 16:24:12.776616 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:13.357Z","priority":"6","pid":"2830187","message":" 16:24:12.776646 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:13.357Z","priority":"6","pid":"2830187","message":" 16:24:12.776665 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:13.358Z","priority":"6","pid":"2830187","message":" 16:24:12.776760 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:13.358Z","priority":"6","pid":"2830187","message":" 16:24:12.776775 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:13.358Z","priority":"6","pid":"2830187","message":" 16:24:12.776785 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:13.359Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:13.359Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:13.360Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:13.360Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36596"}

data: {"time":"2026-09-19T16:24:13.361Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:13.361Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:13.361Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:13.362Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:13.362Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:13.362Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:13.362Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:13.362Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:13.362Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:13.363Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:13.363Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:13.363Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:13.363Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:13.364Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:13.364Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:13.364Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:13.364Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:13.365Z","priority":"6","pid":"2830187","message":" Testnum 2310"}

data: {"time":"2026-09-19T16:24:13.365Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:13.365Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:13.365Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:13.366Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:13.366Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:13.366Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:13.366Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2310"}

data: {"time":"2026-09-19T16:24:13.367Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:13.367Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:13.367Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:13.368Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.368Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:13.369Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:13.369Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:13.369Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:13.369Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:13.370Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.370Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:13.371Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:13.371Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:13.372Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:13.372Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:13.372Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:13.373Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:13.373Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.373Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:13.374Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:13.374Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.374Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:13.375Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:13.375Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:13.376Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.376Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:13.376Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2310"}

data: {"time":"2026-09-19T16:24:13.376Z","priority":"6","pid":"2830187","message":"test 2311 [Cookie from file: control octet rejected, prefixes case sensitive]"}

data: {"time":"2026-09-19T16:24:13.377Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2311 ../src/curl -q --output log/curl2311.out  --include --trace-ascii log/trace2311 --trace-time http://example.fake/2311 -b log/injar2311 -x 127.0.0.1:39689 > log/stdout2311 2> log/stderr2311"}

data: {"time":"2026-09-19T16:24:13.378Z","priority":"6","pid":"2830187","message":" 2311: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:13.378Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:13.379Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:13.379Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2311"}

data: {"time":"2026-09-19T16:24:13.380Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:13.381Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2311 ../src/curl -q --output log/curl2311.out  --include --trace-ascii log/trace2311 --trace-time http://example.fake/2311 -b log/injar2311 -x 127.0.0.1:39689 > log/stdout2311 2> log/stderr2311"}

data: {"time":"2026-09-19T16:24:13.381Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:13.382Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:13.382Z","priority":"6","pid":"2830187","message":" 16:24:13.045927 ====> Client connect"}

data: {"time":"2026-09-19T16:24:13.382Z","priority":"6","pid":"2830187","message":" 16:24:13.045971 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:13.383Z","priority":"6","pid":"2830187","message":" 16:24:13.046153 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:13.383Z","priority":"6","pid":"2830187","message":" 16:24:13.046169 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:13.383Z","priority":"6","pid":"2830187","message":" 16:24:13.046185 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:13.384Z","priority":"6","pid":"2830187","message":" 16:24:13.046195 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:13.384Z","priority":"6","pid":"2830187","message":" 16:24:13.046236 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:13.385Z","priority":"6","pid":"2830187","message":" 16:24:13.046256 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:13.385Z","priority":"6","pid":"2830187","message":" 16:24:13.046389 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:13.386Z","priority":"6","pid":"2830187","message":" 16:24:13.046402 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:13.386Z","priority":"6","pid":"2830187","message":" 16:24:13.046411 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:13.386Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:13.387Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:13.387Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:13.387Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36612"}

data: {"time":"2026-09-19T16:24:13.388Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:13.388Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:13.388Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:13.389Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:13.389Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:13.389Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:13.389Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:13.389Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:13.390Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:13.390Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:13.390Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:13.390Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:13.391Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:13.391Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:13.391Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:13.391Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:13.392Z","priority":"6","pid":"2830187","message":"=== Start of file injar2311"}

data: {"time":"2026-09-19T16:24:13.392Z","priority":"6","pid":"2830187","message":" example.fake\tFALSE\t/\tFALSE\t0\tclean\tgood"}

data: {"time":"2026-09-19T16:24:13.392Z","priority":"6","pid":"2830187","message":" example.fake\tFALSE\t/\tFALSE\t0\tbad\tba\u0007d"}

data: {"time":"2026-09-19T16:24:13.392Z","priority":"6","pid":"2830187","message":" example.fake\tFALSE\t/\tFALSE\t0\t__secure-x\tyes"}

data: {"time":"2026-09-19T16:24:13.393Z","priority":"6","pid":"2830187","message":" example.fake\tFALSE\t/\tFALSE\t0\t__Secure-y\tno"}

data: {"time":"2026-09-19T16:24:13.394Z","priority":"6","pid":"2830187","message":"=== End of file injar2311"}

data: {"time":"2026-09-19T16:24:13.394Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:13.394Z","priority":"6","pid":"2830187","message":" Testnum 2311"}

data: {"time":"2026-09-19T16:24:13.394Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:13.394Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:13.394Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:13.394Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:13.395Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:13.395Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:13.395Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2311"}

data: {"time":"2026-09-19T16:24:13.396Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:13.396Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:13.396Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:13.397Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.397Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:13.397Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:13.398Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:13.398Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:13.399Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:13.399Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.399Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:13.400Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:13.400Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:13.401Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:13.401Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:13.402Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:13.402Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:13.402Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.403Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:13.403Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:13.403Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.403Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:13.404Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:13.404Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:13.404Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.404Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:13.405Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2311"}

data: {"time":"2026-09-19T16:24:13.405Z","priority":"6","pid":"2830187","message":"test 2318 [Get cookies from PSL domain then use *.domain]"}

data: {"time":"2026-09-19T16:24:13.407Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2318 ../src/curl -q --output log/curl2318.out  --include --trace-ascii log/trace2318 --trace-time --resolve github.io:39689:127.0.0.1 --resolve attacker.github.io:39689:127.0.0.1 -b \"\" http://github.io:39689/2318 http://attacker.github.io:39689/23180002 http://github.io:39689/2318 > log/stdout2318 2> log/stderr2318"}

data: {"time":"2026-09-19T16:24:13.408Z","priority":"6","pid":"2830187","message":" 2318: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:13.408Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:13.408Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:13.592Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ dirCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2397 ./libtest/libtests lib2397 http://127.0.0.1:39689/2397 > log/stdout2397 2> log/stderr2397"}

data: {"time":"2026-09-19T16:24:13.891Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:39689/2405 > log/stdout2405 2> log/stderr2405"}

data: {"time":"2026-09-19T16:24:13.895Z","priority":"6","pid":"2830187","message":"ectory after test 2318"}

data: {"time":"2026-09-19T16:24:13.896Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:13.897Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2318 ../src/curl -q --output log/curl2318.out  --include --trace-ascii log/trace2318 --trace-time --resolve github.io:39689:127.0.0.1 --resolve attacker.github.io:39689:127.0.0.1 -b \"\" http://github.io:39689/2318 http://attacker.github.io:39689/23180002 http://github.io:39689/2318 > log/stdout2318 2> log/stderr2318"}

data: {"time":"2026-09-19T16:24:13.898Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:13.898Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:13.898Z","priority":"6","pid":"2830187","message":" 16:24:13.231022 ====> Client connect"}

data: {"time":"2026-09-19T16:24:13.898Z","priority":"6","pid":"2830187","message":" 16:24:13.231072 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:13.899Z","priority":"6","pid":"2830187","message":" 16:24:13.231098 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:13.899Z","priority":"6","pid":"2830187","message":" 16:24:13.231107 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:13.900Z","priority":"6","pid":"2830187","message":" 16:24:13.231121 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:13.900Z","priority":"6","pid":"2830187","message":" 16:24:13.231129 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:13.900Z","priority":"6","pid":"2830187","message":" 16:24:13.231153 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:13.901Z","priority":"6","pid":"2830187","message":" 16:24:13.231168 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:13.901Z","priority":"6","pid":"2830187","message":" 16:24:13.231233 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:13.902Z","priority":"6","pid":"2830187","message":" 16:24:13.231242 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:13.903Z","priority":"6","pid":"2830187","message":" 16:24:13.231249 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:13.903Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:13.903Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:13.903Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:13.903Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36624"}

data: {"time":"2026-09-19T16:24:13.903Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:13.903Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:13.904Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:13.904Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:13.904Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:13.904Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:13.905Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:13.905Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:13.905Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:13.905Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:13.905Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:13.906Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:13.906Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:13.906Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:13.907Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:13.907Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:13.907Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:13.907Z","priority":"6","pid":"2830187","message":" Testnum 2318"}

data: {"time":"2026-09-19T16:24:13.908Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:13.908Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:13.908Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:13.908Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:13.909Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:13.909Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:13.909Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2318"}

data: {"time":"2026-09-19T16:24:13.910Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:13.911Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:13.911Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:13.911Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.911Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:13.911Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:13.911Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:13.912Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:13.912Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:13.913Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.913Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:13.913Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:13.913Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:13.914Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:13.914Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:13.915Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:13.915Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:13.915Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.916Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:13.916Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:13.916Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.917Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:13.917Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:13.917Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:13.918Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.918Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:13.918Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2318"}

data: {"time":"2026-09-19T16:24:13.919Z","priority":"6","pid":"2830187","message":"test 2397 [Get CURLINFO_REFERER set CURLOPT_REFERER]"}

data: {"time":"2026-09-19T16:24:13.920Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2397 ./libtest/libtests lib2397 http://127.0.0.1:39689/2397 > log/stdout2397 2> log/stderr2397"}

data: {"time":"2026-09-19T16:24:13.920Z","priority":"6","pid":"2830187","message":" 2397: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:13.920Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:13.921Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:13.921Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2397"}

data: {"time":"2026-09-19T16:24:13.922Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:13.923Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2397 ./libtest/libtests lib2397 http://127.0.0.1:39689/2397 > log/stdout2397 2> log/stderr2397"}

data: {"time":"2026-09-19T16:24:13.923Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:13.923Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:13.923Z","priority":"6","pid":"2830187","message":" 16:24:13.502171 ====> Client connect"}

data: {"time":"2026-09-19T16:24:13.924Z","priority":"6","pid":"2830187","message":" 16:24:13.502216 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:13.924Z","priority":"6","pid":"2830187","message":" 16:24:13.502374 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:13.925Z","priority":"6","pid":"2830187","message":" 16:24:13.502391 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:13.925Z","priority":"6","pid":"2830187","message":" 16:24:13.502407 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:13.925Z","priority":"6","pid":"2830187","message":" 16:24:13.502416 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:13.926Z","priority":"6","pid":"2830187","message":" 16:24:13.502450 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:13.926Z","priority":"6","pid":"2830187","message":" 16:24:13.502471 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:13.926Z","priority":"6","pid":"2830187","message":" 16:24:13.502522 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:13.927Z","priority":"6","pid":"2830187","message":" 16:24:13.502533 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:13.927Z","priority":"6","pid":"2830187","message":" 16:24:13.502542 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:13.927Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:13.928Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:13.928Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:13.928Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36626"}

data: {"time":"2026-09-19T16:24:13.928Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:13.929Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:13.929Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:13.929Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:13.929Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:13.930Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:13.930Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:13.930Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:13.930Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:13.930Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:13.931Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:13.931Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:13.932Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:13.932Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:13.932Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:13.932Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:13.932Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:13.933Z","priority":"6","pid":"2830187","message":" Testnum 2397"}

data: {"time":"2026-09-19T16:24:13.933Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:13.933Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:13.933Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:13.933Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:13.933Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:13.934Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:13.934Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2397"}

data: {"time":"2026-09-19T16:24:13.934Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:13.935Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:13.936Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:13.936Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.936Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:13.937Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:13.937Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:13.937Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:13.937Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:13.938Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.938Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:13.938Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:13.940Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:13.940Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:13.940Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:13.940Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:13.941Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:13.941Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.941Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:13.942Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:13.942Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.942Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:13.943Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:13.943Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:13.943Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:13.944Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:13.944Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2397"}

data: {"time":"2026-09-19T16:24:13.944Z","priority":"6","pid":"2830187","message":"test 2402 SKIPPED: failed starting HTTP/2 server"}

data: {"time":"2026-09-19T16:24:13.945Z","priority":"6","pid":"2830187","message":"test 2405 [checking curl_multi_waitfds functionality]"}

data: {"time":"2026-09-19T16:24:13.946Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:39689/2405 > log/stdout2405 2> log/stderr2405"}

data: {"time":"2026-09-19T16:24:13.946Z","priority":"6","pid":"2830187","message":"libtests returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:13.947Z","priority":"6","pid":"2830187","message":" 2405: exit FAILED"}

data: {"time":"2026-09-19T16:24:13.947Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2405"}

data: {"time":"2026-09-19T16:24:13.947Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:13.948Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2405 ./libtest/libtests lib2405 http://127.0.0.1:39689/2405 > log/stdout2405 2> log/stderr2405"}

data: {"time":"2026-09-19T16:24:13.949Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:13.949Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:13.949Z","priority":"6","pid":"2830187","message":" 16:24:13.802715 ====> Client connect"}

data: {"time":"2026-09-19T16:24:13.950Z","priority":"6","pid":"2830187","message":" 16:24:13.802757 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:13.950Z","priority":"6","pid":"2830187","message":" 16:24:13.802782 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:13.950Z","priority":"6","pid":"2830187","message":" 16:24:13.802791 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:13.951Z","priority":"6","pid":"2830187","message":" 16:24:13.802803 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:13.951Z","priority":"6","pid":"2830187","message":" 16:24:13.802811 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:14.156Z","priority":"6","pid":"2830187","message":" 16:24:13.802837 Wrote request (9CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2408 ../src/curl -q --include --trace-ascii log/trace2408 --trace-time \"127.0.0.1:39689/{<test>2408,24080002,24080003}\" -o \"log/dump-#<test>\" > log/stdout2408 2> log/stderr2408"}

data: {"time":"2026-09-19T16:24:14.371Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2409 ../src/curl -q --include --trace-ascii log/trace2409 --trace-time \"127.0.0.1:39689/hello[<test>7-9]\" -o \"log/dump-#<test>\" > log/stdout2409 2> log/stderr2409"}

data: {"time":"2026-09-19T16:24:14.375Z","priority":"6","pid":"2830187","message":"3 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:14.375Z","priority":"6","pid":"2830187","message":" 16:24:13.802853 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:14.375Z","priority":"6","pid":"2830187","message":" 16:24:13.802920 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:14.375Z","priority":"6","pid":"2830187","message":" 16:24:13.802929 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:14.376Z","priority":"6","pid":"2830187","message":" 16:24:13.802936 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:14.376Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:14.376Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:14.377Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:14.377Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36662"}

data: {"time":"2026-09-19T16:24:14.377Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:14.378Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:14.378Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:14.378Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:14.378Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:14.378Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:14.379Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:14.379Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:14.379Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:14.380Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:14.380Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:14.380Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:14.380Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:14.381Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:14.381Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:14.381Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:14.381Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:14.381Z","priority":"6","pid":"2830187","message":" Testnum 2405"}

data: {"time":"2026-09-19T16:24:14.381Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:14.382Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:14.382Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:14.382Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:14.383Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:14.383Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:14.383Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2405"}

data: {"time":"2026-09-19T16:24:14.383Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:14.384Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:14.384Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:14.384Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.384Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:14.385Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:14.385Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:14.386Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:14.386Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:14.386Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.387Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:14.387Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:14.388Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:14.388Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:14.389Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:14.389Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:14.389Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:14.389Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.390Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:14.390Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:14.391Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.391Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:14.391Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:14.392Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:14.392Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.392Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:14.392Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2405"}

data: {"time":"2026-09-19T16:24:14.393Z","priority":"6","pid":"2830187","message":"test 2408 [multiple requests using named {} globs in URL]"}

data: {"time":"2026-09-19T16:24:14.394Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2408 ../src/curl -q --include --trace-ascii log/trace2408 --trace-time \"127.0.0.1:39689/{<test>2408,24080002,24080003}\" -o \"log/dump-#<test>\" > log/stdout2408 2> log/stderr2408"}

data: {"time":"2026-09-19T16:24:14.395Z","priority":"6","pid":"2830187","message":" 2408: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:14.395Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:14.395Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:14.395Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2408"}

data: {"time":"2026-09-19T16:24:14.396Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:14.397Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2408 ../src/curl -q --include --trace-ascii log/trace2408 --trace-time \"127.0.0.1:39689/{<test>2408,24080002,24080003}\" -o \"log/dump-#<test>\" > log/stdout2408 2> log/stderr2408"}

data: {"time":"2026-09-19T16:24:14.397Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:14.398Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:14.398Z","priority":"6","pid":"2830187","message":" 16:24:14.077129 ====> Client connect"}

data: {"time":"2026-09-19T16:24:14.398Z","priority":"6","pid":"2830187","message":" 16:24:14.077191 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:14.398Z","priority":"6","pid":"2830187","message":" 16:24:14.077483 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:14.399Z","priority":"6","pid":"2830187","message":" 16:24:14.077511 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:14.399Z","priority":"6","pid":"2830187","message":" 16:24:14.077525 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:14.399Z","priority":"6","pid":"2830187","message":" 16:24:14.077532 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:14.400Z","priority":"6","pid":"2830187","message":" 16:24:14.077572 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:14.400Z","priority":"6","pid":"2830187","message":" 16:24:14.077590 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:14.401Z","priority":"6","pid":"2830187","message":" 16:24:14.077654 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:14.401Z","priority":"6","pid":"2830187","message":" 16:24:14.077664 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:14.401Z","priority":"6","pid":"2830187","message":" 16:24:14.077670 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:14.401Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:14.402Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:14.402Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:14.402Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36688"}

data: {"time":"2026-09-19T16:24:14.403Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:14.403Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:14.403Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:14.403Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:14.403Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:14.404Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:14.404Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:14.404Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:14.404Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:14.405Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:14.405Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:14.405Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:14.406Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:14.406Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:14.406Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:14.406Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:14.406Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:14.407Z","priority":"6","pid":"2830187","message":" Testnum 2408"}

data: {"time":"2026-09-19T16:24:14.408Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:14.408Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:14.408Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:14.408Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:14.409Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:14.410Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:14.410Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2408"}

data: {"time":"2026-09-19T16:24:14.412Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:14.412Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:14.413Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:14.413Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.414Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:14.415Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:14.415Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:14.417Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:14.417Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:14.418Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.419Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:14.419Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:14.420Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:14.421Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:14.421Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:14.423Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:14.423Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:14.423Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.424Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:14.425Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:14.425Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.425Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:14.427Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:14.427Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:14.427Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.428Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:14.429Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2408"}

data: {"time":"2026-09-19T16:24:14.430Z","priority":"6","pid":"2830187","message":"test 2409 [multiple requests using named [] globs in URL]"}

data: {"time":"2026-09-19T16:24:14.432Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2409 ../src/curl -q --include --trace-ascii log/trace2409 --trace-time \"127.0.0.1:39689/hello[<test>7-9]\" -o \"log/dump-#<test>\" > log/stdout2409 2> log/stderr2409"}

data: {"time":"2026-09-19T16:24:14.432Z","priority":"6","pid":"2830187","message":" 2409: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:14.432Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:14.432Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:14.433Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2409"}

data: {"time":"2026-09-19T16:24:14.433Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:14.435Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2409 ../src/curl -q --include --trace-ascii log/trace2409 --trace-time \"127.0.0.1:39689/hello[<test>7-9]\" -o \"log/dump-#<test>\" > log/stdout2409 2> log/stderr2409"}

data: {"time":"2026-09-19T16:24:14.435Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:14.435Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:14.435Z","priority":"6","pid":"2830187","message":" 16:24:14.266918 ====> Client connect"}

data: {"time":"2026-09-19T16:24:14.436Z","priority":"6","pid":"2830187","message":" 16:24:14.266964 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:14.436Z","priority":"6","pid":"2830187","message":" 16:24:14.266994 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:14.436Z","priority":"6","pid":"2830187","message":" 16:24:14.267005 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:14.437Z","priority":"6","pid":"2830187","message":" 16:24:14.267019 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:14.437Z","priority":"6","pid":"2830187","message":" 16:24:14.267029 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:14.437Z","priority":"6","pid":"2830187","message":" 16:24:14.267067 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:14.438Z","priority":"6","pid":"2830187","message":" 16:24:14.267090 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:14.438Z","priority":"6","pid":"2830187","message":" 16:24:14.267182 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:14.439Z","priority":"6","pid":"2830187","message":" 16:24:14.267197 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:14.439Z","priority":"6","pid":"2830187","message":" 16:24:14.267210 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:14.439Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:14.439Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:14.439Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:14.440Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36690"}

data: {"time":"2026-09-19T16:24:14.440Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:14.440Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:14.441Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:14.441Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:14.441Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:14.441Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:14.581Z","priority":"6","pid":"2830187","message":" * Request comCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2410 ../src/curl -q --include --trace-ascii log/trace2410 --trace-time \"https://dummy.example/{<test>A,B}{<test>C,D}\" -o \"log/dump\" > log/stdout2410 2> log/stderr2410"}

data: {"time":"2026-09-19T16:24:14.584Z","priority":"6","pid":"2830187","message":"pletely sent off"}

data: {"time":"2026-09-19T16:24:14.585Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:14.585Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:14.585Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:14.585Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:14.585Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:14.585Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:14.586Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:14.586Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:14.586Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:14.586Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:14.587Z","priority":"6","pid":"2830187","message":" Testnum 2409"}

data: {"time":"2026-09-19T16:24:14.587Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:14.587Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:14.588Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:14.588Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:14.588Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:14.588Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:14.588Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2409"}

data: {"time":"2026-09-19T16:24:14.589Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:14.589Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:14.589Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:14.590Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.590Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:14.590Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:14.591Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:14.591Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:14.592Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:14.592Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.592Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:14.593Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:14.593Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:14.593Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:14.594Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:14.594Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:14.594Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:14.595Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.595Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:14.596Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:14.596Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.596Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:14.596Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:14.597Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:14.597Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.598Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:14.598Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2409"}

data: {"time":"2026-09-19T16:24:14.791Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2411 ../src/curl -q --include --trace-ascii log/trace2411 --trace-time \"127.0.0.1:39689/{<test>A,B}{<moo>C,D}\" -o \"somewhere/#<foo>\" > log/stdout2411 2> log/stderr2411"}

data: {"time":"2026-09-19T16:24:14.801Z","priority":"6","pid":"2830187","message":"test 2410 [duplicate named glob]"}

data: {"time":"2026-09-19T16:24:14.803Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2410 ../src/curl -q --include --trace-ascii log/trace2410 --trace-time \"https://dummy.example/{<test>A,B}{<test>C,D}\" -o \"log/dump\" > log/stdout2410 2> log/stderr2410"}

data: {"time":"2026-09-19T16:24:14.804Z","priority":"6","pid":"2830187","message":" 2410: stderr FAILED:"}

data: {"time":"2026-09-19T16:24:14.804Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:14.583863115 +0000"}

data: {"time":"2026-09-19T16:24:14.804Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:14.582678213 +0000"}

data: {"time":"2026-09-19T16:24:14.805Z","priority":"6","pid":"2830187","message":"@@ -1,3 +0,0 @@"}

data: {"time":"2026-09-19T16:24:14.805Z","priority":"6","pid":"2830187","message":"-curl: (3) Duplicate glob name in position 40:[CR][LF]"}

data: {"time":"2026-09-19T16:24:14.806Z","priority":"6","pid":"2830187","message":"-https://dummy.example/{<test>A,B}{<test>C,D}[CR][LF]"}

data: {"time":"2026-09-19T16:24:14.806Z","priority":"6","pid":"2830187","message":"-                                       ^[CR][LF]"}

data: {"time":"2026-09-19T16:24:14.807Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2410"}

data: {"time":"2026-09-19T16:24:14.807Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:14.807Z","priority":"6","pid":"2830187","message":" curl: (3) Duplicate glob name in position 40:[CR][LF]"}

data: {"time":"2026-09-19T16:24:14.808Z","priority":"6","pid":"2830187","message":" https://dummy.example/{<test>A,B}{<test>C,D}[CR][LF]"}

data: {"time":"2026-09-19T16:24:14.808Z","priority":"6","pid":"2830187","message":"                                        ^[CR][LF]"}

data: {"time":"2026-09-19T16:24:14.809Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:14.809Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:14.811Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2410 ../src/curl -q --include --trace-ascii log/trace2410 --trace-time \"https://dummy.example/{<test>A,B}{<test>C,D}\" -o \"log/dump\" > log/stdout2410 2> log/stderr2410"}

data: {"time":"2026-09-19T16:24:14.811Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:14.811Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:14.812Z","priority":"6","pid":"2830187","message":" Testnum 2410"}

data: {"time":"2026-09-19T16:24:14.812Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:14.812Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2410"}

data: {"time":"2026-09-19T16:24:14.813Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:14.813Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:14.814Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:14.814Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.814Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:14.815Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:14.815Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:14.816Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:14.816Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:14.816Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.817Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:14.817Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:14.818Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:14.818Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:14.819Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:14.820Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:14.820Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:14.820Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.821Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:14.821Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:14.821Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.822Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:14.823Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:14.823Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:14.824Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:14.824Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:14.824Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2410"}

data: {"time":"2026-09-19T16:24:15.026Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2412 ./libtest/libtests lib2412 http://127.0.0.1:39689/2412 > log/stdout2412 2> log/stderr2412"}

data: {"time":"2026-09-19T16:24:15.164Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2413 ./unit/units unit2413 - > log/stdout2413 2> log/stderr2413"}

data: {"time":"2026-09-19T16:24:15.166Z","priority":"6","pid":"2830187","message":"test 2411 [reference a named glob not set]"}

data: {"time":"2026-09-19T16:24:15.167Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2411 ../src/curl -q --include --trace-ascii log/trace2411 --trace-time \"127.0.0.1:39689/{<test>A,B}{<moo>C,D}\" -o \"somewhere/#<foo>\" > log/stdout2411 2> log/stderr2411"}

data: {"time":"2026-09-19T16:24:15.167Z","priority":"6","pid":"2830187","message":" 2411: stderr FAILED:"}

data: {"time":"2026-09-19T16:24:15.168Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:14.800709558 +0000"}

data: {"time":"2026-09-19T16:24:15.168Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:14.799680399 +0000"}

data: {"time":"2026-09-19T16:24:15.168Z","priority":"6","pid":"2830187","message":"@@ -1,3 +0,0 @@"}

data: {"time":"2026-09-19T16:24:15.169Z","priority":"6","pid":"2830187","message":"-curl: (43) no glob exists with this name in position 16:[CR][LF]"}

data: {"time":"2026-09-19T16:24:15.169Z","priority":"6","pid":"2830187","message":"-somewhere/#<foo>[CR][LF]"}

data: {"time":"2026-09-19T16:24:15.169Z","priority":"6","pid":"2830187","message":"-               ^[CR][LF]"}

data: {"time":"2026-09-19T16:24:15.169Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2411"}

data: {"time":"2026-09-19T16:24:15.169Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:15.170Z","priority":"6","pid":"2830187","message":" curl: (43) no glob exists with this name in position 16:[CR][LF]"}

data: {"time":"2026-09-19T16:24:15.170Z","priority":"6","pid":"2830187","message":" somewhere/#<foo>[CR][LF]"}

data: {"time":"2026-09-19T16:24:15.170Z","priority":"6","pid":"2830187","message":"                ^[CR][LF]"}

data: {"time":"2026-09-19T16:24:15.171Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:15.171Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:15.172Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2411 ../src/curl -q --include --trace-ascii log/trace2411 --trace-time \"127.0.0.1:39689/{<test>A,B}{<moo>C,D}\" -o \"somewhere/#<foo>\" > log/stdout2411 2> log/stderr2411"}

data: {"time":"2026-09-19T16:24:15.172Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:15.172Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:15.173Z","priority":"6","pid":"2830187","message":" 16:24:14.702689 ====> Client connect"}

data: {"time":"2026-09-19T16:24:15.173Z","priority":"6","pid":"2830187","message":" 16:24:14.702749 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:15.173Z","priority":"6","pid":"2830187","message":" 16:24:14.702943 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:15.173Z","priority":"6","pid":"2830187","message":" 16:24:14.702966 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:15.174Z","priority":"6","pid":"2830187","message":" 16:24:14.702986 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:15.174Z","priority":"6","pid":"2830187","message":" 16:24:14.702999 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:15.174Z","priority":"6","pid":"2830187","message":" 16:24:14.703046 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:15.174Z","priority":"6","pid":"2830187","message":" 16:24:14.703082 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:15.175Z","priority":"6","pid":"2830187","message":" 16:24:14.703157 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:15.175Z","priority":"6","pid":"2830187","message":" 16:24:14.703171 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:15.176Z","priority":"6","pid":"2830187","message":" 16:24:14.703182 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:15.176Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:15.176Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:15.176Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:15.176Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36696"}

data: {"time":"2026-09-19T16:24:15.176Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:15.177Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:15.177Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:15.177Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:15.177Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:15.177Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:15.178Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:15.178Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:15.178Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:15.178Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:15.179Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:15.179Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:15.179Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:15.179Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:15.180Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:15.180Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:15.180Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:15.180Z","priority":"6","pid":"2830187","message":" Testnum 2411"}

data: {"time":"2026-09-19T16:24:15.180Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:15.180Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:15.181Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:15.181Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:15.181Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:15.181Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:15.181Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2411"}

data: {"time":"2026-09-19T16:24:15.182Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:15.182Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:15.183Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:15.183Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.183Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:15.184Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:15.184Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:15.184Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:15.184Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:15.184Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.185Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:15.186Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:15.186Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:15.186Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:15.186Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:15.186Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:15.187Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:15.187Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.187Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:15.187Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:15.188Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.188Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:15.188Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:15.188Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:15.189Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.189Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:15.189Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2411"}

data: {"time":"2026-09-19T16:24:15.190Z","priority":"6","pid":"2830187","message":"test 2412 [checking curl_multi_fdset on nothing to do]"}

data: {"time":"2026-09-19T16:24:15.190Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2412 ./libtest/libtests lib2412 http://127.0.0.1:39689/2412 > log/stdout2412 2> log/stderr2412"}

data: {"time":"2026-09-19T16:24:15.191Z","priority":"6","pid":"2830187","message":"libtests returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:15.191Z","priority":"6","pid":"2830187","message":" 2412: exit FAILED"}

data: {"time":"2026-09-19T16:24:15.191Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2412"}

data: {"time":"2026-09-19T16:24:15.191Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:15.192Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2412 ./libtest/libtests lib2412 http://127.0.0.1:39689/2412 > log/stdout2412 2> log/stderr2412"}

data: {"time":"2026-09-19T16:24:15.193Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:15.193Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:15.193Z","priority":"6","pid":"2830187","message":" 16:24:14.930490 ====> Client connect"}

data: {"time":"2026-09-19T16:24:15.193Z","priority":"6","pid":"2830187","message":" 16:24:14.930530 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:15.193Z","priority":"6","pid":"2830187","message":" 16:24:14.930556 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:15.194Z","priority":"6","pid":"2830187","message":" 16:24:14.930565 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:15.194Z","priority":"6","pid":"2830187","message":" 16:24:14.930578 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:15.194Z","priority":"6","pid":"2830187","message":" 16:24:14.930586 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:15.195Z","priority":"6","pid":"2830187","message":" 16:24:14.930611 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:15.195Z","priority":"6","pid":"2830187","message":" 16:24:14.930635 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:15.195Z","priority":"6","pid":"2830187","message":" 16:24:14.930696 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:15.196Z","priority":"6","pid":"2830187","message":" 16:24:14.930705 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:15.196Z","priority":"6","pid":"2830187","message":" 16:24:14.930712 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:15.197Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:15.197Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:15.198Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:15.198Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 36704"}

data: {"time":"2026-09-19T16:24:15.198Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:15.198Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:15.198Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:15.198Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:15.198Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:15.199Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:15.199Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:15.200Z","priority":"6","pid":"2830187","message":" Testnum 2412"}

data: {"time":"2026-09-19T16:24:15.201Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:15.201Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:15.201Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:15.201Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:15.201Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:15.202Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:15.202Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2412"}

data: {"time":"2026-09-19T16:24:15.202Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:15.202Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:15.203Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:15.203Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.203Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:15.203Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:15.203Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:15.204Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:15.204Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:15.204Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.204Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:15.205Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:15.205Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:15.205Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:15.206Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:15.206Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:15.206Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:15.207Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.207Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:15.207Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:15.207Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.208Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:15.208Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:15.208Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:15.208Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:15.208Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:15.209Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2412"}

data: {"time":"2026-09-19T16:24:15.209Z","priority":"6","pid":"2830187","message":"test 2413 [Curl_peer unit tests]"}

data: {"time":"2026-09-19T16:24:15.210Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2413 ./unit/units unit2413 - > log/stdout2413 2> log/stderr2413"}

data: {"time":"2026-09-19T16:24:15.210Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:15.210Z","priority":"6","pid":"2830187","message":" 2413: exit FAILED"}

data: {"time":"2026-09-19T16:24:15.211Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2413"}

data: {"time":"2026-09-19T16:24:15.211Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:15.336Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-checkCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2414 ./libtest/libtests lib2414 - > log/stdout2414 2> log/stderr2414"}

data: {"time":"2026-09-19T16:24:20.585Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2504 ./libtest/libtests lib2504 http://127.0.0.1:39689 > log/stdout2504 2> log/stderr2504"}

data: {"time":"2026-09-19T16:24:20.799Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2505 ./libtest/libtests lib2505 http://127.0.0.1:39689 > log/stdout2505 2> log/stderr2505"}

data: {"time":"2026-09-19T16:24:20.801Z","priority":"6","pid":"2830187","message":"=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2413 ./unit/units unit2413 - > log/stdout2413 2> log/stderr2413"}

data: {"time":"2026-09-19T16:24:20.802Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:20.802Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:20.802Z","priority":"6","pid":"2830187","message":" Testnum 2413"}

data: {"time":"2026-09-19T16:24:20.802Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:20.803Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2413"}

data: {"time":"2026-09-19T16:24:20.803Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:20.803Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:20.803Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:20.804Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.804Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:20.805Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:20.805Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:20.805Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:20.805Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:20.805Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.806Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:20.806Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:20.807Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:20.808Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:20.808Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:20.808Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:20.808Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:20.808Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.809Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:20.809Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:20.809Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.810Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:20.810Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:20.811Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:20.811Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.811Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:20.812Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2413"}

data: {"time":"2026-09-19T16:24:20.812Z","priority":"6","pid":"2830187","message":"test 2414 [wakeup, perform and poll needs to exit]"}

data: {"time":"2026-09-19T16:24:20.814Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2414 ./libtest/libtests lib2414 - > log/stdout2414 2> log/stderr2414"}

data: {"time":"2026-09-19T16:24:20.814Z","priority":"6","pid":"2830187","message":"libtests returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:20.815Z","priority":"6","pid":"2830187","message":" 2414: exit FAILED"}

data: {"time":"2026-09-19T16:24:20.815Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2414"}

data: {"time":"2026-09-19T16:24:20.816Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:20.816Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2414 ./libtest/libtests lib2414 - > log/stdout2414 2> log/stderr2414"}

data: {"time":"2026-09-19T16:24:20.817Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:20.817Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:20.818Z","priority":"6","pid":"2830187","message":" Testnum 2414"}

data: {"time":"2026-09-19T16:24:20.818Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:20.818Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2414"}

data: {"time":"2026-09-19T16:24:20.818Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:20.819Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:20.819Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:20.820Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.820Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:20.820Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:20.821Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:20.821Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:20.822Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:20.822Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.822Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:20.823Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:20.824Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:20.824Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:20.824Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:20.825Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:20.825Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:20.825Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.826Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:20.826Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:20.826Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.827Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:20.827Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:20.827Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:20.828Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.828Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:20.828Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2414"}

data: {"time":"2026-09-19T16:24:20.829Z","priority":"6","pid":"2830187","message":"startnew: /usr/bin/perl -I. -I/build/curl/src/curl/tests /build/curl/src/curl/tests/http3-server.pl --port 40821 --nghttpx \"nghttpx\" --pidfile \"log/server/http_v3_server.pid\" --logfile \"log/http_v3_server.log\" --logdir \"log\" --connect 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:20.830Z","priority":"6","pid":"2830187","message":"startnew: child process has died, server might start up"}

data: {"time":"2026-09-19T16:24:20.830Z","priority":"6","pid":"2830187","message":"RUN: failed to start the HTTP/3 server"}

data: {"time":"2026-09-19T16:24:20.830Z","priority":"6","pid":"2830187","message":"test 2502 SKIPPED: failed starting HTTP/3 server"}

data: {"time":"2026-09-19T16:24:20.831Z","priority":"6","pid":"2830187","message":"test 2504 [custom Host with cookie, handle reuse, no custom Host:]"}

data: {"time":"2026-09-19T16:24:20.832Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2504 ./libtest/libtests lib2504 http://127.0.0.1:39689 > log/stdout2504 2> log/stderr2504"}

data: {"time":"2026-09-19T16:24:20.833Z","priority":"6","pid":"2830187","message":" 2504: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:20.833Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:20.833Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:20.833Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2504"}

data: {"time":"2026-09-19T16:24:20.833Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:20.835Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2504 ./libtest/libtests lib2504 http://127.0.0.1:39689 > log/stdout2504 2> log/stderr2504"}

data: {"time":"2026-09-19T16:24:20.836Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:20.836Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:20.836Z","priority":"6","pid":"2830187","message":" 16:24:20.491527 ====> Client connect"}

data: {"time":"2026-09-19T16:24:20.837Z","priority":"6","pid":"2830187","message":" 16:24:20.491580 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:20.838Z","priority":"6","pid":"2830187","message":" 16:24:20.491719 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:20.839Z","priority":"6","pid":"2830187","message":" 16:24:20.491735 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:20.839Z","priority":"6","pid":"2830187","message":" 16:24:20.491753 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:20.840Z","priority":"6","pid":"2830187","message":" 16:24:20.491766 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:20.840Z","priority":"6","pid":"2830187","message":" 16:24:20.491806 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:20.841Z","priority":"6","pid":"2830187","message":" 16:24:20.491833 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:20.845Z","priority":"6","pid":"2830187","message":" 16:24:20.491887 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:20.845Z","priority":"6","pid":"2830187","message":" 16:24:20.491898 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:20.845Z","priority":"6","pid":"2830187","message":" 16:24:20.491906 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:20.845Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:20.845Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:20.845Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:20.847Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55606"}

data: {"time":"2026-09-19T16:24:20.848Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:20.848Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:20.852Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:20.852Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:20.852Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:20.852Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:20.852Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:20.852Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:20.853Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:20.855Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:20.855Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:20.856Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:20.857Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:20.859Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:20.861Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:20.861Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:20.861Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:20.861Z","priority":"6","pid":"2830187","message":" Testnum 2504"}

data: {"time":"2026-09-19T16:24:20.861Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:20.861Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:20.862Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:20.862Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:20.862Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:20.862Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:20.864Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2504"}

data: {"time":"2026-09-19T16:24:20.865Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:20.865Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:20.865Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:20.865Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.866Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:20.867Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:20.868Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:20.868Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:20.870Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:20.871Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.871Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:20.872Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:20.872Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:20.874Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:20.875Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:20.876Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:20.877Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:20.877Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.877Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:20.878Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:20.879Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.880Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:20.881Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:20.883Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:20.883Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:20.884Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:20.884Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2504"}

data: {"time":"2026-09-19T16:24:20.885Z","priority":"6","pid":"2830187","message":"test 2505 [verify CURLOPT_AUTOREFERER switched off]"}

data: {"time":"2026-09-19T16:24:21.107Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-fiCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2506 ./libtest/libtests lib2506 http://127.0.0.1:39689 http://site.example/ log/netrc2506 > log/stdout2506 2> log/stderr2506"}

data: {"time":"2026-09-19T16:24:21.243Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2601 ./unit/units unit2601 - > log/stdout2601 2> log/stderr2601"}

data: {"time":"2026-09-19T16:24:21.247Z","priority":"6","pid":"2830187","message":"le=log/valgrind2505 ./libtest/libtests lib2505 http://127.0.0.1:39689 > log/stdout2505 2> log/stderr2505"}

data: {"time":"2026-09-19T16:24:21.247Z","priority":"6","pid":"2830187","message":" 2505: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:21.248Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:21.249Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:21.249Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2505"}

data: {"time":"2026-09-19T16:24:21.250Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:21.254Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2505 ./libtest/libtests lib2505 http://127.0.0.1:39689 > log/stdout2505 2> log/stderr2505"}

data: {"time":"2026-09-19T16:24:21.255Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:21.256Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:21.257Z","priority":"6","pid":"2830187","message":" 16:24:20.703113 ====> Client connect"}

data: {"time":"2026-09-19T16:24:21.257Z","priority":"6","pid":"2830187","message":" 16:24:20.703161 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:21.257Z","priority":"6","pid":"2830187","message":" 16:24:20.703375 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:21.258Z","priority":"6","pid":"2830187","message":" 16:24:20.703393 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:21.258Z","priority":"6","pid":"2830187","message":" 16:24:20.703409 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:21.259Z","priority":"6","pid":"2830187","message":" 16:24:20.703419 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:21.263Z","priority":"6","pid":"2830187","message":" 16:24:20.703455 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:21.263Z","priority":"6","pid":"2830187","message":" 16:24:20.703476 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:21.264Z","priority":"6","pid":"2830187","message":" 16:24:20.703594 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:21.265Z","priority":"6","pid":"2830187","message":" 16:24:20.703606 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:21.265Z","priority":"6","pid":"2830187","message":" 16:24:20.703615 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:21.267Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:21.267Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:21.267Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:21.269Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55608"}

data: {"time":"2026-09-19T16:24:21.269Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:21.270Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:21.270Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:21.270Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:21.272Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:21.273Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:21.273Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:21.273Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:21.273Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:21.273Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:21.273Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:21.273Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:21.274Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:21.274Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:21.274Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:21.274Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:21.275Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.275Z","priority":"6","pid":"2830187","message":" Testnum 2505"}

data: {"time":"2026-09-19T16:24:21.276Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.276Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:21.276Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:21.276Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:21.276Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:21.276Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:21.277Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2505"}

data: {"time":"2026-09-19T16:24:21.277Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:21.278Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:21.278Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:21.278Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.278Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:21.279Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:21.279Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.280Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:21.280Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.280Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.280Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:21.281Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:21.281Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:21.281Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:21.282Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:21.283Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:21.283Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:21.283Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.283Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:21.283Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:21.284Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.284Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:21.284Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:21.285Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:21.285Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.285Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:21.285Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2505"}

data: {"time":"2026-09-19T16:24:21.286Z","priority":"6","pid":"2830187","message":"test 2506 [netrc with redirect using proxy]"}

data: {"time":"2026-09-19T16:24:21.287Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2506 ./libtest/libtests lib2506 http://127.0.0.1:39689 http://site.example/ log/netrc2506 > log/stdout2506 2> log/stderr2506"}

data: {"time":"2026-09-19T16:24:21.288Z","priority":"6","pid":"2830187","message":" 2506: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:21.288Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:21.288Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:21.288Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2506"}

data: {"time":"2026-09-19T16:24:21.289Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:21.290Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2506 ./libtest/libtests lib2506 http://127.0.0.1:39689 http://site.example/ log/netrc2506 > log/stdout2506 2> log/stderr2506"}

data: {"time":"2026-09-19T16:24:21.290Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:21.290Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:21.291Z","priority":"6","pid":"2830187","message":" 16:24:20.993149 ====> Client connect"}

data: {"time":"2026-09-19T16:24:21.291Z","priority":"6","pid":"2830187","message":" 16:24:20.993210 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:21.291Z","priority":"6","pid":"2830187","message":" 16:24:20.993445 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:21.292Z","priority":"6","pid":"2830187","message":" 16:24:20.993473 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:21.292Z","priority":"6","pid":"2830187","message":" 16:24:20.993491 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:21.292Z","priority":"6","pid":"2830187","message":" 16:24:20.993502 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:21.293Z","priority":"6","pid":"2830187","message":" 16:24:20.993552 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:21.293Z","priority":"6","pid":"2830187","message":" 16:24:20.993578 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:21.294Z","priority":"6","pid":"2830187","message":" 16:24:20.993646 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:21.294Z","priority":"6","pid":"2830187","message":" 16:24:20.993658 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:21.294Z","priority":"6","pid":"2830187","message":" 16:24:20.993668 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:21.295Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:21.295Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:21.295Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:21.296Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55622"}

data: {"time":"2026-09-19T16:24:21.296Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:21.296Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:21.297Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:21.297Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:21.297Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:21.297Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:21.297Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:21.298Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:21.298Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:21.298Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:21.298Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:21.298Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:21.299Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:21.299Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:21.299Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:21.299Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:21.299Z","priority":"6","pid":"2830187","message":"=== Start of file netrc2506"}

data: {"time":"2026-09-19T16:24:21.300Z","priority":"6","pid":"2830187","message":" machine site.example login batman password robin"}

data: {"time":"2026-09-19T16:24:21.300Z","priority":"6","pid":"2830187","message":"=== End of file netrc2506"}

data: {"time":"2026-09-19T16:24:21.300Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.300Z","priority":"6","pid":"2830187","message":" Testnum 2506"}

data: {"time":"2026-09-19T16:24:21.301Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.301Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:21.301Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:21.301Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:21.302Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:21.302Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:21.302Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2506"}

data: {"time":"2026-09-19T16:24:21.302Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:21.303Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:21.303Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:21.303Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.304Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:21.304Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:21.304Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.305Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:21.305Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.305Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.305Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:21.306Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:21.306Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:21.307Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:21.307Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:21.308Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:21.308Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:21.308Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.308Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:21.309Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:21.309Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.310Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:21.310Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:21.310Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:21.311Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.311Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:21.311Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2506"}

data: {"time":"2026-09-19T16:24:21.312Z","priority":"6","pid":"2830187","message":"test 2601 [bufq unit tests]"}

data: {"time":"2026-09-19T16:24:21.313Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2601 ./unit/units unit2601 - > log/stdout2601 2> log/stderr2601"}

data: {"time":"2026-09-19T16:24:21.313Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:21.314Z","priority":"6","pid":"2830187","message":" 2601: exit FAILED"}

data: {"time":"2026-09-19T16:24:21.314Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2601"}

data: {"time":"2026-09-19T16:24:21.315Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:21.316Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2601 ./unit/units unit2601 - > log/stdout2601 2> log/stderr2601"}

data: {"time":"2026-09-19T16:24:21.316Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:21.316Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.317Z","priority":"6","pid":"2830187","message":" Testnum 2601"}

data: {"time":"2026-09-19T16:24:21.317Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.318Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2601"}

data: {"time":"2026-09-19T16:24:21.318Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:21.318Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:21.460Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2602 ./unit/units unit2602 - > log/stdout2602 2> log/stderr2602"}

data: {"time":"2026-09-19T16:24:21.567Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2603 ./unit/units unit2603 - > log/stdout2603 2> log/stderr2603"}

data: {"time":"2026-09-19T16:24:21.687Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2604 ./unit/units unit2604 - > log/stdout2604 2> log/stderr2604"}

data: {"time":"2026-09-19T16:24:21.818Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2605 ./unit/units unit2605 - > log/stdout2605 2> log/stderr2605"}

data: {"time":"2026-09-19T16:24:21.823Z","priority":"6","pid":"2830187","message":"irection are:"}

data: {"time":"2026-09-19T16:24:21.824Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.824Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:21.824Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:21.824Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.825Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:21.825Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.825Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.826Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:21.826Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:21.827Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:21.827Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:21.828Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:21.828Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:21.828Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:21.828Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.829Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:21.829Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:21.830Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.830Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:21.831Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:21.831Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:21.831Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.832Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:21.832Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2601"}

data: {"time":"2026-09-19T16:24:21.832Z","priority":"6","pid":"2830187","message":"test 2602 [dynhds unit tests]"}

data: {"time":"2026-09-19T16:24:21.833Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2602 ./unit/units unit2602 - > log/stdout2602 2> log/stderr2602"}

data: {"time":"2026-09-19T16:24:21.834Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:21.834Z","priority":"6","pid":"2830187","message":" 2602: exit FAILED"}

data: {"time":"2026-09-19T16:24:21.834Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2602"}

data: {"time":"2026-09-19T16:24:21.834Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:21.835Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2602 ./unit/units unit2602 - > log/stdout2602 2> log/stderr2602"}

data: {"time":"2026-09-19T16:24:21.835Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:21.835Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.836Z","priority":"6","pid":"2830187","message":" Testnum 2602"}

data: {"time":"2026-09-19T16:24:21.836Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.836Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2602"}

data: {"time":"2026-09-19T16:24:21.836Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:21.837Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:21.837Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:21.837Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.838Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:21.838Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:21.838Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.839Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:21.839Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.839Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.840Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:21.840Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:21.840Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:21.841Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:21.841Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:21.843Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:21.843Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:21.843Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.843Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:21.843Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:21.843Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.844Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:21.845Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:21.845Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:21.845Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.845Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:21.846Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2602"}

data: {"time":"2026-09-19T16:24:21.846Z","priority":"6","pid":"2830187","message":"test 2603 [http1 parser unit tests]"}

data: {"time":"2026-09-19T16:24:21.847Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2603 ./unit/units unit2603 - > log/stdout2603 2> log/stderr2603"}

data: {"time":"2026-09-19T16:24:21.847Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:21.847Z","priority":"6","pid":"2830187","message":" 2603: exit FAILED"}

data: {"time":"2026-09-19T16:24:21.848Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2603"}

data: {"time":"2026-09-19T16:24:21.848Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:21.849Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2603 ./unit/units unit2603 - > log/stdout2603 2> log/stderr2603"}

data: {"time":"2026-09-19T16:24:21.849Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:21.850Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.850Z","priority":"6","pid":"2830187","message":" Testnum 2603"}

data: {"time":"2026-09-19T16:24:21.850Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.851Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2603"}

data: {"time":"2026-09-19T16:24:21.851Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:21.851Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:21.852Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:21.852Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.852Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:21.852Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:21.853Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.853Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:21.853Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.854Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.854Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:21.854Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:21.855Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:21.855Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:21.855Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:21.856Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:21.856Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:21.856Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.856Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:21.857Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:21.857Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.857Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:21.858Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:21.858Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:21.858Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.859Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:21.859Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2603"}

data: {"time":"2026-09-19T16:24:21.859Z","priority":"6","pid":"2830187","message":"test 2604 [Curl_get_pathname unit test]"}

data: {"time":"2026-09-19T16:24:21.860Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2604 ./unit/units unit2604 - > log/stdout2604 2> log/stderr2604"}

data: {"time":"2026-09-19T16:24:21.861Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:21.861Z","priority":"6","pid":"2830187","message":" 2604: exit FAILED"}

data: {"time":"2026-09-19T16:24:21.861Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2604"}

data: {"time":"2026-09-19T16:24:21.862Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:21.863Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2604 ./unit/units unit2604 - > log/stdout2604 2> log/stderr2604"}

data: {"time":"2026-09-19T16:24:21.863Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:21.863Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.863Z","priority":"6","pid":"2830187","message":" Testnum 2604"}

data: {"time":"2026-09-19T16:24:21.864Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:21.864Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2604"}

data: {"time":"2026-09-19T16:24:21.865Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:21.865Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:21.865Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:21.865Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.866Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:21.867Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:21.867Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.867Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:21.867Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:21.867Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.868Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:21.869Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:21.869Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:21.869Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:21.870Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:21.870Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:21.871Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:21.871Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.871Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:21.871Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:21.872Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.872Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:21.873Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:21.873Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:21.873Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:21.873Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:21.873Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2604"}

data: {"time":"2026-09-19T16:24:21.874Z","priority":"6","pid":"2830187","message":"test 2605 [Curl_ssh_range unit test]"}

data: {"time":"2026-09-19T16:24:21.875Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2605 ./unit/units unit2605 - > log/stdout2605 2> log/stderr2605"}

data: {"time":"2026-09-19T16:24:21.875Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:21.876Z","priority":"6","pid":"2830187","message":" 2605: exit FAILED"}

data: {"time":"2026-09-19T16:24:22.000Z","priority":"6","pid":"2830187","message":"== Contents of files in tCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2606 ./unit/units unit2606 - > log/stdout2606 2> log/stderr2606"}

data: {"time":"2026-09-19T16:24:22.221Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3002 ../src/curl -q --output log/curl3002.out  --include --trace-ascii log/trace3002 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3002 > log/stdout3002 2> log/stderr3002"}

data: {"time":"2026-09-19T16:24:22.225Z","priority":"6","pid":"2830187","message":"he log/ directory after test 2605"}

data: {"time":"2026-09-19T16:24:22.225Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:22.226Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2605 ./unit/units unit2605 - > log/stdout2605 2> log/stderr2605"}

data: {"time":"2026-09-19T16:24:22.227Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:22.227Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.227Z","priority":"6","pid":"2830187","message":" Testnum 2605"}

data: {"time":"2026-09-19T16:24:22.228Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.228Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2605"}

data: {"time":"2026-09-19T16:24:22.228Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:22.229Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:22.229Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:22.230Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.230Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:22.230Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:22.231Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:22.231Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:22.232Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:22.232Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.232Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:22.232Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:22.233Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:22.233Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:22.234Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:22.234Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:22.235Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:22.235Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.235Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:22.236Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:22.236Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.236Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:22.237Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:22.237Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:22.237Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.238Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:22.238Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2605"}

data: {"time":"2026-09-19T16:24:22.238Z","priority":"6","pid":"2830187","message":"test 2606 [Curl_conn_adjust_pollset unit test]"}

data: {"time":"2026-09-19T16:24:22.239Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2606 ./unit/units unit2606 - > log/stdout2606 2> log/stderr2606"}

data: {"time":"2026-09-19T16:24:22.240Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:22.240Z","priority":"6","pid":"2830187","message":" 2606: exit FAILED"}

data: {"time":"2026-09-19T16:24:22.241Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 2606"}

data: {"time":"2026-09-19T16:24:22.241Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:22.243Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind2606 ./unit/units unit2606 - > log/stdout2606 2> log/stderr2606"}

data: {"time":"2026-09-19T16:24:22.243Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:22.243Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.243Z","priority":"6","pid":"2830187","message":" Testnum 2606"}

data: {"time":"2026-09-19T16:24:22.243Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.243Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind2606"}

data: {"time":"2026-09-19T16:24:22.243Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:22.244Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:22.244Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:22.245Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.245Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:22.245Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:22.246Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:22.246Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:22.247Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:22.247Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.247Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:22.248Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:22.248Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:22.248Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:22.249Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:22.249Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:22.250Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:22.250Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.250Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:22.251Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:22.251Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.252Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:22.252Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:22.252Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:22.252Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.253Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:22.253Z","priority":"6","pid":"2830187","message":"=== End of file valgrind2606"}

data: {"time":"2026-09-19T16:24:22.254Z","priority":"6","pid":"2830187","message":"test 3002 [SMTP invalid (first) --mail-rcpt and --mail-rcpt-allowfails]"}

data: {"time":"2026-09-19T16:24:22.256Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3002 ../src/curl -q --output log/curl3002.out  --include --trace-ascii log/trace3002 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3002 > log/stdout3002 2> log/stderr3002"}

data: {"time":"2026-09-19T16:24:22.257Z","priority":"6","pid":"2830187","message":" 3002: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:22.257Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:22.258Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:22.258Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3002"}

data: {"time":"2026-09-19T16:24:22.258Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:22.260Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3002 ../src/curl -q --output log/curl3002.out  --include --trace-ascii log/trace3002 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3002 > log/stdout3002 2> log/stderr3002"}

data: {"time":"2026-09-19T16:24:22.261Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:22.261Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.261Z","priority":"6","pid":"2830187","message":" Testnum 3002"}

data: {"time":"2026-09-19T16:24:22.261Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.262Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:22.262Z","priority":"6","pid":"2830187","message":" 16:24:22.046305 ====> Client connect"}

data: {"time":"2026-09-19T16:24:22.263Z","priority":"6","pid":"2830187","message":" 16:24:22.046826 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.263Z","priority":"6","pid":"2830187","message":" 16:24:22.047044 < \"EHLO verifiedserver\""}

data: {"time":"2026-09-19T16:24:22.263Z","priority":"6","pid":"2830187","message":" 16:24:22.047168 > \"250 ESMTP pingpong test server Hello verifiedserver[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.264Z","priority":"6","pid":"2830187","message":" 16:24:22.047396 < \"HELP\""}

data: {"time":"2026-09-19T16:24:22.264Z","priority":"6","pid":"2830187","message":" 16:24:22.047438 > \"214 WE ROOLZ: 112484[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.264Z","priority":"6","pid":"2830187","message":" 16:24:22.047454 return proof we are we"}

data: {"time":"2026-09-19T16:24:22.265Z","priority":"6","pid":"2830187","message":" 16:24:22.047861 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:22.265Z","priority":"6","pid":"2830187","message":" 16:24:22.047907 > \"221 curl ESMTP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.265Z","priority":"6","pid":"2830187","message":" 16:24:22.048426 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:22.266Z","priority":"6","pid":"2830187","message":" 16:24:22.048535 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:22.266Z","priority":"6","pid":"2830187","message":" 16:24:22.048655 Awaiting input"}

data: {"time":"2026-09-19T16:24:22.267Z","priority":"6","pid":"2830187","message":"=== End of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:22.267Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:22.267Z","priority":"6","pid":"2830187","message":" 16:24:22.105026 ====> Client connect"}

data: {"time":"2026-09-19T16:24:22.267Z","priority":"6","pid":"2830187","message":" 16:24:22.105517 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:22.268Z","priority":"6","pid":"2830187","message":" 16:24:22.105545 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:22.268Z","priority":"6","pid":"2830187","message":" 16:24:22.105566 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:22.269Z","priority":"6","pid":"2830187","message":" 16:24:22.105576 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.269Z","priority":"6","pid":"2830187","message":" 16:24:22.105584 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.270Z","priority":"6","pid":"2830187","message":" 16:24:22.105769 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:22.270Z","priority":"6","pid":"2830187","message":" 16:24:22.105782 'EHLO verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.270Z","priority":"6","pid":"2830187","message":" 16:24:22.105976 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:22.271Z","priority":"6","pid":"2830187","message":" 16:24:22.105990 > 53 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:22.271Z","priority":"6","pid":"2830187","message":" 16:24:22.106007 '250 ESMTP pingpong test server Hello verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.272Z","priority":"6","pid":"2830187","message":" 16:24:22.106128 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:22.272Z","priority":"6","pid":"2830187","message":" 16:24:22.106142 'HELP\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.272Z","priority":"6","pid":"2830187","message":" 16:24:22.106357 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:22.272Z","priority":"6","pid":"2830187","message":" 16:24:22.106370 > 22 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:22.273Z","priority":"6","pid":"2830187","message":" 16:24:22.106379 '214 WE ROOLZ: 112484\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.273Z","priority":"6","pid":"2830187","message":" 16:24:22.106614 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:22.273Z","priority":"6","pid":"2830187","message":" 16:24:22.106639 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.274Z","priority":"6","pid":"2830187","message":" 16:24:22.106828 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:22.274Z","priority":"6","pid":"2830187","message":" 16:24:22.106844 > 35 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:22.274Z","priority":"6","pid":"2830187","message":" 16:24:22.106858 '221 curl ESMTP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.275Z","priority":"6","pid":"2830187","message":" 16:24:22.107265 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:22.275Z","priority":"6","pid":"2830187","message":" 16:24:22.107352 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:22.275Z","priority":"6","pid":"2830187","message":"=== End of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:22.276Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-3002"}

data: {"time":"2026-09-19T16:24:22.276Z","priority":"6","pid":"2830187","message":" From: different"}

data: {"time":"2026-09-19T16:24:22.276Z","priority":"6","pid":"2830187","message":" To: another"}

data: {"time":"2026-09-19T16:24:22.276Z","priority":"6","pid":"2830187","message":" body"}

data: {"time":"2026-09-19T16:24:22.277Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-3002"}

data: {"time":"2026-09-19T16:24:22.277Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3002"}

data: {"time":"2026-09-19T16:24:22.277Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:22.278Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:22.278Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:22.278Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.279Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:22.279Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:22.279Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:22.280Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:22.501Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with sonameCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3003 ../src/curl -q --output log/curl3003.out  --include --trace-ascii log/trace3003 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3003 > log/stdout3003 2> log/stderr3003"}

data: {"time":"2026-09-19T16:24:22.720Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3004 ../src/curl -q --output log/curl3004.out  --include --trace-ascii log/trace3004 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3004 > log/stdout3004 2> log/stderr3004"}

data: {"time":"2026-09-19T16:24:22.725Z","priority":"6","pid":"2830187","message":": ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:22.725Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.725Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:22.725Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:22.727Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:22.727Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:22.728Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:22.728Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:22.728Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:22.729Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.729Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:22.730Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:22.730Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.730Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:22.730Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:22.730Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:22.731Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.731Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:22.731Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3002"}

data: {"time":"2026-09-19T16:24:22.731Z","priority":"6","pid":"2830187","message":"test 3003 [SMTP invalid (last) --mail-rcpt and --mail-rcpt-allowfails]"}

data: {"time":"2026-09-19T16:24:22.733Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3003 ../src/curl -q --output log/curl3003.out  --include --trace-ascii log/trace3003 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3003 > log/stdout3003 2> log/stderr3003"}

data: {"time":"2026-09-19T16:24:22.734Z","priority":"6","pid":"2830187","message":" 3003: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:22.734Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:22.734Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:22.735Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3003"}

data: {"time":"2026-09-19T16:24:22.735Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:22.737Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3003 ../src/curl -q --output log/curl3003.out  --include --trace-ascii log/trace3003 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3003 > log/stdout3003 2> log/stderr3003"}

data: {"time":"2026-09-19T16:24:22.737Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:22.737Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.738Z","priority":"6","pid":"2830187","message":" Testnum 3003"}

data: {"time":"2026-09-19T16:24:22.738Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.738Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:22.738Z","priority":"6","pid":"2830187","message":" 16:24:22.320239 ====> Client connect"}

data: {"time":"2026-09-19T16:24:22.738Z","priority":"6","pid":"2830187","message":" 16:24:22.320698 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.739Z","priority":"6","pid":"2830187","message":" 16:24:22.321119 < \"EHLO verifiedserver\""}

data: {"time":"2026-09-19T16:24:22.739Z","priority":"6","pid":"2830187","message":" 16:24:22.321202 > \"250 ESMTP pingpong test server Hello verifiedserver[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.739Z","priority":"6","pid":"2830187","message":" 16:24:22.321574 < \"HELP\""}

data: {"time":"2026-09-19T16:24:22.739Z","priority":"6","pid":"2830187","message":" 16:24:22.321627 > \"214 WE ROOLZ: 112484[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.740Z","priority":"6","pid":"2830187","message":" 16:24:22.321648 return proof we are we"}

data: {"time":"2026-09-19T16:24:22.740Z","priority":"6","pid":"2830187","message":" 16:24:22.322048 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:22.740Z","priority":"6","pid":"2830187","message":" 16:24:22.322088 > \"221 curl ESMTP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.740Z","priority":"6","pid":"2830187","message":" 16:24:22.322433 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:22.741Z","priority":"6","pid":"2830187","message":" 16:24:22.322475 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:22.741Z","priority":"6","pid":"2830187","message":" 16:24:22.322569 Awaiting input"}

data: {"time":"2026-09-19T16:24:22.741Z","priority":"6","pid":"2830187","message":"=== End of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:22.741Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:22.741Z","priority":"6","pid":"2830187","message":" 16:24:22.378953 ====> Client connect"}

data: {"time":"2026-09-19T16:24:22.742Z","priority":"6","pid":"2830187","message":" 16:24:22.379485 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:22.742Z","priority":"6","pid":"2830187","message":" 16:24:22.379527 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:22.742Z","priority":"6","pid":"2830187","message":" 16:24:22.379643 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:22.743Z","priority":"6","pid":"2830187","message":" 16:24:22.379661 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.743Z","priority":"6","pid":"2830187","message":" 16:24:22.379673 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.743Z","priority":"6","pid":"2830187","message":" 16:24:22.379807 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:22.744Z","priority":"6","pid":"2830187","message":" 16:24:22.379823 'EHLO verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.744Z","priority":"6","pid":"2830187","message":" 16:24:22.380129 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:22.744Z","priority":"6","pid":"2830187","message":" 16:24:22.380152 > 53 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:22.744Z","priority":"6","pid":"2830187","message":" 16:24:22.380170 '250 ESMTP pingpong test server Hello verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.745Z","priority":"6","pid":"2830187","message":" 16:24:22.380306 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:22.745Z","priority":"6","pid":"2830187","message":" 16:24:22.380321 'HELP\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.745Z","priority":"6","pid":"2830187","message":" 16:24:22.380556 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:22.745Z","priority":"6","pid":"2830187","message":" 16:24:22.380571 > 22 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:22.746Z","priority":"6","pid":"2830187","message":" 16:24:22.380583 '214 WE ROOLZ: 112484\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.746Z","priority":"6","pid":"2830187","message":" 16:24:22.380780 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:22.746Z","priority":"6","pid":"2830187","message":" 16:24:22.380826 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.747Z","priority":"6","pid":"2830187","message":" 16:24:22.381016 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:22.747Z","priority":"6","pid":"2830187","message":" 16:24:22.381037 > 35 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:22.748Z","priority":"6","pid":"2830187","message":" 16:24:22.381054 '221 curl ESMTP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:22.748Z","priority":"6","pid":"2830187","message":" 16:24:22.381274 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:22.748Z","priority":"6","pid":"2830187","message":" 16:24:22.382079 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:22.748Z","priority":"6","pid":"2830187","message":"=== End of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:22.748Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-3003"}

data: {"time":"2026-09-19T16:24:22.748Z","priority":"6","pid":"2830187","message":" From: different"}

data: {"time":"2026-09-19T16:24:22.748Z","priority":"6","pid":"2830187","message":" To: another"}

data: {"time":"2026-09-19T16:24:22.748Z","priority":"6","pid":"2830187","message":" body"}

data: {"time":"2026-09-19T16:24:22.749Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-3003"}

data: {"time":"2026-09-19T16:24:22.749Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3003"}

data: {"time":"2026-09-19T16:24:22.750Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:22.750Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:22.750Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:22.750Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.750Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:22.751Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:22.751Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:22.751Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:22.752Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:22.752Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.753Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:22.755Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:22.755Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:22.755Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:22.756Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:22.756Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:22.757Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:22.758Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.758Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:22.759Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:22.760Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.760Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:22.761Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:22.761Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:22.763Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:22.763Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:22.763Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3003"}

data: {"time":"2026-09-19T16:24:22.764Z","priority":"6","pid":"2830187","message":"test 3004 [SMTP invalid (middle) --mail-rcpt and --mail-rcpt-allowfails]"}

data: {"time":"2026-09-19T16:24:22.769Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3004 ../src/curl -q --output log/curl3004.out  --include --trace-ascii log/trace3004 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3004 > log/stdout3004 2> log/stderr3004"}

data: {"time":"2026-09-19T16:24:22.769Z","priority":"6","pid":"2830187","message":" 3004: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:22.770Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:22.770Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:22.771Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3004"}

data: {"time":"2026-09-19T16:24:22.771Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:22.773Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3004 ../src/curl -q --output log/curl3004.out  --include --trace-ascii log/trace3004 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3004 > log/stdout3004 2> log/stderr3004"}

data: {"time":"2026-09-19T16:24:22.774Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:22.774Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.774Z","priority":"6","pid":"2830187","message":" Testnum 3004"}

data: {"time":"2026-09-19T16:24:22.774Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:22.775Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:22.775Z","priority":"6","pid":"2830187","message":" 16:24:22.552186 ====> Client connect"}

data: {"time":"2026-09-19T16:24:22.776Z","priority":"6","pid":"2830187","message":" 16:24:22.552914 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.776Z","priority":"6","pid":"2830187","message":" 16:24:22.553121 < \"EHLO verifiedserver\""}

data: {"time":"2026-09-19T16:24:22.777Z","priority":"6","pid":"2830187","message":" 16:24:22.553383 > \"250 ESMTP pingpong test server Hello verifiedserver[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.777Z","priority":"6","pid":"2830187","message":" 16:24:22.553620 < \"HELP\""}

data: {"time":"2026-09-19T16:24:22.777Z","priority":"6","pid":"2830187","message":" 16:24:22.553668 > \"214 WE ROOLZ: 112484[CR][LF]\""}

data: {"time":"2026-09-19T16:24:22.777Z","priority":"6","pid":"2830187","message":" 16:24:22.553689 return proof we are we"}

data: {"time":"2026-09-19T16:24:22.778Z","priority":"6","pid":"2830187","message":" 16:24:22.554124 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:22.991Z","priority":"6","pid":"2830187","message":" 16:24:22.554169 > \"221 curl ESMTP server siCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3005 ../src/curl -q --output log/curl3005.out  --include --trace-ascii log/trace3005 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3005 > log/stdout3005 2> log/stderr3005"}

data: {"time":"2026-09-19T16:24:23.182Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3006 ../src/curl -q --output log/curl3006.out  --include --trace-ascii log/trace3006 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3006 > log/stdout3006 2> log/stderr3006"}

data: {"time":"2026-09-19T16:24:23.185Z","priority":"6","pid":"2830187","message":"gning off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.186Z","priority":"6","pid":"2830187","message":" 16:24:22.555131 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:23.186Z","priority":"6","pid":"2830187","message":" 16:24:22.555261 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:23.186Z","priority":"6","pid":"2830187","message":" 16:24:22.555459 Awaiting input"}

data: {"time":"2026-09-19T16:24:23.187Z","priority":"6","pid":"2830187","message":"=== End of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:23.187Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:23.187Z","priority":"6","pid":"2830187","message":" 16:24:22.610871 ====> Client connect"}

data: {"time":"2026-09-19T16:24:23.187Z","priority":"6","pid":"2830187","message":" 16:24:22.611486 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.188Z","priority":"6","pid":"2830187","message":" 16:24:22.611524 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.188Z","priority":"6","pid":"2830187","message":" 16:24:22.611559 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:23.189Z","priority":"6","pid":"2830187","message":" 16:24:22.611576 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.189Z","priority":"6","pid":"2830187","message":" 16:24:22.611587 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.190Z","priority":"6","pid":"2830187","message":" 16:24:22.611716 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.190Z","priority":"6","pid":"2830187","message":" 16:24:22.611733 'EHLO verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.190Z","priority":"6","pid":"2830187","message":" 16:24:22.612057 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.191Z","priority":"6","pid":"2830187","message":" 16:24:22.612078 > 53 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.191Z","priority":"6","pid":"2830187","message":" 16:24:22.612126 '250 ESMTP pingpong test server Hello verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.191Z","priority":"6","pid":"2830187","message":" 16:24:22.612355 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.192Z","priority":"6","pid":"2830187","message":" 16:24:22.612373 'HELP\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.192Z","priority":"6","pid":"2830187","message":" 16:24:22.612593 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.192Z","priority":"6","pid":"2830187","message":" 16:24:22.612611 > 22 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.193Z","priority":"6","pid":"2830187","message":" 16:24:22.612622 '214 WE ROOLZ: 112484\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.193Z","priority":"6","pid":"2830187","message":" 16:24:22.612871 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.193Z","priority":"6","pid":"2830187","message":" 16:24:22.612893 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.193Z","priority":"6","pid":"2830187","message":" 16:24:22.613086 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.194Z","priority":"6","pid":"2830187","message":" 16:24:22.613104 > 35 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.194Z","priority":"6","pid":"2830187","message":" 16:24:22.613140 '221 curl ESMTP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.194Z","priority":"6","pid":"2830187","message":" 16:24:22.613953 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:23.195Z","priority":"6","pid":"2830187","message":" 16:24:22.614057 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:23.195Z","priority":"6","pid":"2830187","message":"=== End of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:23.195Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-3004"}

data: {"time":"2026-09-19T16:24:23.196Z","priority":"6","pid":"2830187","message":" From: different"}

data: {"time":"2026-09-19T16:24:23.196Z","priority":"6","pid":"2830187","message":" To: another"}

data: {"time":"2026-09-19T16:24:23.197Z","priority":"6","pid":"2830187","message":" body"}

data: {"time":"2026-09-19T16:24:23.197Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-3004"}

data: {"time":"2026-09-19T16:24:23.197Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3004"}

data: {"time":"2026-09-19T16:24:23.197Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:23.197Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:23.197Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:23.198Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.198Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:23.198Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:23.199Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.199Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:23.199Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.199Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.199Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:23.200Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:23.201Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:23.201Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:23.201Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:23.201Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:23.202Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:23.202Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.202Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:23.203Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:23.203Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.203Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:23.204Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:23.204Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:23.204Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.205Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:23.205Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3004"}

data: {"time":"2026-09-19T16:24:23.206Z","priority":"6","pid":"2830187","message":"test 3005 [SMTP invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails]"}

data: {"time":"2026-09-19T16:24:23.208Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3005 ../src/curl -q --output log/curl3005.out  --include --trace-ascii log/trace3005 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3005 > log/stdout3005 2> log/stderr3005"}

data: {"time":"2026-09-19T16:24:23.208Z","priority":"6","pid":"2830187","message":" 3005: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:23.209Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:23.209Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:23.209Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3005"}

data: {"time":"2026-09-19T16:24:23.210Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:23.212Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3005 ../src/curl -q --output log/curl3005.out  --include --trace-ascii log/trace3005 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3005 > log/stdout3005 2> log/stderr3005"}

data: {"time":"2026-09-19T16:24:23.213Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:23.213Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.213Z","priority":"6","pid":"2830187","message":" Testnum 3005"}

data: {"time":"2026-09-19T16:24:23.214Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.214Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:23.214Z","priority":"6","pid":"2830187","message":" 16:24:22.814244 ====> Client connect"}

data: {"time":"2026-09-19T16:24:23.215Z","priority":"6","pid":"2830187","message":" 16:24:22.814935 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.216Z","priority":"6","pid":"2830187","message":" 16:24:22.815171 < \"EHLO verifiedserver\""}

data: {"time":"2026-09-19T16:24:23.216Z","priority":"6","pid":"2830187","message":" 16:24:22.815324 > \"250 ESMTP pingpong test server Hello verifiedserver[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.216Z","priority":"6","pid":"2830187","message":" 16:24:22.815598 < \"HELP\""}

data: {"time":"2026-09-19T16:24:23.218Z","priority":"6","pid":"2830187","message":" 16:24:22.815645 > \"214 WE ROOLZ: 112484[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.218Z","priority":"6","pid":"2830187","message":" 16:24:22.815667 return proof we are we"}

data: {"time":"2026-09-19T16:24:23.218Z","priority":"6","pid":"2830187","message":" 16:24:22.816031 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:23.220Z","priority":"6","pid":"2830187","message":" 16:24:22.816114 > \"221 curl ESMTP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.220Z","priority":"6","pid":"2830187","message":" 16:24:22.816413 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:23.220Z","priority":"6","pid":"2830187","message":" 16:24:22.817111 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:23.220Z","priority":"6","pid":"2830187","message":" 16:24:22.817255 Awaiting input"}

data: {"time":"2026-09-19T16:24:23.221Z","priority":"6","pid":"2830187","message":"=== End of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:23.221Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:23.222Z","priority":"6","pid":"2830187","message":" 16:24:22.872906 ====> Client connect"}

data: {"time":"2026-09-19T16:24:23.223Z","priority":"6","pid":"2830187","message":" 16:24:22.873426 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.224Z","priority":"6","pid":"2830187","message":" 16:24:22.873454 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.226Z","priority":"6","pid":"2830187","message":" 16:24:22.873582 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:23.226Z","priority":"6","pid":"2830187","message":" 16:24:22.873611 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.226Z","priority":"6","pid":"2830187","message":" 16:24:22.873624 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.226Z","priority":"6","pid":"2830187","message":" 16:24:22.873736 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.227Z","priority":"6","pid":"2830187","message":" 16:24:22.873769 'EHLO verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.229Z","priority":"6","pid":"2830187","message":" 16:24:22.874109 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.229Z","priority":"6","pid":"2830187","message":" 16:24:22.874128 > 53 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.230Z","priority":"6","pid":"2830187","message":" 16:24:22.874153 '250 ESMTP pingpong test server Hello verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.230Z","priority":"6","pid":"2830187","message":" 16:24:22.874343 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.230Z","priority":"6","pid":"2830187","message":" 16:24:22.874360 'HELP\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.231Z","priority":"6","pid":"2830187","message":" 16:24:22.874567 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.231Z","priority":"6","pid":"2830187","message":" 16:24:22.874581 > 22 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.232Z","priority":"6","pid":"2830187","message":" 16:24:22.874593 '214 WE ROOLZ: 112484\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.233Z","priority":"6","pid":"2830187","message":" 16:24:22.874745 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.233Z","priority":"6","pid":"2830187","message":" 16:24:22.874760 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.233Z","priority":"6","pid":"2830187","message":" 16:24:22.874948 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.234Z","priority":"6","pid":"2830187","message":" 16:24:22.874964 > 35 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.235Z","priority":"6","pid":"2830187","message":" 16:24:22.875017 '221 curl ESMTP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.235Z","priority":"6","pid":"2830187","message":" 16:24:22.875243 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:23.236Z","priority":"6","pid":"2830187","message":" 16:24:22.875337 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:23.236Z","priority":"6","pid":"2830187","message":"=== End of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:23.236Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-3005"}

data: {"time":"2026-09-19T16:24:23.236Z","priority":"6","pid":"2830187","message":" From: different"}

data: {"time":"2026-09-19T16:24:23.236Z","priority":"6","pid":"2830187","message":" To: another"}

data: {"time":"2026-09-19T16:24:23.236Z","priority":"6","pid":"2830187","message":" body"}

data: {"time":"2026-09-19T16:24:23.237Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-3005"}

data: {"time":"2026-09-19T16:24:23.237Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3005"}

data: {"time":"2026-09-19T16:24:23.237Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:23.238Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:23.238Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:23.238Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.238Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:23.239Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:23.239Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.239Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:23.240Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.240Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.240Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:23.241Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:23.242Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:23.242Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:23.242Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:23.242Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:23.243Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:23.243Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.243Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:23.244Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:23.244Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.244Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:23.245Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:23.245Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:23.245Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.245Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:23.246Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3005"}

data: {"time":"2026-09-19T16:24:23.246Z","priority":"6","pid":"2830187","message":"test 3006 [SMTP invalid (all) --mail-rcpt and --mail-rcpt-allowfails]"}

data: {"time":"2026-09-19T16:24:23.427Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3006 ../src/curl -q --output log/curlCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3007 ../src/curl -q --output log/curl3007.out  --include --trace-ascii log/trace3007 --trace-time smtp://127.0.0.1:34199/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - <log/stdin-for-3007 > log/stdout3007 2> log/stderr3007"}

data: {"time":"2026-09-19T16:24:23.432Z","priority":"6","pid":"2830187","message":"3006.out  --include --trace-ascii log/trace3006 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3006 > log/stdout3006 2> log/stderr3006"}

data: {"time":"2026-09-19T16:24:23.433Z","priority":"6","pid":"2830187","message":" 3006: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:23.433Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:23.433Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:23.434Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3006"}

data: {"time":"2026-09-19T16:24:23.434Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:23.436Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3006 ../src/curl -q --output log/curl3006.out  --include --trace-ascii log/trace3006 --trace-time smtp://127.0.0.1:34199/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/stdin-for-3006 > log/stdout3006 2> log/stderr3006"}

data: {"time":"2026-09-19T16:24:23.437Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:23.437Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.437Z","priority":"6","pid":"2830187","message":" Testnum 3006"}

data: {"time":"2026-09-19T16:24:23.437Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.437Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:23.439Z","priority":"6","pid":"2830187","message":" 16:24:23.026934 ====> Client connect"}

data: {"time":"2026-09-19T16:24:23.440Z","priority":"6","pid":"2830187","message":" 16:24:23.027184 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.440Z","priority":"6","pid":"2830187","message":" 16:24:23.027826 < \"EHLO verifiedserver\""}

data: {"time":"2026-09-19T16:24:23.441Z","priority":"6","pid":"2830187","message":" 16:24:23.027898 > \"250 ESMTP pingpong test server Hello verifiedserver[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.442Z","priority":"6","pid":"2830187","message":" 16:24:23.028197 < \"HELP\""}

data: {"time":"2026-09-19T16:24:23.442Z","priority":"6","pid":"2830187","message":" 16:24:23.028263 > \"214 WE ROOLZ: 112484[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.443Z","priority":"6","pid":"2830187","message":" 16:24:23.028293 return proof we are we"}

data: {"time":"2026-09-19T16:24:23.443Z","priority":"6","pid":"2830187","message":" 16:24:23.028702 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:23.444Z","priority":"6","pid":"2830187","message":" 16:24:23.028745 > \"221 curl ESMTP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.446Z","priority":"6","pid":"2830187","message":" 16:24:23.029412 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:23.447Z","priority":"6","pid":"2830187","message":" 16:24:23.029516 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:23.447Z","priority":"6","pid":"2830187","message":" 16:24:23.029623 Awaiting input"}

data: {"time":"2026-09-19T16:24:23.447Z","priority":"6","pid":"2830187","message":"=== End of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:23.447Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:23.447Z","priority":"6","pid":"2830187","message":" 16:24:23.085651 ====> Client connect"}

data: {"time":"2026-09-19T16:24:23.447Z","priority":"6","pid":"2830187","message":" 16:24:23.086187 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.447Z","priority":"6","pid":"2830187","message":" 16:24:23.086247 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.450Z","priority":"6","pid":"2830187","message":" 16:24:23.086264 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:23.450Z","priority":"6","pid":"2830187","message":" 16:24:23.086279 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.452Z","priority":"6","pid":"2830187","message":" 16:24:23.086291 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.452Z","priority":"6","pid":"2830187","message":" 16:24:23.086402 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.452Z","priority":"6","pid":"2830187","message":" 16:24:23.086417 'EHLO verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.454Z","priority":"6","pid":"2830187","message":" 16:24:23.086808 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.454Z","priority":"6","pid":"2830187","message":" 16:24:23.086826 > 53 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.454Z","priority":"6","pid":"2830187","message":" 16:24:23.086841 '250 ESMTP pingpong test server Hello verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.454Z","priority":"6","pid":"2830187","message":" 16:24:23.086928 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.454Z","priority":"6","pid":"2830187","message":" 16:24:23.086945 'HELP\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.455Z","priority":"6","pid":"2830187","message":" 16:24:23.087196 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.456Z","priority":"6","pid":"2830187","message":" 16:24:23.087255 > 22 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.459Z","priority":"6","pid":"2830187","message":" 16:24:23.087268 '214 WE ROOLZ: 112484\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.459Z","priority":"6","pid":"2830187","message":" 16:24:23.087464 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.460Z","priority":"6","pid":"2830187","message":" 16:24:23.087483 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.461Z","priority":"6","pid":"2830187","message":" 16:24:23.087655 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.463Z","priority":"6","pid":"2830187","message":" 16:24:23.087671 > 35 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.463Z","priority":"6","pid":"2830187","message":" 16:24:23.087684 '221 curl ESMTP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.466Z","priority":"6","pid":"2830187","message":" 16:24:23.088240 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:23.466Z","priority":"6","pid":"2830187","message":" 16:24:23.088327 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:23.466Z","priority":"6","pid":"2830187","message":"=== End of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:23.466Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-3006"}

data: {"time":"2026-09-19T16:24:23.466Z","priority":"6","pid":"2830187","message":" From: different"}

data: {"time":"2026-09-19T16:24:23.467Z","priority":"6","pid":"2830187","message":" To: another"}

data: {"time":"2026-09-19T16:24:23.467Z","priority":"6","pid":"2830187","message":" body"}

data: {"time":"2026-09-19T16:24:23.467Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-3006"}

data: {"time":"2026-09-19T16:24:23.467Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3006"}

data: {"time":"2026-09-19T16:24:23.468Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:23.468Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:23.468Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:23.468Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.469Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:23.469Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:23.470Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.470Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:23.470Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.470Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.471Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:23.471Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:23.471Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:23.472Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:23.472Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:23.472Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:23.473Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:23.473Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.473Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:23.474Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:23.474Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.474Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:23.474Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:23.475Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:23.475Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.475Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:23.476Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3006"}

data: {"time":"2026-09-19T16:24:23.476Z","priority":"6","pid":"2830187","message":"test 3007 [SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails]"}

data: {"time":"2026-09-19T16:24:23.478Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3007 ../src/curl -q --output log/curl3007.out  --include --trace-ascii log/trace3007 --trace-time smtp://127.0.0.1:34199/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - <log/stdin-for-3007 > log/stdout3007 2> log/stderr3007"}

data: {"time":"2026-09-19T16:24:23.478Z","priority":"6","pid":"2830187","message":" 3007: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:23.478Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:23.479Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:23.479Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3007"}

data: {"time":"2026-09-19T16:24:23.479Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:23.481Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3007 ../src/curl -q --output log/curl3007.out  --include --trace-ascii log/trace3007 --trace-time smtp://127.0.0.1:34199/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - <log/stdin-for-3007 > log/stdout3007 2> log/stderr3007"}

data: {"time":"2026-09-19T16:24:23.482Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:23.482Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.482Z","priority":"6","pid":"2830187","message":" Testnum 3007"}

data: {"time":"2026-09-19T16:24:23.482Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.483Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:23.483Z","priority":"6","pid":"2830187","message":" 16:24:23.283435 ====> Client connect"}

data: {"time":"2026-09-19T16:24:23.483Z","priority":"6","pid":"2830187","message":" 16:24:23.284031 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.484Z","priority":"6","pid":"2830187","message":" 16:24:23.284237 < \"EHLO verifiedserver\""}

data: {"time":"2026-09-19T16:24:23.484Z","priority":"6","pid":"2830187","message":" 16:24:23.284295 > \"250 ESMTP pingpong test server Hello verifiedserver[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.484Z","priority":"6","pid":"2830187","message":" 16:24:23.284645 < \"HELP\""}

data: {"time":"2026-09-19T16:24:23.485Z","priority":"6","pid":"2830187","message":" 16:24:23.284708 > \"214 WE ROOLZ: 112484[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.485Z","priority":"6","pid":"2830187","message":" 16:24:23.284732 return proof we are we"}

data: {"time":"2026-09-19T16:24:23.485Z","priority":"6","pid":"2830187","message":" 16:24:23.285159 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:23.486Z","priority":"6","pid":"2830187","message":" 16:24:23.285291 > \"221 curl ESMTP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:23.486Z","priority":"6","pid":"2830187","message":" 16:24:23.286114 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:23.486Z","priority":"6","pid":"2830187","message":" 16:24:23.286183 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:23.487Z","priority":"6","pid":"2830187","message":" 16:24:23.286287 Awaiting input"}

data: {"time":"2026-09-19T16:24:23.487Z","priority":"6","pid":"2830187","message":"=== End of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:23.487Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:23.487Z","priority":"6","pid":"2830187","message":" 16:24:23.342100 ====> Client connect"}

data: {"time":"2026-09-19T16:24:23.488Z","priority":"6","pid":"2830187","message":" 16:24:23.342549 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.488Z","priority":"6","pid":"2830187","message":" 16:24:23.342576 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.489Z","priority":"6","pid":"2830187","message":" 16:24:23.342671 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:23.489Z","priority":"6","pid":"2830187","message":" 16:24:23.342687 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.490Z","priority":"6","pid":"2830187","message":" 16:24:23.342695 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.490Z","priority":"6","pid":"2830187","message":" 16:24:23.342836 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.490Z","priority":"6","pid":"2830187","message":" 16:24:23.342855 'EHLO verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.491Z","priority":"6","pid":"2830187","message":" 16:24:23.343272 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.491Z","priority":"6","pid":"2830187","message":" 16:24:23.343292 > 53 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.492Z","priority":"6","pid":"2830187","message":" 16:24:23.343308 '250 ESMTP pingpong test server Hello verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.492Z","priority":"6","pid":"2830187","message":" 16:24:23.343395 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.492Z","priority":"6","pid":"2830187","message":" 16:24:23.343408 'HELP\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.492Z","priority":"6","pid":"2830187","message":" 16:24:23.343635 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.493Z","priority":"6","pid":"2830187","message":" 16:24:23.343658 > 22 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.493Z","priority":"6","pid":"2830187","message":" 16:24:23.343674 '214 WE ROOLZ: 112484\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.493Z","priority":"6","pid":"2830187","message":" 16:24:23.343881 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:23.493Z","priority":"6","pid":"2830187","message":" 16:24:23.343913 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.494Z","priority":"6","pid":"2830187","message":" 16:24:23.344074 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:23.494Z","priority":"6","pid":"2830187","message":" 16:24:23.344093 > 35 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:23.494Z","priority":"6","pid":"2830187","message":" 16:24:23.344116 '221 curl ESMTP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:23.494Z","priority":"6","pid":"2830187","message":" 16:24:23.344243 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:23.495Z","priority":"6","pid":"2830187","message":" 16:24:23.345188 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:23.495Z","priority":"6","pid":"2830187","message":"=== End of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:23.495Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-3007"}

data: {"time":"2026-09-19T16:24:23.495Z","priority":"6","pid":"2830187","message":" From: different"}

data: {"time":"2026-09-19T16:24:23.496Z","priority":"6","pid":"2830187","message":" To: another"}

data: {"time":"2026-09-19T16:24:23.496Z","priority":"6","pid":"2830187","message":" body"}

data: {"time":"2026-09-19T16:24:23.496Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-3007"}

data: {"time":"2026-09-19T16:24:23.497Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3007"}

data: {"time":"2026-09-19T16:24:23.497Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:23.497Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:23.688Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set upCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3008 ../src/curl -q --trace-ascii log/trace3008 --trace-time http://127.0.0.1:39689/this/is/the/3008 -O --output-dir /build/curl/src/build-curl/tests/log > log/stdout3008 2> log/stderr3008"}

data: {"time":"2026-09-19T16:24:23.888Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3009 ../src/curl -q --trace-ascii log/trace3009 --trace-time http://127.0.0.1:39689/this/is/the/3009 -O --output-dir /build/curl/src/build-curl/tests/not-there > log/stdout3009 2> log/stderr3009"}

data: {"time":"2026-09-19T16:24:23.893Z","priority":"6","pid":"2830187","message":".  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:23.893Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.893Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:23.894Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:23.894Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.894Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:23.895Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.895Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.895Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:23.896Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:23.896Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:23.896Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:23.897Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:23.897Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:23.897Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:23.897Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.898Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:23.898Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:23.898Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.899Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:23.899Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:23.899Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:23.900Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.900Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:23.900Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3007"}

data: {"time":"2026-09-19T16:24:23.900Z","priority":"6","pid":"2830187","message":"test 3008 [--output-dir]"}

data: {"time":"2026-09-19T16:24:23.902Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3008 ../src/curl -q --trace-ascii log/trace3008 --trace-time http://127.0.0.1:39689/this/is/the/3008 -O --output-dir /build/curl/src/build-curl/tests/log > log/stdout3008 2> log/stderr3008"}

data: {"time":"2026-09-19T16:24:23.902Z","priority":"6","pid":"2830187","message":" 3008: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:23.902Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:23.903Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:23.903Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3008"}

data: {"time":"2026-09-19T16:24:23.903Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:23.904Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3008 ../src/curl -q --trace-ascii log/trace3008 --trace-time http://127.0.0.1:39689/this/is/the/3008 -O --output-dir /build/curl/src/build-curl/tests/log > log/stdout3008 2> log/stderr3008"}

data: {"time":"2026-09-19T16:24:23.905Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:23.905Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:23.906Z","priority":"6","pid":"2830187","message":" 16:24:23.590843 ====> Client connect"}

data: {"time":"2026-09-19T16:24:23.906Z","priority":"6","pid":"2830187","message":" 16:24:23.590886 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:23.906Z","priority":"6","pid":"2830187","message":" 16:24:23.591018 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:23.906Z","priority":"6","pid":"2830187","message":" 16:24:23.591036 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:23.907Z","priority":"6","pid":"2830187","message":" 16:24:23.591062 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:23.907Z","priority":"6","pid":"2830187","message":" 16:24:23.591075 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:23.907Z","priority":"6","pid":"2830187","message":" 16:24:23.591118 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:23.908Z","priority":"6","pid":"2830187","message":" 16:24:23.591136 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:23.909Z","priority":"6","pid":"2830187","message":" 16:24:23.591185 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:23.909Z","priority":"6","pid":"2830187","message":" 16:24:23.591194 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:23.909Z","priority":"6","pid":"2830187","message":" 16:24:23.591227 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:23.909Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:23.909Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:23.909Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:23.910Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55628"}

data: {"time":"2026-09-19T16:24:23.910Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:23.910Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:23.911Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:23.911Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:23.911Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:23.911Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:23.911Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:23.911Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:23.911Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:23.912Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:23.912Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:23.912Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:23.912Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:23.912Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:23.913Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:23.913Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:23.913Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.913Z","priority":"6","pid":"2830187","message":" Testnum 3008"}

data: {"time":"2026-09-19T16:24:23.913Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.914Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:23.914Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:23.914Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:23.914Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:23.915Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:23.915Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3008"}

data: {"time":"2026-09-19T16:24:23.915Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:23.915Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:23.916Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:23.916Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.916Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:23.916Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:23.917Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.917Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:23.917Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.918Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.918Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:23.918Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:23.919Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:23.919Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:23.919Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:23.919Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:23.920Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:23.920Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.920Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:23.921Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:23.921Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.921Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:23.922Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:23.922Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:23.922Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.922Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:23.923Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3008"}

data: {"time":"2026-09-19T16:24:23.923Z","priority":"6","pid":"2830187","message":"test 3009 [--output-dir a non-existing directory]"}

data: {"time":"2026-09-19T16:24:23.924Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3009 ../src/curl -q --trace-ascii log/trace3009 --trace-time http://127.0.0.1:39689/this/is/the/3009 -O --output-dir /build/curl/src/build-curl/tests/not-there > log/stdout3009 2> log/stderr3009"}

data: {"time":"2026-09-19T16:24:23.925Z","priority":"6","pid":"2830187","message":" 3009: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:23.925Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:23.925Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:23.926Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3009"}

data: {"time":"2026-09-19T16:24:23.926Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:23.927Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3009 ../src/curl -q --trace-ascii log/trace3009 --trace-time http://127.0.0.1:39689/this/is/the/3009 -O --output-dir /build/curl/src/build-curl/tests/not-there > log/stdout3009 2> log/stderr3009"}

data: {"time":"2026-09-19T16:24:23.928Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:23.928Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:23.929Z","priority":"6","pid":"2830187","message":" 16:24:23.794726 ====> Client connect"}

data: {"time":"2026-09-19T16:24:23.929Z","priority":"6","pid":"2830187","message":" 16:24:23.794786 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:23.929Z","priority":"6","pid":"2830187","message":" 16:24:23.795019 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:23.929Z","priority":"6","pid":"2830187","message":" 16:24:23.795041 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:23.930Z","priority":"6","pid":"2830187","message":" 16:24:23.795058 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:23.930Z","priority":"6","pid":"2830187","message":" 16:24:23.795070 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:23.931Z","priority":"6","pid":"2830187","message":" 16:24:23.795115 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:23.931Z","priority":"6","pid":"2830187","message":" 16:24:23.795140 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:23.931Z","priority":"6","pid":"2830187","message":" 16:24:23.795327 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:23.932Z","priority":"6","pid":"2830187","message":" 16:24:23.795341 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:23.932Z","priority":"6","pid":"2830187","message":" 16:24:23.795351 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:23.932Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:23.933Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:23.933Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:23.933Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55634"}

data: {"time":"2026-09-19T16:24:23.933Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:23.934Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:23.934Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:23.934Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:23.935Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:23.935Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:23.935Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:23.935Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:23.935Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:23.936Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:23.936Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:23.936Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:23.937Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:23.937Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:23.937Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:23.938Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:23.938Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.938Z","priority":"6","pid":"2830187","message":" Testnum 3009"}

data: {"time":"2026-09-19T16:24:23.938Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:23.939Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:23.939Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:23.939Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:23.940Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:23.940Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:23.940Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3009"}

data: {"time":"2026-09-19T16:24:23.940Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:23.942Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:23.942Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:23.946Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.946Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:23.946Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:23.946Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.946Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:23.946Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:23.946Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:23.948Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:23.948Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:24.139Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to pleaseCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:39689/3010 > log/stdout3010 2> log/stderr3010"}

data: {"time":"2026-09-19T16:24:24.142Z","priority":"6","pid":"2830187","message":" in future ship a non-"}

data: {"time":"2026-09-19T16:24:24.143Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:24.143Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:24.144Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:24.144Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:24.144Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.144Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:24.145Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:24.145Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.146Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:24.146Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:24.146Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:24.146Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.147Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:24.147Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3009"}

data: {"time":"2026-09-19T16:24:24.331Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3011 ../src/curl -q --trace-ascii log/trace3011 --trace-time http://127.0.0.1:39689/this/is/the/3011 -O --output-dir /build/curl/src/build-curl/tests/log/tmp --create-dirs > log/stdout3011 2> log/stderr3011"}

data: {"time":"2026-09-19T16:24:24.547Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3012 ../src/curl -q --trace-ascii log/trace3012 --trace-time http://127.0.0.1:39689/this/is/the/3012 -OJR --output-dir /build/curl/src/build-curl/tests/log > log/stdout3012 2> log/stderr3012"}

data: {"time":"2026-09-19T16:24:24.551Z","priority":"6","pid":"2830187","message":"test 3010 [HTTP retry-after reset]"}

data: {"time":"2026-09-19T16:24:24.552Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:39689/3010 > log/stdout3010 2> log/stderr3010"}

data: {"time":"2026-09-19T16:24:24.553Z","priority":"6","pid":"2830187","message":" 3010: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:24.553Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:24.142307952 +0000"}

data: {"time":"2026-09-19T16:24:24.554Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:24.140777199 +0000"}

data: {"time":"2026-09-19T16:24:24.554Z","priority":"6","pid":"2830187","message":"@@ -1,2 +0,0 @@"}

data: {"time":"2026-09-19T16:24:24.554Z","priority":"6","pid":"2830187","message":"-Retry-After 2[LF]"}

data: {"time":"2026-09-19T16:24:24.554Z","priority":"6","pid":"2830187","message":"-Retry-After 0[LF]"}

data: {"time":"2026-09-19T16:24:24.555Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3010"}

data: {"time":"2026-09-19T16:24:24.556Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:24.556Z","priority":"6","pid":"2830187","message":" Retry-After 2[LF]"}

data: {"time":"2026-09-19T16:24:24.556Z","priority":"6","pid":"2830187","message":" Retry-After 0[LF]"}

data: {"time":"2026-09-19T16:24:24.556Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:24.556Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:24.558Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:39689/3010 > log/stdout3010 2> log/stderr3010"}

data: {"time":"2026-09-19T16:24:24.558Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:24.559Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:24.559Z","priority":"6","pid":"2830187","message":" 16:24:24.054138 ====> Client connect"}

data: {"time":"2026-09-19T16:24:24.559Z","priority":"6","pid":"2830187","message":" 16:24:24.054181 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:24.559Z","priority":"6","pid":"2830187","message":" 16:24:24.054237 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:24.559Z","priority":"6","pid":"2830187","message":" 16:24:24.054249 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:24.560Z","priority":"6","pid":"2830187","message":" 16:24:24.054264 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:24.560Z","priority":"6","pid":"2830187","message":" 16:24:24.054274 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:24.560Z","priority":"6","pid":"2830187","message":" 16:24:24.054304 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:24.561Z","priority":"6","pid":"2830187","message":" 16:24:24.054324 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:24.561Z","priority":"6","pid":"2830187","message":" 16:24:24.054410 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:24.562Z","priority":"6","pid":"2830187","message":" 16:24:24.054421 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:24.562Z","priority":"6","pid":"2830187","message":" 16:24:24.054430 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:24.562Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:24.563Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:24.563Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:24.563Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55646"}

data: {"time":"2026-09-19T16:24:24.564Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:24.564Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:24.564Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:24.564Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:24.565Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:24.565Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:24.565Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:24.565Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:24.565Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:24.565Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:24.566Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:24.566Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:24.566Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:24.567Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:24.567Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:24.567Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:24.567Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:24.568Z","priority":"6","pid":"2830187","message":" Testnum 3010"}

data: {"time":"2026-09-19T16:24:24.568Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:24.568Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:24.568Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:24.568Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:24.569Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:24.569Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:24.569Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3010"}

data: {"time":"2026-09-19T16:24:24.569Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:24.570Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:24.570Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:24.571Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.571Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:24.571Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:24.571Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:24.572Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:24.572Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:24.572Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.573Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:24.573Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:24.574Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:24.574Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:24.574Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:24.575Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:24.575Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:24.575Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.576Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:24.576Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:24.576Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.577Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:24.577Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:24.577Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:24.578Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.578Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:24.578Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3010"}

data: {"time":"2026-09-19T16:24:24.578Z","priority":"6","pid":"2830187","message":"test 3011 [--output-dir with --create-dirs]"}

data: {"time":"2026-09-19T16:24:24.580Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3011 ../src/curl -q --trace-ascii log/trace3011 --trace-time http://127.0.0.1:39689/this/is/the/3011 -O --output-dir /build/curl/src/build-curl/tests/log/tmp --create-dirs > log/stdout3011 2> log/stderr3011"}

data: {"time":"2026-09-19T16:24:24.580Z","priority":"6","pid":"2830187","message":" 3011: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:24.581Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:24.581Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:24.582Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3011"}

data: {"time":"2026-09-19T16:24:24.583Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:24.587Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3011 ../src/curl -q --trace-ascii log/trace3011 --trace-time http://127.0.0.1:39689/this/is/the/3011 -O --output-dir /build/curl/src/build-curl/tests/log/tmp --create-dirs > log/stdout3011 2> log/stderr3011"}

data: {"time":"2026-09-19T16:24:24.587Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:24.587Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:24.587Z","priority":"6","pid":"2830187","message":" 16:24:24.246114 ====> Client connect"}

data: {"time":"2026-09-19T16:24:24.588Z","priority":"6","pid":"2830187","message":" 16:24:24.246161 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:24.589Z","priority":"6","pid":"2830187","message":" 16:24:24.246377 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:24.590Z","priority":"6","pid":"2830187","message":" 16:24:24.246395 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:24.590Z","priority":"6","pid":"2830187","message":" 16:24:24.246410 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:24.592Z","priority":"6","pid":"2830187","message":" 16:24:24.246420 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:24.592Z","priority":"6","pid":"2830187","message":" 16:24:24.246456 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:24.592Z","priority":"6","pid":"2830187","message":" 16:24:24.246476 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:24.593Z","priority":"6","pid":"2830187","message":" 16:24:24.246589 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:24.594Z","priority":"6","pid":"2830187","message":" 16:24:24.246601 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:24.596Z","priority":"6","pid":"2830187","message":" 16:24:24.246610 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:24.596Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:24.596Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:24.596Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:24.597Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55660"}

data: {"time":"2026-09-19T16:24:24.597Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:24.597Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:24.598Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:24.599Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:24.600Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:24.600Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:24.600Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:24.600Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:24.600Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:24.601Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:24.601Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:24.602Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:24.602Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:24.602Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:24.602Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:24.603Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:24.603Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:24.603Z","priority":"6","pid":"2830187","message":" Testnum 3011"}

data: {"time":"2026-09-19T16:24:24.603Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:24.604Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:24.605Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:24.605Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:24.605Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:24.605Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:24.605Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3011"}

data: {"time":"2026-09-19T16:24:24.605Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:24.606Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:24.606Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:24.606Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.607Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:24.607Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:24.608Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:24.608Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:24.608Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:24.609Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.609Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:24.609Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:24.610Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:24.610Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:24.611Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:24.611Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:24.611Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:24.612Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.612Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:24.613Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:24.613Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.614Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:24.614Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:24.614Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:24.614Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:24.614Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:24.615Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3011"}

data: {"time":"2026-09-19T16:24:24.615Z","priority":"6","pid":"2830187","message":"test 3012 [--output-dir with -J and -R]"}

data: {"time":"2026-09-19T16:24:24.617Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3012 ../src/curl -q --trace-ascii log/trace3012 --trace-time http://127.0.0.1:39689/this/is/the/3012 -OJR --output-dir /build/curl/src/build-curl/tests/log > log/stdout3012 2> log/stderr3012"}

data: {"time":"2026-09-19T16:24:24.617Z","priority":"6","pid":"2830187","message":" 3012: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:24.618Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:24.618Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:24.845Z","priority":"6","pid":"2830187","message":"=CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3013 ../src/curl -q --trace-ascii log/trace3013 --trace-time http://127.0.0.1:39689/this/is/the/3013 -O --output-dir /build/curl/src/build-curl/tests/log http://127.0.0.1:39689/another/3013 -o second3013 --output-dir /build/curl/src/build-curl/tests/log > log/stdout3013 2> log/stderr3013"}

data: {"time":"2026-09-19T16:24:25.097Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3014 ../src/curl -q --include --trace-ascii log/trace3014 --trace-time http://127.0.0.1:39689/3014 --write-out '%{num_headers}' > log/stdout3014 2> log/stderr3014"}

data: {"time":"2026-09-19T16:24:25.102Z","priority":"6","pid":"2830187","message":"= Contents of files in the log/ directory after test 3012"}

data: {"time":"2026-09-19T16:24:25.103Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:25.104Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3012 ../src/curl -q --trace-ascii log/trace3012 --trace-time http://127.0.0.1:39689/this/is/the/3012 -OJR --output-dir /build/curl/src/build-curl/tests/log > log/stdout3012 2> log/stderr3012"}

data: {"time":"2026-09-19T16:24:25.104Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:25.105Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:25.105Z","priority":"6","pid":"2830187","message":" 16:24:24.450097 ====> Client connect"}

data: {"time":"2026-09-19T16:24:25.105Z","priority":"6","pid":"2830187","message":" 16:24:24.450139 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:25.105Z","priority":"6","pid":"2830187","message":" 16:24:24.450317 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:25.106Z","priority":"6","pid":"2830187","message":" 16:24:24.450332 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:25.106Z","priority":"6","pid":"2830187","message":" 16:24:24.450345 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:25.107Z","priority":"6","pid":"2830187","message":" 16:24:24.450352 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:25.107Z","priority":"6","pid":"2830187","message":" 16:24:24.450381 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:25.107Z","priority":"6","pid":"2830187","message":" 16:24:24.450398 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:25.108Z","priority":"6","pid":"2830187","message":" 16:24:24.450495 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:25.109Z","priority":"6","pid":"2830187","message":" 16:24:24.450505 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:25.109Z","priority":"6","pid":"2830187","message":" 16:24:24.450512 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:25.109Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:25.109Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:25.110Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:25.110Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55666"}

data: {"time":"2026-09-19T16:24:25.110Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:25.111Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:25.111Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:25.111Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:25.111Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:25.111Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:25.112Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:25.112Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:25.112Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:25.112Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:25.112Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:25.113Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:25.113Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:25.113Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:25.113Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:25.114Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:25.114Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.114Z","priority":"6","pid":"2830187","message":" Testnum 3012"}

data: {"time":"2026-09-19T16:24:25.114Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.115Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:25.115Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:25.115Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:25.116Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:25.116Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:25.116Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3012"}

data: {"time":"2026-09-19T16:24:25.116Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:25.116Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:25.117Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:25.117Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.117Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:25.118Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:25.119Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.119Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:25.119Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.119Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.119Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:25.120Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:25.120Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:25.121Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:25.121Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:25.121Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:25.122Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:25.122Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.122Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:25.123Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:25.123Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.123Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:25.124Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:25.124Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:25.124Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.124Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:25.125Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3012"}

data: {"time":"2026-09-19T16:24:25.125Z","priority":"6","pid":"2830187","message":"test 3013 [Two --output-dir with --next in between]"}

data: {"time":"2026-09-19T16:24:25.126Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3013 ../src/curl -q --trace-ascii log/trace3013 --trace-time http://127.0.0.1:39689/this/is/the/3013 -O --output-dir /build/curl/src/build-curl/tests/log http://127.0.0.1:39689/another/3013 -o second3013 --output-dir /build/curl/src/build-curl/tests/log > log/stdout3013 2> log/stderr3013"}

data: {"time":"2026-09-19T16:24:25.127Z","priority":"6","pid":"2830187","message":" 3013: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:25.127Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:25.127Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:25.128Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3013"}

data: {"time":"2026-09-19T16:24:25.128Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:25.130Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3013 ../src/curl -q --trace-ascii log/trace3013 --trace-time http://127.0.0.1:39689/this/is/the/3013 -O --output-dir /build/curl/src/build-curl/tests/log http://127.0.0.1:39689/another/3013 -o second3013 --output-dir /build/curl/src/build-curl/tests/log > log/stdout3013 2> log/stderr3013"}

data: {"time":"2026-09-19T16:24:25.130Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:25.130Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:25.131Z","priority":"6","pid":"2830187","message":" 16:24:24.730578 ====> Client connect"}

data: {"time":"2026-09-19T16:24:25.131Z","priority":"6","pid":"2830187","message":" 16:24:24.730631 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:25.131Z","priority":"6","pid":"2830187","message":" 16:24:24.730775 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:25.132Z","priority":"6","pid":"2830187","message":" 16:24:24.730791 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:25.132Z","priority":"6","pid":"2830187","message":" 16:24:24.730808 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:25.132Z","priority":"6","pid":"2830187","message":" 16:24:24.730818 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:25.133Z","priority":"6","pid":"2830187","message":" 16:24:24.730855 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:25.133Z","priority":"6","pid":"2830187","message":" 16:24:24.730877 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:25.134Z","priority":"6","pid":"2830187","message":" 16:24:24.730939 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:25.134Z","priority":"6","pid":"2830187","message":" 16:24:24.730958 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:25.134Z","priority":"6","pid":"2830187","message":" 16:24:24.730968 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:25.135Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:25.135Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:25.135Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:25.135Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55670"}

data: {"time":"2026-09-19T16:24:25.136Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:25.136Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:25.136Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:25.136Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:25.137Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:25.137Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:25.137Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:25.137Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:25.138Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:25.138Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:25.138Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:25.139Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:25.139Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:25.139Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:25.139Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:25.139Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:25.139Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.140Z","priority":"6","pid":"2830187","message":" Testnum 3013"}

data: {"time":"2026-09-19T16:24:25.140Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.140Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:25.140Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:25.141Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:25.141Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:25.141Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:25.142Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3013"}

data: {"time":"2026-09-19T16:24:25.143Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:25.143Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:25.143Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:25.143Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.143Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:25.144Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:25.144Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.144Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:25.145Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.145Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.146Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:25.146Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:25.147Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:25.148Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:25.148Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:25.148Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:25.148Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:25.149Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.149Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:25.149Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:25.150Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.150Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:25.151Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:25.151Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:25.151Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.152Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:25.152Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3013"}

data: {"time":"2026-09-19T16:24:25.405Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3015 ../src/curl -q --include --trace-ascii log/trace3015 --trace-time http://127.0.0.1:39689/3015 -w \"%{num_headers}\\n\" -L -o/dev/null > log/stdout3015 2> log/stderr3015"}

data: {"time":"2026-09-19T16:24:25.408Z","priority":"6","pid":"2830187","message":"test 3014 [Check if %{num_headers} returns correct number of headers]"}

data: {"time":"2026-09-19T16:24:25.411Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3014 ../src/curl -q --include --trace-ascii log/trace3014 --trace-time http://127.0.0.1:39689/3014 --write-out '%{num_headers}' > log/stdout3014 2> log/stderr3014"}

data: {"time":"2026-09-19T16:24:25.411Z","priority":"6","pid":"2830187","message":" 3014: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:25.411Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:25.101929324 +0000"}

data: {"time":"2026-09-19T16:24:25.411Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:25.101051794 +0000"}

data: {"time":"2026-09-19T16:24:25.412Z","priority":"6","pid":"2830187","message":"@@ -1,8 +0,0 @@"}

data: {"time":"2026-09-19T16:24:25.412Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:24:25.412Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:24:25.412Z","priority":"6","pid":"2830187","message":"-Content-Length: 9[LF]"}

data: {"time":"2026-09-19T16:24:25.413Z","priority":"6","pid":"2830187","message":"-Connection: close[LF]"}

data: {"time":"2026-09-19T16:24:25.413Z","priority":"6","pid":"2830187","message":"-Content-Type: text/plain[LF]"}

data: {"time":"2026-09-19T16:24:25.413Z","priority":"6","pid":"2830187","message":"-[LF]"}

data: {"time":"2026-09-19T16:24:25.414Z","priority":"6","pid":"2830187","message":"-testdata[LF]"}

data: {"time":"2026-09-19T16:24:25.414Z","priority":"6","pid":"2830187","message":"-4"}

data: {"time":"2026-09-19T16:24:25.414Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3014"}

data: {"time":"2026-09-19T16:24:25.415Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:25.415Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:24:25.415Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:24:25.415Z","priority":"6","pid":"2830187","message":" Content-Length: 9[LF]"}

data: {"time":"2026-09-19T16:24:25.416Z","priority":"6","pid":"2830187","message":" Connection: close[LF]"}

data: {"time":"2026-09-19T16:24:25.416Z","priority":"6","pid":"2830187","message":" Content-Type: text/plain[LF]"}

data: {"time":"2026-09-19T16:24:25.416Z","priority":"6","pid":"2830187","message":" [LF]"}

data: {"time":"2026-09-19T16:24:25.416Z","priority":"6","pid":"2830187","message":" testdata[LF]"}

data: {"time":"2026-09-19T16:24:25.417Z","priority":"6","pid":"2830187","message":" 4"}

data: {"time":"2026-09-19T16:24:25.417Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:25.417Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:25.418Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3014 ../src/curl -q --include --trace-ascii log/trace3014 --trace-time http://127.0.0.1:39689/3014 --write-out '%{num_headers}' > log/stdout3014 2> log/stderr3014"}

data: {"time":"2026-09-19T16:24:25.419Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:25.419Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:25.419Z","priority":"6","pid":"2830187","message":" 16:24:24.982994 ====> Client connect"}

data: {"time":"2026-09-19T16:24:25.419Z","priority":"6","pid":"2830187","message":" 16:24:24.983054 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:25.420Z","priority":"6","pid":"2830187","message":" 16:24:24.983253 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:25.420Z","priority":"6","pid":"2830187","message":" 16:24:24.983277 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:25.421Z","priority":"6","pid":"2830187","message":" 16:24:24.983291 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:25.421Z","priority":"6","pid":"2830187","message":" 16:24:24.983302 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:25.422Z","priority":"6","pid":"2830187","message":" 16:24:24.983340 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:25.422Z","priority":"6","pid":"2830187","message":" 16:24:24.983365 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:25.422Z","priority":"6","pid":"2830187","message":" 16:24:24.983435 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:25.423Z","priority":"6","pid":"2830187","message":" 16:24:24.983449 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:25.423Z","priority":"6","pid":"2830187","message":" 16:24:24.983460 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:25.423Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:25.424Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:25.424Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:25.425Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55672"}

data: {"time":"2026-09-19T16:24:25.425Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:25.425Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:25.425Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:25.426Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:25.426Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:25.426Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:25.426Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:25.427Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:25.427Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:25.427Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:25.427Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:25.428Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:25.428Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:25.428Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:25.428Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:25.429Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:25.429Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.429Z","priority":"6","pid":"2830187","message":" Testnum 3014"}

data: {"time":"2026-09-19T16:24:25.430Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.430Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:25.430Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:25.430Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:25.430Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:25.431Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:25.431Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3014"}

data: {"time":"2026-09-19T16:24:25.431Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:25.432Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:25.432Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:25.432Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.433Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:25.433Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:25.433Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.434Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:25.434Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.434Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.435Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:25.435Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:25.435Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:25.436Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:25.436Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:25.437Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:25.437Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:25.438Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.438Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:25.438Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:25.438Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.438Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:25.439Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:25.439Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:25.439Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.440Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:25.440Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3014"}

data: {"time":"2026-09-19T16:24:25.604Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3016 ../src/curl -q --output log/curl3016.out  --include --trace-ascii log/trace3016 --trace-time file:///build/curl/src/build-curl/tests/ > log/stdout3016 2> log/stderr3016"}

data: {"time":"2026-09-19T16:24:25.773Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3017 ../src/curl -q --output log/curl3017.out  --include --trace log/trace3017 --trace-time mqtt://127.0.0.1:43757/3017 -m 3 > log/stdout3017 2> log/stderr3017"}

data: {"time":"2026-09-19T16:24:25.788Z","priority":"6","pid":"2830187","message":"test 3015 [HTTP GET -w num_headers with redirected fetch (2 connects)]"}

data: {"time":"2026-09-19T16:24:25.789Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3015 ../src/curl -q --include --trace-ascii log/trace3015 --trace-time http://127.0.0.1:39689/3015 -w \"%{num_headers}\\n\" -L -o/dev/null > log/stdout3015 2> log/stderr3015"}

data: {"time":"2026-09-19T16:24:25.789Z","priority":"6","pid":"2830187","message":" 3015: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:25.790Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:25.408415181 +0000"}

data: {"time":"2026-09-19T16:24:25.790Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:25.406790709 +0000"}

data: {"time":"2026-09-19T16:24:25.791Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:24:25.791Z","priority":"6","pid":"2830187","message":"-4[CR][LF]"}

data: {"time":"2026-09-19T16:24:25.791Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3015"}

data: {"time":"2026-09-19T16:24:25.791Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:25.791Z","priority":"6","pid":"2830187","message":" 4[CR][LF]"}

data: {"time":"2026-09-19T16:24:25.792Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:25.792Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:25.793Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3015 ../src/curl -q --include --trace-ascii log/trace3015 --trace-time http://127.0.0.1:39689/3015 -w \"%{num_headers}\\n\" -L -o/dev/null > log/stdout3015 2> log/stderr3015"}

data: {"time":"2026-09-19T16:24:25.794Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:25.794Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:25.795Z","priority":"6","pid":"2830187","message":" 16:24:25.266847 ====> Client connect"}

data: {"time":"2026-09-19T16:24:25.795Z","priority":"6","pid":"2830187","message":" 16:24:25.266887 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:25.795Z","priority":"6","pid":"2830187","message":" 16:24:25.266912 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:25.795Z","priority":"6","pid":"2830187","message":" 16:24:25.266928 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:25.796Z","priority":"6","pid":"2830187","message":" 16:24:25.266941 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:25.797Z","priority":"6","pid":"2830187","message":" 16:24:25.266949 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:25.797Z","priority":"6","pid":"2830187","message":" 16:24:25.266973 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:25.797Z","priority":"6","pid":"2830187","message":" 16:24:25.266989 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:25.797Z","priority":"6","pid":"2830187","message":" 16:24:25.267058 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:25.798Z","priority":"6","pid":"2830187","message":" 16:24:25.267067 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:25.798Z","priority":"6","pid":"2830187","message":" 16:24:25.267074 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:25.799Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:25.799Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:25.799Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:25.800Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55688"}

data: {"time":"2026-09-19T16:24:25.800Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:25.800Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:25.801Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:25.801Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:25.801Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:25.801Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:25.802Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:25.802Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:25.802Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:25.802Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:25.802Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:25.803Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:25.803Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:25.804Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:25.804Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:25.804Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:25.804Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.804Z","priority":"6","pid":"2830187","message":" Testnum 3015"}

data: {"time":"2026-09-19T16:24:25.804Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.804Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:25.805Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:25.805Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:25.805Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:25.805Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:25.806Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3015"}

data: {"time":"2026-09-19T16:24:25.806Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:25.807Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:25.807Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:25.807Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.807Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:25.808Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:25.808Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.809Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:25.809Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.809Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.810Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:25.810Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:25.811Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:25.811Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:25.812Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:25.812Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:25.813Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:25.813Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.813Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:25.814Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:25.814Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.814Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:25.815Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:25.815Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:25.815Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.815Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:25.816Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3015"}

data: {"time":"2026-09-19T16:24:25.816Z","priority":"6","pid":"2830187","message":"test 3016 [Get current directory using file://]"}

data: {"time":"2026-09-19T16:24:25.818Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3016 ../src/curl -q --output log/curl3016.out  --include --trace-ascii log/trace3016 --trace-time file:///build/curl/src/build-curl/tests/ > log/stdout3016 2> log/stderr3016"}

data: {"time":"2026-09-19T16:24:25.818Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:25.818Z","priority":"6","pid":"2830187","message":" 3016: exit FAILED"}

data: {"time":"2026-09-19T16:24:25.819Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3016"}

data: {"time":"2026-09-19T16:24:25.819Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:25.820Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3016 ../src/curl -q --output log/curl3016.out  --include --trace-ascii log/trace3016 --trace-time file:///build/curl/src/build-curl/tests/ > log/stdout3016 2> log/stderr3016"}

data: {"time":"2026-09-19T16:24:25.821Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:25.821Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.821Z","priority":"6","pid":"2830187","message":" Testnum 3016"}

data: {"time":"2026-09-19T16:24:25.821Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.822Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3016"}

data: {"time":"2026-09-19T16:24:25.822Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:25.823Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:25.823Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:25.823Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.823Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:25.823Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:25.824Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.824Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:25.825Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.825Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.826Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:25.826Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:25.826Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:25.827Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:25.827Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:25.828Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:25.829Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:25.829Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.829Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:25.829Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:25.829Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.830Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:25.830Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:25.831Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:25.831Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.831Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:25.832Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3016"}

data: {"time":"2026-09-19T16:24:25.832Z","priority":"6","pid":"2830187","message":"test 3017 [MQTT SUBSCRIBE with pathological PUBLISH length]"}

data: {"time":"2026-09-19T16:24:25.833Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3017 ../src/curl -q --output log/curl3017.out  --include --trace log/trace3017 --trace-time mqtt://127.0.0.1:43757/3017 -m 3 > log/stdout3017 2> log/stderr3017"}

data: {"time":"2026-09-19T16:24:25.834Z","priority":"6","pid":"2830187","message":" 3017: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:25.834Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:25.835Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:25.835Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3017"}

data: {"time":"2026-09-19T16:24:25.835Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:25.837Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3017 ../src/curl -q --output log/curl3017.out  --include --trace log/trace3017 --trace-time mqtt://127.0.0.1:43757/3017 -m 3 > log/stdout3017 2> log/stderr3017"}

data: {"time":"2026-09-19T16:24:25.838Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:25.838Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.838Z","priority":"6","pid":"2830187","message":" excessive-remaining TRUE"}

data: {"time":"2026-09-19T16:24:25.838Z","priority":"6","pid":"2830187","message":" Testnum 3017"}

data: {"time":"2026-09-19T16:24:25.838Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:25.838Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3017"}

data: {"time":"2026-09-19T16:24:25.839Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:25.839Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:25.839Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:25.840Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.840Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:25.840Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:25.841Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.841Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:25.841Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:25.842Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:25.842Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:25.842Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:26.008Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a nCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3018 ../src/curl -q --output log/curl3018.out  --include --trace log/trace3018 --trace-time mqtt://127.0.0.1:43757/3018 --max-filesize 11 > log/stdout3018 2> log/stderr3018"}

data: {"time":"2026-09-19T16:24:26.236Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3019 ../src/curl -q --output log/curl3019.out  --include --trace-ascii log/trace3019 --trace-time --resolve 39689:example.com:127.0.0.1 http://example.com:39689/3019 > log/stdout3019 2> log/stderr3019"}

data: {"time":"2026-09-19T16:24:26.470Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3020 ../src/curl -q --output log/curl3020.out  --include --trace-ascii log/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:39689/3020 > log/stdout3020 2> log/stderr3020"}

data: {"time":"2026-09-19T16:24:26.473Z","priority":"6","pid":"2830187","message":"on-"}

data: {"time":"2026-09-19T16:24:26.474Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:26.475Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:26.475Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:26.476Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:26.476Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.476Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:26.478Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:26.478Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.478Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:26.478Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:26.478Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:26.479Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.479Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:26.479Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3017"}

data: {"time":"2026-09-19T16:24:26.480Z","priority":"6","pid":"2830187","message":"test 3018 [MQTT SUBSCRIBE with PUBLISH larger than --max-filesize]"}

data: {"time":"2026-09-19T16:24:26.481Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3018 ../src/curl -q --output log/curl3018.out  --include --trace log/trace3018 --trace-time mqtt://127.0.0.1:43757/3018 --max-filesize 11 > log/stdout3018 2> log/stderr3018"}

data: {"time":"2026-09-19T16:24:26.482Z","priority":"6","pid":"2830187","message":" 3018: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:26.482Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:26.483Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:26.483Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3018"}

data: {"time":"2026-09-19T16:24:26.483Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:26.485Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3018 ../src/curl -q --output log/curl3018.out  --include --trace log/trace3018 --trace-time mqtt://127.0.0.1:43757/3018 --max-filesize 11 > log/stdout3018 2> log/stderr3018"}

data: {"time":"2026-09-19T16:24:26.485Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:26.486Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:26.486Z","priority":"6","pid":"2830187","message":" Testnum 3018"}

data: {"time":"2026-09-19T16:24:26.486Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:26.486Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3018"}

data: {"time":"2026-09-19T16:24:26.488Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:26.488Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:26.489Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:26.490Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.490Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:26.490Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:26.491Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:26.493Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:26.493Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:26.494Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.495Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:26.496Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:26.497Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:26.497Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:26.497Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:26.498Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:26.498Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:26.499Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.499Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:26.499Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:26.499Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.500Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:26.500Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:26.501Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:26.501Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.502Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:26.502Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3018"}

data: {"time":"2026-09-19T16:24:26.502Z","priority":"6","pid":"2830187","message":"test 3019 [HTTP with invalid --resolve syntax]"}

data: {"time":"2026-09-19T16:24:26.504Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3019 ../src/curl -q --output log/curl3019.out  --include --trace-ascii log/trace3019 --trace-time --resolve 39689:example.com:127.0.0.1 http://example.com:39689/3019 > log/stdout3019 2> log/stderr3019"}

data: {"time":"2026-09-19T16:24:26.504Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 49"}

data: {"time":"2026-09-19T16:24:26.505Z","priority":"6","pid":"2830187","message":" 3019: exit FAILED"}

data: {"time":"2026-09-19T16:24:26.505Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3019"}

data: {"time":"2026-09-19T16:24:26.505Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:26.507Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3019 ../src/curl -q --output log/curl3019.out  --include --trace-ascii log/trace3019 --trace-time --resolve 39689:example.com:127.0.0.1 http://example.com:39689/3019 > log/stdout3019 2> log/stderr3019"}

data: {"time":"2026-09-19T16:24:26.507Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:26.508Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:26.508Z","priority":"6","pid":"2830187","message":" 16:24:26.104423 ====> Client connect"}

data: {"time":"2026-09-19T16:24:26.508Z","priority":"6","pid":"2830187","message":" 16:24:26.104463 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:26.509Z","priority":"6","pid":"2830187","message":" 16:24:26.104581 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:26.509Z","priority":"6","pid":"2830187","message":" 16:24:26.104594 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:26.509Z","priority":"6","pid":"2830187","message":" 16:24:26.104608 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:26.510Z","priority":"6","pid":"2830187","message":" 16:24:26.104616 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:26.510Z","priority":"6","pid":"2830187","message":" 16:24:26.104671 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:26.511Z","priority":"6","pid":"2830187","message":" 16:24:26.104690 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:26.511Z","priority":"6","pid":"2830187","message":" 16:24:26.104739 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:26.511Z","priority":"6","pid":"2830187","message":" 16:24:26.104748 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:26.512Z","priority":"6","pid":"2830187","message":" 16:24:26.104755 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:26.512Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:26.512Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:26.513Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:26.513Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55704"}

data: {"time":"2026-09-19T16:24:26.513Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:26.514Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:26.514Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:26.514Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:26.515Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:26.515Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:26.515Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:26.515Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:26.515Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:26.516Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:26.516Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:26.517Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:26.517Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:26.517Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:26.517Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:26.517Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:26.517Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:26.518Z","priority":"6","pid":"2830187","message":" Testnum 3019"}

data: {"time":"2026-09-19T16:24:26.518Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:26.518Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:26.518Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:26.519Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:26.519Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:26.519Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:26.519Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3019"}

data: {"time":"2026-09-19T16:24:26.520Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:26.520Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:26.520Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:26.521Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.521Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:26.521Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:26.522Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:26.522Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:26.522Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:26.523Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.523Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:26.524Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:26.524Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:26.525Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:26.525Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:26.525Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:26.526Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:26.526Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.526Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:26.526Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:26.527Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.527Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:26.527Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:26.528Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:26.528Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.528Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:26.529Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3019"}

data: {"time":"2026-09-19T16:24:26.529Z","priority":"6","pid":"2830187","message":"test 3020 [HTTP with invalid --connect-to syntax]"}

data: {"time":"2026-09-19T16:24:26.530Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3020 ../src/curl -q --output log/curl3020.out  --include --trace-ascii log/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:39689/3020 > log/stdout3020 2> log/stderr3020"}

data: {"time":"2026-09-19T16:24:26.531Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 49"}

data: {"time":"2026-09-19T16:24:26.531Z","priority":"6","pid":"2830187","message":" 3020: exit FAILED"}

data: {"time":"2026-09-19T16:24:26.531Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3020"}

data: {"time":"2026-09-19T16:24:26.532Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:26.533Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3020 ../src/curl -q --output log/curl3020.out  --include --trace-ascii log/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:39689/3020 > log/stdout3020 2> log/stderr3020"}

data: {"time":"2026-09-19T16:24:26.534Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:26.534Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:26.534Z","priority":"6","pid":"2830187","message":" 16:24:26.339340 ====> Client connect"}

data: {"time":"2026-09-19T16:24:26.534Z","priority":"6","pid":"2830187","message":" 16:24:26.339390 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:26.535Z","priority":"6","pid":"2830187","message":" 16:24:26.339632 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:26.535Z","priority":"6","pid":"2830187","message":" 16:24:26.339663 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:26.731Z","priority":"6","pid":"2830187","message":" 16:24:26.3CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:39689/3025 > log/stdout3025 2> log/stderr3025"}

data: {"time":"2026-09-19T16:24:26.734Z","priority":"6","pid":"2830187","message":"39683 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:26.734Z","priority":"6","pid":"2830187","message":" 16:24:26.339694 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:26.734Z","priority":"6","pid":"2830187","message":" 16:24:26.339740 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:26.735Z","priority":"6","pid":"2830187","message":" 16:24:26.339762 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:26.735Z","priority":"6","pid":"2830187","message":" 16:24:26.339844 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:26.735Z","priority":"6","pid":"2830187","message":" 16:24:26.339859 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:26.736Z","priority":"6","pid":"2830187","message":" 16:24:26.339868 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:26.736Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:26.736Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:26.736Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:26.737Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 55720"}

data: {"time":"2026-09-19T16:24:26.738Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:26.738Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:26.738Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:26.739Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:26.739Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:26.739Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:26.739Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:26.739Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:26.739Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:26.739Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:26.740Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:26.740Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:26.740Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:26.740Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:26.741Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:26.741Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:26.741Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:26.741Z","priority":"6","pid":"2830187","message":" Testnum 3020"}

data: {"time":"2026-09-19T16:24:26.743Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:26.743Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:26.743Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:26.744Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:26.744Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:26.745Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:26.745Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3020"}

data: {"time":"2026-09-19T16:24:26.746Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:26.746Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:26.748Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:26.748Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.748Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:26.750Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:26.751Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:26.751Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:26.752Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:26.752Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.752Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:26.754Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:26.756Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:26.756Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:26.756Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:26.757Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:26.757Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:26.758Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.759Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:26.759Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:26.761Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.761Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:26.762Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:26.762Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:26.763Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:26.764Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:26.764Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3020"}

data: {"time":"2026-09-19T16:24:26.946Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3026 ./libtest/libtests lib3026 - > log/stdout3026 2> log/stderr3026"}

data: {"time":"2026-09-19T16:24:27.206Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:43733/3027 > log/stdout3027 2> log/stderr3027"}

data: {"time":"2026-09-19T16:24:27.210Z","priority":"6","pid":"2830187","message":"test 3025 [CURLOPT_HTTP200ALIASES]"}

data: {"time":"2026-09-19T16:24:27.211Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:39689/3025 > log/stdout3025 2> log/stderr3025"}

data: {"time":"2026-09-19T16:24:27.212Z","priority":"6","pid":"2830187","message":" 3025: data FAILED:"}

data: {"time":"2026-09-19T16:24:27.212Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:26.733620017 +0000"}

data: {"time":"2026-09-19T16:24:27.212Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:26.732804954 +0000"}

data: {"time":"2026-09-19T16:24:27.213Z","priority":"6","pid":"2830187","message":"@@ -1,4 +0,0 @@"}

data: {"time":"2026-09-19T16:24:27.213Z","priority":"6","pid":"2830187","message":"-ICY 200 OK[LF]"}

data: {"time":"2026-09-19T16:24:27.213Z","priority":"6","pid":"2830187","message":"-Content-Length: 7[LF]"}

data: {"time":"2026-09-19T16:24:27.213Z","priority":"6","pid":"2830187","message":"-[LF]"}

data: {"time":"2026-09-19T16:24:27.213Z","priority":"6","pid":"2830187","message":"-MooMoo[LF]"}

data: {"time":"2026-09-19T16:24:27.214Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3025"}

data: {"time":"2026-09-19T16:24:27.214Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:27.214Z","priority":"6","pid":"2830187","message":" ICY 200 OK[LF]"}

data: {"time":"2026-09-19T16:24:27.215Z","priority":"6","pid":"2830187","message":" Content-Length: 7[LF]"}

data: {"time":"2026-09-19T16:24:27.215Z","priority":"6","pid":"2830187","message":" [LF]"}

data: {"time":"2026-09-19T16:24:27.215Z","priority":"6","pid":"2830187","message":" MooMoo[LF]"}

data: {"time":"2026-09-19T16:24:27.216Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:27.216Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:27.217Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:39689/3025 > log/stdout3025 2> log/stderr3025"}

data: {"time":"2026-09-19T16:24:27.217Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:27.217Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:27.218Z","priority":"6","pid":"2830187","message":" 16:24:26.637288 ====> Client connect"}

data: {"time":"2026-09-19T16:24:27.218Z","priority":"6","pid":"2830187","message":" 16:24:26.637335 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:27.219Z","priority":"6","pid":"2830187","message":" 16:24:26.637518 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:27.219Z","priority":"6","pid":"2830187","message":" 16:24:26.637543 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:27.219Z","priority":"6","pid":"2830187","message":" 16:24:26.637559 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:27.219Z","priority":"6","pid":"2830187","message":" 16:24:26.637569 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:27.220Z","priority":"6","pid":"2830187","message":" 16:24:26.637616 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:27.220Z","priority":"6","pid":"2830187","message":" 16:24:26.637667 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:27.220Z","priority":"6","pid":"2830187","message":" 16:24:26.637730 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:27.221Z","priority":"6","pid":"2830187","message":" 16:24:26.637749 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:27.221Z","priority":"6","pid":"2830187","message":" 16:24:26.637763 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:27.222Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:27.222Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:27.222Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:27.223Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41400"}

data: {"time":"2026-09-19T16:24:27.223Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:27.224Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:27.224Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:27.224Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:27.224Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:27.224Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:27.225Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:27.225Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:27.225Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:27.226Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:27.226Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:27.226Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:27.227Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:27.227Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:27.227Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:27.228Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:27.228Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:27.229Z","priority":"6","pid":"2830187","message":" Testnum 3025"}

data: {"time":"2026-09-19T16:24:27.229Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:27.229Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:27.229Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:27.229Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:27.229Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:27.230Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:27.230Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3025"}

data: {"time":"2026-09-19T16:24:27.230Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:27.231Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:27.232Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:27.232Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.233Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:27.233Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:27.233Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:27.233Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:27.234Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:27.234Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.234Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:27.235Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:27.235Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:27.236Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:27.236Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:27.237Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:27.237Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:27.237Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.239Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:27.239Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:27.239Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.239Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:27.240Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:27.240Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:27.240Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.241Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:27.241Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3025"}

data: {"time":"2026-09-19T16:24:27.241Z","priority":"6","pid":"2830187","message":"test 3026 [curl_global_init thread-safety]"}

data: {"time":"2026-09-19T16:24:27.243Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3026 ./libtest/libtests lib3026 - > log/stdout3026 2> log/stderr3026"}

data: {"time":"2026-09-19T16:24:27.243Z","priority":"6","pid":"2830187","message":"libtests returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:27.243Z","priority":"6","pid":"2830187","message":" 3026: exit FAILED"}

data: {"time":"2026-09-19T16:24:27.243Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3026"}

data: {"time":"2026-09-19T16:24:27.244Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:27.245Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3026 ./libtest/libtests lib3026 - > log/stdout3026 2> log/stderr3026"}

data: {"time":"2026-09-19T16:24:27.246Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:27.246Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:27.246Z","priority":"6","pid":"2830187","message":" Testnum 3026"}

data: {"time":"2026-09-19T16:24:27.246Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:27.246Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3026"}

data: {"time":"2026-09-19T16:24:27.246Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:27.247Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:27.247Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:27.247Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.248Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:27.248Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:27.248Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:27.249Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:27.249Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:27.250Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.250Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:27.250Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:27.251Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:27.251Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:27.251Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:27.252Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:27.252Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:27.252Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.253Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:27.254Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:27.254Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.254Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:27.255Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:27.255Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:27.255Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.256Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:27.256Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3026"}

data: {"time":"2026-09-19T16:24:27.257Z","priority":"6","pid":"2830187","message":"test 3027 [Get a file via FTP but 550 after MDTM command]"}

data: {"time":"2026-09-19T16:24:27.258Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:43733/3027 > log/stdout3027 2> log/stderr3027"}

data: {"time":"2026-09-19T16:24:27.258Z","priority":"6","pid":"2830187","message":" 3027: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:27.258Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:27.259Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:27.259Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3027"}

data: {"time":"2026-09-19T16:24:27.260Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:27.261Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:43733/3027 > log/stdout3027 2> log/stderr3027"}

data: {"time":"2026-09-19T16:24:27.261Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:27.261Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:27.262Z","priority":"6","pid":"2830187","message":" 16:24:26.989314 ====> Client connect"}

data: {"time":"2026-09-19T16:24:27.262Z","priority":"6","pid":"2830187","message":" 16:24:26.989923 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.263Z","priority":"6","pid":"2830187","message":" 16:24:26.990249 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:24:27.263Z","priority":"6","pid":"2830187","message":" 16:24:26.990527 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.263Z","priority":"6","pid":"2830187","message":" 16:24:26.990636 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:24:27.264Z","priority":"6","pid":"2830187","message":" 16:24:26.990825 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.264Z","priority":"6","pid":"2830187","message":" 16:24:26.990924 < \"PWD\""}

data: {"time":"2026-09-19T16:24:27.264Z","priority":"6","pid":"2830187","message":" 16:24:26.990972 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.264Z","priority":"6","pid":"2830187","message":" 16:24:26.991243 < \"EPSV\""}

data: {"time":"2026-09-19T16:24:27.265Z","priority":"6","pid":"2830187","message":" 16:24:26.991291 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:24:27.266Z","priority":"6","pid":"2830187","message":" 16:24:26.991320 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:24:27.266Z","priority":"6","pid":"2830187","message":" 16:24:26.994504 DATA sockfilt for passive data channel started (pid 180635)"}

data: {"time":"2026-09-19T16:24:27.266Z","priority":"6","pid":"2830187","message":" 16:24:26.994740 DATA sockfilt for passive data channel listens on port 38549"}

data: {"time":"2026-09-19T16:24:27.267Z","priority":"6","pid":"2830187","message":" 16:24:26.995226 > \"229 Entering Passive Mode (|||38549|)[CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.267Z","priority":"6","pid":"2830187","message":" 16:24:26.995293 Client has been notified that upcoming DATA connection is awaited on port 38549"}

data: {"time":"2026-09-19T16:24:27.268Z","priority":"6","pid":"2830187","message":" 16:24:26.995540 Client connects to port 38549"}

data: {"time":"2026-09-19T16:24:27.268Z","priority":"6","pid":"2830187","message":" 16:24:26.995594 ====> Client established passive DATA connection on port 38549"}

data: {"time":"2026-09-19T16:24:27.268Z","priority":"6","pid":"2830187","message":" 16:24:26.995742 < \"TYPE I\""}

data: {"time":"2026-09-19T16:24:27.269Z","priority":"6","pid":"2830187","message":" 16:24:26.995805 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.514Z","priority":"6","pid":"2830187","message":" 16:24:26.996163 < \"SIZE verifiedseCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3028 ../src/curl -q --output log/curl3028.out  --include --trace-ascii log/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:39689/page --proxytunnel -x 127.0.0.1:34615 > log/stdout3028 2> log/stderr3028"}

data: {"time":"2026-09-19T16:24:27.531Z","priority":"6","pid":"2830187","message":"rver\""}

data: {"time":"2026-09-19T16:24:27.531Z","priority":"6","pid":"2830187","message":" 16:24:26.996248 > \"213 18[CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.531Z","priority":"6","pid":"2830187","message":" 16:24:26.996555 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:24:27.532Z","priority":"6","pid":"2830187","message":" 16:24:26.996616 > \"150 Binary junk (18 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.532Z","priority":"6","pid":"2830187","message":" 16:24:26.996773 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:24:27.534Z","priority":"6","pid":"2830187","message":" 16:24:26.996820 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:24:27.534Z","priority":"6","pid":"2830187","message":" 16:24:26.997285 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:24:27.534Z","priority":"6","pid":"2830187","message":" 16:24:26.997329 DATA sockfilt for passive data channel quits (pid 180635)"}

data: {"time":"2026-09-19T16:24:27.534Z","priority":"6","pid":"2830187","message":" 16:24:26.997784 DATA sockfilt for passive data channel quit (pid 180635)"}

data: {"time":"2026-09-19T16:24:27.535Z","priority":"6","pid":"2830187","message":" 16:24:26.997831 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:24:27.535Z","priority":"6","pid":"2830187","message":" 16:24:26.997885 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.535Z","priority":"6","pid":"2830187","message":" 16:24:27.038207 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:27.536Z","priority":"6","pid":"2830187","message":" 16:24:27.038300 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:24:27.536Z","priority":"6","pid":"2830187","message":" 16:24:27.039258 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:27.536Z","priority":"6","pid":"2830187","message":" 16:24:27.039422 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:27.537Z","priority":"6","pid":"2830187","message":" 16:24:27.039555 Awaiting input"}

data: {"time":"2026-09-19T16:24:27.537Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:27.538Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:27.538Z","priority":"6","pid":"2830187","message":" 16:24:27.047962 ====> Client connect"}

data: {"time":"2026-09-19T16:24:27.539Z","priority":"6","pid":"2830187","message":" 16:24:27.048429 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.539Z","priority":"6","pid":"2830187","message":" 16:24:27.048491 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.539Z","priority":"6","pid":"2830187","message":" 16:24:27.048638 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:27.540Z","priority":"6","pid":"2830187","message":" 16:24:27.048664 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.540Z","priority":"6","pid":"2830187","message":" 16:24:27.048676 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.540Z","priority":"6","pid":"2830187","message":" 16:24:27.048888 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:27.541Z","priority":"6","pid":"2830187","message":" 16:24:27.048906 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.541Z","priority":"6","pid":"2830187","message":" 16:24:27.049130 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.541Z","priority":"6","pid":"2830187","message":" 16:24:27.049147 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.542Z","priority":"6","pid":"2830187","message":" 16:24:27.049219 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.542Z","priority":"6","pid":"2830187","message":" 16:24:27.049304 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:27.542Z","priority":"6","pid":"2830187","message":" 16:24:27.049317 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.542Z","priority":"6","pid":"2830187","message":" 16:24:27.049500 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.543Z","priority":"6","pid":"2830187","message":" 16:24:27.049514 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.543Z","priority":"6","pid":"2830187","message":" 16:24:27.049531 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.544Z","priority":"6","pid":"2830187","message":" 16:24:27.049605 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:27.544Z","priority":"6","pid":"2830187","message":" 16:24:27.049622 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.544Z","priority":"6","pid":"2830187","message":" 16:24:27.049855 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.544Z","priority":"6","pid":"2830187","message":" 16:24:27.049872 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.545Z","priority":"6","pid":"2830187","message":" 16:24:27.049885 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.545Z","priority":"6","pid":"2830187","message":" 16:24:27.049960 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:27.546Z","priority":"6","pid":"2830187","message":" 16:24:27.049973 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.546Z","priority":"6","pid":"2830187","message":" 16:24:27.053669 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.546Z","priority":"6","pid":"2830187","message":" 16:24:27.053700 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.546Z","priority":"6","pid":"2830187","message":" 16:24:27.053731 '229 Entering Passive Mode (|||38549|)\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.547Z","priority":"6","pid":"2830187","message":" 16:24:27.054231 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:27.548Z","priority":"6","pid":"2830187","message":" 16:24:27.054258 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.548Z","priority":"6","pid":"2830187","message":" 16:24:27.054672 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.548Z","priority":"6","pid":"2830187","message":" 16:24:27.054690 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.548Z","priority":"6","pid":"2830187","message":" 16:24:27.054703 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.548Z","priority":"6","pid":"2830187","message":" 16:24:27.054814 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:27.549Z","priority":"6","pid":"2830187","message":" 16:24:27.054838 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.549Z","priority":"6","pid":"2830187","message":" 16:24:27.055122 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.549Z","priority":"6","pid":"2830187","message":" 16:24:27.055144 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.550Z","priority":"6","pid":"2830187","message":" 16:24:27.055173 '213 18\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.550Z","priority":"6","pid":"2830187","message":" 16:24:27.055269 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:27.551Z","priority":"6","pid":"2830187","message":" 16:24:27.055286 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.551Z","priority":"6","pid":"2830187","message":" 16:24:27.055701 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.551Z","priority":"6","pid":"2830187","message":" 16:24:27.055724 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.551Z","priority":"6","pid":"2830187","message":" 16:24:27.055742 '150 Binary junk (18 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.552Z","priority":"6","pid":"2830187","message":" 16:24:27.056757 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.552Z","priority":"6","pid":"2830187","message":" 16:24:27.056777 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.552Z","priority":"6","pid":"2830187","message":" 16:24:27.056794 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.553Z","priority":"6","pid":"2830187","message":" 16:24:27.096708 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:27.553Z","priority":"6","pid":"2830187","message":" 16:24:27.096782 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.553Z","priority":"6","pid":"2830187","message":" 16:24:27.097189 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.554Z","priority":"6","pid":"2830187","message":" 16:24:27.097213 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.554Z","priority":"6","pid":"2830187","message":" 16:24:27.097225 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.555Z","priority":"6","pid":"2830187","message":" 16:24:27.098016 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:27.555Z","priority":"6","pid":"2830187","message":" 16:24:27.098149 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:27.555Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:27.556Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:27.556Z","priority":"6","pid":"2830187","message":" 16:24:26.052956 Running IPv4 version"}

data: {"time":"2026-09-19T16:24:27.556Z","priority":"6","pid":"2830187","message":" 16:24:26.053113 Listening on port 38549"}

data: {"time":"2026-09-19T16:24:27.557Z","priority":"6","pid":"2830187","message":" 16:24:26.053222 Wrote pid 180635 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:24:27.557Z","priority":"6","pid":"2830187","message":" 16:24:26.053260 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:24:27.557Z","priority":"6","pid":"2830187","message":" 16:24:26.053435 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:24:27.558Z","priority":"6","pid":"2830187","message":" 16:24:26.054295 ====> Client connect"}

data: {"time":"2026-09-19T16:24:27.558Z","priority":"6","pid":"2830187","message":" 16:24:26.055786 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:27.558Z","priority":"6","pid":"2830187","message":" 16:24:26.055811 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:27.558Z","priority":"6","pid":"2830187","message":" 16:24:26.055823 'WE ROOLZ: 162430\\r\\n'"}

data: {"time":"2026-09-19T16:24:27.559Z","priority":"6","pid":"2830187","message":" 16:24:26.055869 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:24:27.559Z","priority":"6","pid":"2830187","message":" 16:24:26.055884 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:24:27.559Z","priority":"6","pid":"2830187","message":" 16:24:26.056223 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:24:27.560Z","priority":"6","pid":"2830187","message":" 16:24:26.056239 quits"}

data: {"time":"2026-09-19T16:24:27.560Z","priority":"6","pid":"2830187","message":" 16:24:26.056340 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:24:27.561Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:27.561Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:27.561Z","priority":"6","pid":"2830187","message":" REPLY MDTM 550 Permission denied"}

data: {"time":"2026-09-19T16:24:27.561Z","priority":"6","pid":"2830187","message":" Testnum 3027"}

data: {"time":"2026-09-19T16:24:27.561Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:27.561Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3027"}

data: {"time":"2026-09-19T16:24:27.562Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:27.562Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:27.562Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:27.563Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.563Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:27.563Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:27.564Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:27.564Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:27.564Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:27.565Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.565Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:27.565Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:27.566Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:27.566Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:27.567Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:27.567Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:27.568Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:27.568Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.569Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:27.569Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:27.569Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.570Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:27.570Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:27.571Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:27.571Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.571Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:27.571Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3027"}

data: {"time":"2026-09-19T16:24:27.572Z","priority":"6","pid":"2830187","message":"test 3028 [HTTP GET when PROXY Protocol enabled behind a proxy]"}

data: {"time":"2026-09-19T16:24:27.573Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3028 ../src/curl -q --output log/curl3028.out  --include --trace-ascii log/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:39689/page --proxytunnel -x 127.0.0.1:34615 > log/stdout3028 2> log/stderr3028"}

data: {"time":"2026-09-19T16:24:27.574Z","priority":"6","pid":"2830187","message":" 3028: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:27.574Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:27.574Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:27.575Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3028"}

data: {"time":"2026-09-19T16:24:27.575Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:27.577Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3028 ../src/curl -q --output log/curl3028.out  --include --trace-ascii log/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:39689/page --proxytunnel -x 127.0.0.1:34615 > log/stdout3028 2> log/stderr3028"}

data: {"time":"2026-09-19T16:24:27.577Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:27.577Z","priority":"6","pid":"2830187","message":"=== Start of file http2_server.log"}

data: {"time":"2026-09-19T16:24:27.578Z","priority":"6","pid":"2830187","message":" 16:24:26.401756 ====> Client connect"}

data: {"time":"2026-09-19T16:24:27.578Z","priority":"6","pid":"2830187","message":" 16:24:26.401812 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:27.578Z","priority":"6","pid":"2830187","message":" 16:24:26.402058 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:27.578Z","priority":"6","pid":"2830187","message":" 16:24:26.402080 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:27.579Z","priority":"6","pid":"2830187","message":" 16:24:26.402100 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:27.579Z","priority":"6","pid":"2830187","message":" 16:24:26.402110 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:27.580Z","priority":"6","pid":"2830187","message":" 16:24:26.402207 Wrote request (93 bytes) input to log/proxy.input"}

data: {"time":"2026-09-19T16:24:27.580Z","priority":"6","pid":"2830187","message":" 16:24:26.402233 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:27.580Z","priority":"6","pid":"2830187","message":" 16:24:26.402350 Response sent (56 bytes) and written to log/proxy.response"}

data: {"time":"2026-09-19T16:24:27.581Z","priority":"6","pid":"2830187","message":" 16:24:26.402363 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:27.581Z","priority":"6","pid":"2830187","message":" 16:24:26.402373 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:27.582Z","priority":"6","pid":"2830187","message":"=== End of file http2_server.log"}

data: {"time":"2026-09-19T16:24:27.582Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.log"}

data: {"time":"2026-09-19T16:24:27.582Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34615..."}

data: {"time":"2026-09-19T16:24:27.582Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34615) from 127.0.0.1 port 58182"}

data: {"time":"2026-09-19T16:24:27.583Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:27.583Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34615"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:24:27.584Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34615 left intact"}

data: {"time":"2026-09-19T16:24:27.585Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.log"}

data: {"time":"2026-09-19T16:24:27.585Z","priority":"6","pid":"2830187","message":"=== Start of file http2_verify.out"}

data: {"time":"2026-09-19T16:24:27.585Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:24:27.585Z","priority":"6","pid":"2830187","message":"=== End of file http2_verify.out"}

data: {"time":"2026-09-19T16:24:27.585Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:27.585Z","priority":"6","pid":"2830187","message":" 16:24:27.366129 ====> Client connect"}

data: {"time":"2026-09-19T16:24:27.586Z","priority":"6","pid":"2830187","message":" 16:24:27.366199 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:27.586Z","priority":"6","pid":"2830187","message":" 16:24:27.366366 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:27.586Z","priority":"6","pid":"2830187","message":" 16:24:27.366384 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:27.586Z","priority":"6","pid":"2830187","message":" 16:24:27.366399 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:27.587Z","priority":"6","pid":"2830187","message":" 16:24:27.366409 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:27.587Z","priority":"6","pid":"2830187","message":" 16:24:27.366446 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:27.587Z","priority":"6","pid":"2830187","message":" 16:24:27.366467 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:27.797Z","priority":"6","pid":"2830187","message":" 16:24:27.366531 Response CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3029 ../src/curl -q --output log/curl3029.out  --include --trace-ascii log/trace3029 --trace-time -D log/heads3029 http://127.0.0.1:39689/3029 http://127.0.0.1:39689/3029 --next -D log/heads3029 http://127.0.0.1:39689/3029 > log/stdout3029 2> log/stderr3029"}

data: {"time":"2026-09-19T16:24:27.815Z","priority":"6","pid":"2830187","message":"sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:27.817Z","priority":"6","pid":"2830187","message":" 16:24:27.366544 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:27.817Z","priority":"6","pid":"2830187","message":" 16:24:27.366554 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:27.817Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:27.818Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:27.819Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:27.819Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41412"}

data: {"time":"2026-09-19T16:24:27.819Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:27.819Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:27.819Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:27.819Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:27.819Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:27.820Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:27.820Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:27.820Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:27.820Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:27.821Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:27.821Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:27.821Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:27.822Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:27.822Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:27.822Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:27.822Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:27.823Z","priority":"6","pid":"2830187","message":"=== Start of file proxy.response"}

data: {"time":"2026-09-19T16:24:27.823Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:27.823Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:24:27.823Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 83544"}

data: {"time":"2026-09-19T16:24:27.824Z","priority":"6","pid":"2830187","message":"=== End of file proxy.response"}

data: {"time":"2026-09-19T16:24:27.824Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:27.825Z","priority":"6","pid":"2830187","message":" Testnum 3028"}

data: {"time":"2026-09-19T16:24:27.825Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:27.825Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:27.825Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:27.825Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:27.825Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:27.826Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:27.826Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3028"}

data: {"time":"2026-09-19T16:24:27.826Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:27.827Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:27.827Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:27.827Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.828Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:27.828Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:27.829Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:27.829Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:27.830Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:27.830Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.830Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:27.831Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:27.831Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:27.832Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:27.832Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:27.832Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:27.833Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:27.833Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.833Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:27.834Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:27.834Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.835Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:27.836Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:27.837Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:27.837Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:27.837Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:27.838Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3028"}

data: {"time":"2026-09-19T16:24:28.066Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3030 ../src/curl -q --output log/curl3030.out  --include --trace-ascii log/trace3030 --trace-time -D log/heads3030 http://127.0.0.1:39689/3030 http://127.0.0.1:39689/3030 > log/stdout3030 2> log/stderr3030"}

data: {"time":"2026-09-19T16:24:28.075Z","priority":"6","pid":"2830187","message":"test 3029 [HTTP with multiple -D]"}

data: {"time":"2026-09-19T16:24:28.078Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3029 ../src/curl -q --output log/curl3029.out  --include --trace-ascii log/trace3029 --trace-time -D log/heads3029 http://127.0.0.1:39689/3029 http://127.0.0.1:39689/3029 --next -D log/heads3029 http://127.0.0.1:39689/3029 > log/stdout3029 2> log/stderr3029"}

data: {"time":"2026-09-19T16:24:28.078Z","priority":"6","pid":"2830187","message":" 3029: data FAILED:"}

data: {"time":"2026-09-19T16:24:28.078Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:27.815179565 +0000"}

data: {"time":"2026-09-19T16:24:28.079Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:27.813816640 +0000"}

data: {"time":"2026-09-19T16:24:28.079Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:24:28.079Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:24:28.080Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:24:28.080Z","priority":"6","pid":"2830187","message":"-Content-Length: 6[LF]"}

data: {"time":"2026-09-19T16:24:28.080Z","priority":"6","pid":"2830187","message":"-[LF]"}

data: {"time":"2026-09-19T16:24:28.080Z","priority":"6","pid":"2830187","message":"--foo-[LF]"}

data: {"time":"2026-09-19T16:24:28.081Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3029"}

data: {"time":"2026-09-19T16:24:28.081Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:28.081Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:24:28.081Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:24:28.082Z","priority":"6","pid":"2830187","message":" Content-Length: 6[LF]"}

data: {"time":"2026-09-19T16:24:28.082Z","priority":"6","pid":"2830187","message":" [LF]"}

data: {"time":"2026-09-19T16:24:28.082Z","priority":"6","pid":"2830187","message":" -foo-[LF]"}

data: {"time":"2026-09-19T16:24:28.082Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:28.082Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:28.084Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3029 ../src/curl -q --output log/curl3029.out  --include --trace-ascii log/trace3029 --trace-time -D log/heads3029 http://127.0.0.1:39689/3029 http://127.0.0.1:39689/3029 --next -D log/heads3029 http://127.0.0.1:39689/3029 > log/stdout3029 2> log/stderr3029"}

data: {"time":"2026-09-19T16:24:28.084Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:28.084Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:28.085Z","priority":"6","pid":"2830187","message":" 16:24:27.680071 ====> Client connect"}

data: {"time":"2026-09-19T16:24:28.085Z","priority":"6","pid":"2830187","message":" 16:24:27.680136 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:28.085Z","priority":"6","pid":"2830187","message":" 16:24:27.680344 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:28.085Z","priority":"6","pid":"2830187","message":" 16:24:27.680370 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:28.086Z","priority":"6","pid":"2830187","message":" 16:24:27.680386 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:28.086Z","priority":"6","pid":"2830187","message":" 16:24:27.680396 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:28.087Z","priority":"6","pid":"2830187","message":" 16:24:27.680435 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:28.087Z","priority":"6","pid":"2830187","message":" 16:24:27.680456 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:28.087Z","priority":"6","pid":"2830187","message":" 16:24:27.680512 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:28.087Z","priority":"6","pid":"2830187","message":" 16:24:27.680522 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:28.088Z","priority":"6","pid":"2830187","message":" 16:24:27.680531 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:28.088Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:28.088Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:28.089Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:28.089Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41424"}

data: {"time":"2026-09-19T16:24:28.089Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:28.090Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:28.090Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:28.090Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:28.090Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:28.091Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:28.091Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:28.091Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:28.091Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:28.091Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:28.091Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:28.092Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:28.092Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:28.093Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:28.093Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:28.093Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:28.093Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:28.093Z","priority":"6","pid":"2830187","message":" Testnum 3029"}

data: {"time":"2026-09-19T16:24:28.094Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:28.094Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:28.094Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:28.094Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:28.094Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:28.095Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:28.095Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3029"}

data: {"time":"2026-09-19T16:24:28.095Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:28.096Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:28.096Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:28.097Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.097Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:28.097Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:28.097Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:28.097Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:28.098Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:28.098Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.099Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:28.099Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:28.099Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:28.100Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:28.100Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:28.101Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:28.101Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:28.101Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.102Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:28.102Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:28.102Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.103Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:28.103Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:28.103Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:28.104Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.104Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:28.104Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3029"}

data: {"time":"2026-09-19T16:24:28.306Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3031 ../src/curl -q --output log/curl3031.out  --include --trace-ascii log/trace3031 --trace-time http://127.0.0.1:39689/this/is/the/3031 --dump-header /build/curl/src/build-curl/tests/log/tmp/out.txt --create-dirs > log/stdout3031 2> log/stderr3031"}

data: {"time":"2026-09-19T16:24:28.558Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3032 ../src/curl -q --output log/curl3032.out  --include --trace-ascii log/trace3032 --trace-time --location http://127.0.0.1:39689/3032 > log/stdout3032 2> log/stderr3032"}

data: {"time":"2026-09-19T16:24:28.563Z","priority":"6","pid":"2830187","message":"test 3030 [HTTP with multiple transfers in one -D]"}

data: {"time":"2026-09-19T16:24:28.565Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3030 ../src/curl -q --output log/curl3030.out  --include --trace-ascii log/trace3030 --trace-time -D log/heads3030 http://127.0.0.1:39689/3030 http://127.0.0.1:39689/3030 > log/stdout3030 2> log/stderr3030"}

data: {"time":"2026-09-19T16:24:28.566Z","priority":"6","pid":"2830187","message":" 3030: data FAILED:"}

data: {"time":"2026-09-19T16:24:28.566Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:28.075063591 +0000"}

data: {"time":"2026-09-19T16:24:28.566Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:28.073819459 +0000"}

data: {"time":"2026-09-19T16:24:28.567Z","priority":"6","pid":"2830187","message":"@@ -1,5 +0,0 @@"}

data: {"time":"2026-09-19T16:24:28.567Z","priority":"6","pid":"2830187","message":"-HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:24:28.567Z","priority":"6","pid":"2830187","message":"-Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:24:28.568Z","priority":"6","pid":"2830187","message":"-Content-Length: 6[LF]"}

data: {"time":"2026-09-19T16:24:28.568Z","priority":"6","pid":"2830187","message":"-[LF]"}

data: {"time":"2026-09-19T16:24:28.568Z","priority":"6","pid":"2830187","message":"--foo-[LF]"}

data: {"time":"2026-09-19T16:24:28.568Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3030"}

data: {"time":"2026-09-19T16:24:28.569Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:28.570Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK[LF]"}

data: {"time":"2026-09-19T16:24:28.570Z","priority":"6","pid":"2830187","message":" Date: Tue, 09 Nov 2010 14:49:00 GMT[LF]"}

data: {"time":"2026-09-19T16:24:28.570Z","priority":"6","pid":"2830187","message":" Content-Length: 6[LF]"}

data: {"time":"2026-09-19T16:24:28.570Z","priority":"6","pid":"2830187","message":" [LF]"}

data: {"time":"2026-09-19T16:24:28.570Z","priority":"6","pid":"2830187","message":" -foo-[LF]"}

data: {"time":"2026-09-19T16:24:28.570Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:28.571Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:28.572Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3030 ../src/curl -q --output log/curl3030.out  --include --trace-ascii log/trace3030 --trace-time -D log/heads3030 http://127.0.0.1:39689/3030 http://127.0.0.1:39689/3030 > log/stdout3030 2> log/stderr3030"}

data: {"time":"2026-09-19T16:24:28.573Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:28.574Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:28.574Z","priority":"6","pid":"2830187","message":" 16:24:27.963273 ====> Client connect"}

data: {"time":"2026-09-19T16:24:28.574Z","priority":"6","pid":"2830187","message":" 16:24:27.963331 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:28.574Z","priority":"6","pid":"2830187","message":" 16:24:27.963508 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:28.575Z","priority":"6","pid":"2830187","message":" 16:24:27.963530 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:28.575Z","priority":"6","pid":"2830187","message":" 16:24:27.963550 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:28.575Z","priority":"6","pid":"2830187","message":" 16:24:27.963561 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:28.576Z","priority":"6","pid":"2830187","message":" 16:24:27.963608 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:28.576Z","priority":"6","pid":"2830187","message":" 16:24:27.963634 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:28.576Z","priority":"6","pid":"2830187","message":" 16:24:27.963704 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:28.577Z","priority":"6","pid":"2830187","message":" 16:24:27.963718 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:28.577Z","priority":"6","pid":"2830187","message":" 16:24:27.963728 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:28.578Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:28.578Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:28.578Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:28.579Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41440"}

data: {"time":"2026-09-19T16:24:28.579Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:28.579Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:28.580Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:28.580Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:28.580Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:28.581Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:28.581Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:28.581Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:28.582Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:28.582Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:28.582Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:28.582Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:28.582Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:28.583Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:28.583Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:28.583Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:28.583Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:28.584Z","priority":"6","pid":"2830187","message":" Testnum 3030"}

data: {"time":"2026-09-19T16:24:28.584Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:28.584Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:28.585Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:28.585Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:28.585Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:28.585Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:28.586Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3030"}

data: {"time":"2026-09-19T16:24:28.586Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:28.587Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:28.587Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:28.587Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.587Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:28.588Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:28.588Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:28.589Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:28.589Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:28.589Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.590Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:28.590Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:28.591Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:28.591Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:28.592Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:28.592Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:28.592Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:28.592Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.593Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:28.593Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:28.593Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.594Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:28.594Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:28.595Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:28.595Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.595Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:28.595Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3030"}

data: {"time":"2026-09-19T16:24:28.596Z","priority":"6","pid":"2830187","message":"test 3031 [--dump-header with --create-dirs]"}

data: {"time":"2026-09-19T16:24:28.598Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3031 ../src/curl -q --output log/curl3031.out  --include --trace-ascii log/trace3031 --trace-time http://127.0.0.1:39689/this/is/the/3031 --dump-header /build/curl/src/build-curl/tests/log/tmp/out.txt --create-dirs > log/stdout3031 2> log/stderr3031"}

data: {"time":"2026-09-19T16:24:28.599Z","priority":"6","pid":"2830187","message":" 3031: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:28.599Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:28.599Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:28.600Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3031"}

data: {"time":"2026-09-19T16:24:28.600Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:28.602Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3031 ../src/curl -q --output log/curl3031.out  --include --trace-ascii log/trace3031 --trace-time http://127.0.0.1:39689/this/is/the/3031 --dump-header /build/curl/src/build-curl/tests/log/tmp/out.txt --create-dirs > log/stdout3031 2> log/stderr3031"}

data: {"time":"2026-09-19T16:24:28.602Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:28.602Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:28.603Z","priority":"6","pid":"2830187","message":" 16:24:28.204912 ====> Client connect"}

data: {"time":"2026-09-19T16:24:28.603Z","priority":"6","pid":"2830187","message":" 16:24:28.204960 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:28.604Z","priority":"6","pid":"2830187","message":" 16:24:28.205002 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:28.604Z","priority":"6","pid":"2830187","message":" 16:24:28.205018 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:28.604Z","priority":"6","pid":"2830187","message":" 16:24:28.205037 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:28.604Z","priority":"6","pid":"2830187","message":" 16:24:28.205050 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:28.605Z","priority":"6","pid":"2830187","message":" 16:24:28.205095 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:28.605Z","priority":"6","pid":"2830187","message":" 16:24:28.205117 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:28.606Z","priority":"6","pid":"2830187","message":" 16:24:28.205258 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:28.606Z","priority":"6","pid":"2830187","message":" 16:24:28.205277 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:28.606Z","priority":"6","pid":"2830187","message":" 16:24:28.205290 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:28.607Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:28.607Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:28.607Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:28.608Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41452"}

data: {"time":"2026-09-19T16:24:28.608Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:28.608Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:28.609Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:28.609Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:28.609Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:28.609Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:28.609Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:28.609Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:28.610Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:28.610Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:28.610Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:28.610Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:28.611Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:28.611Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:28.611Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:28.612Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:28.612Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:28.612Z","priority":"6","pid":"2830187","message":" Testnum 3031"}

data: {"time":"2026-09-19T16:24:28.612Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:28.612Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:28.612Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:28.612Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:28.613Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:28.613Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:28.613Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3031"}

data: {"time":"2026-09-19T16:24:28.613Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:28.614Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:28.615Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:28.615Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.615Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:28.615Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:28.615Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:28.615Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:28.616Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:28.616Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.616Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:28.617Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:28.618Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:28.618Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:28.618Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:28.618Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:28.619Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:28.619Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.620Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:28.620Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:28.620Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.620Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:28.620Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:28.620Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:28.621Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.621Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:28.621Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3031"}

data: {"time":"2026-09-19T16:24:28.622Z","priority":"6","pid":"2830187","message":"test 3032 [HTTP redirect loop 3x swsbounce test]"}

data: {"time":"2026-09-19T16:24:28.798Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:39689/3033 > log/stdout3033 2> log/stderr3033"}

data: {"time":"2026-09-19T16:24:28.803Z","priority":"6","pid":"2830187","message":"bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3032 ../src/curl -q --output log/curl3032.out  --include --trace-ascii log/trace3032 --trace-time --location http://127.0.0.1:39689/3032 > log/stdout3032 2> log/stderr3032"}

data: {"time":"2026-09-19T16:24:28.804Z","priority":"6","pid":"2830187","message":" 3032: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:28.804Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:28.804Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:28.805Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3032"}

data: {"time":"2026-09-19T16:24:28.805Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:28.806Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3032 ../src/curl -q --output log/curl3032.out  --include --trace-ascii log/trace3032 --trace-time --location http://127.0.0.1:39689/3032 > log/stdout3032 2> log/stderr3032"}

data: {"time":"2026-09-19T16:24:28.807Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:28.808Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:28.808Z","priority":"6","pid":"2830187","message":" 16:24:28.405262 ====> Client connect"}

data: {"time":"2026-09-19T16:24:28.808Z","priority":"6","pid":"2830187","message":" 16:24:28.405304 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:28.808Z","priority":"6","pid":"2830187","message":" 16:24:28.405482 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:28.808Z","priority":"6","pid":"2830187","message":" 16:24:28.405496 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:28.810Z","priority":"6","pid":"2830187","message":" 16:24:28.405509 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:28.810Z","priority":"6","pid":"2830187","message":" 16:24:28.405517 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:28.810Z","priority":"6","pid":"2830187","message":" 16:24:28.405546 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:28.812Z","priority":"6","pid":"2830187","message":" 16:24:28.405564 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:28.813Z","priority":"6","pid":"2830187","message":" 16:24:28.405664 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:28.813Z","priority":"6","pid":"2830187","message":" 16:24:28.405674 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:28.813Z","priority":"6","pid":"2830187","message":" 16:24:28.405682 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:28.815Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:28.815Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:28.815Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:28.816Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41456"}

data: {"time":"2026-09-19T16:24:28.817Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:28.817Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:28.819Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:28.819Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:28.819Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:28.819Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:28.820Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:28.820Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:28.820Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:28.822Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:28.822Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:28.822Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:28.822Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:28.823Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:28.825Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:28.825Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:28.826Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:28.826Z","priority":"6","pid":"2830187","message":" Testnum 3032"}

data: {"time":"2026-09-19T16:24:28.826Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:28.826Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:28.826Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:28.827Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:28.827Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:28.829Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:28.829Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3032"}

data: {"time":"2026-09-19T16:24:28.830Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:28.830Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:28.831Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:28.831Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.831Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:28.831Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:28.833Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:28.833Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:28.835Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:28.835Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.836Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:28.837Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:28.838Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:28.840Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:28.840Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:28.841Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:28.842Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:28.843Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.843Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:28.844Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:28.845Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.846Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:28.847Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:28.847Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:28.848Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:28.848Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:28.849Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3032"}

data: {"time":"2026-09-19T16:24:29.067Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:39689/3034 > log/stdout3034 2> log/stderr3034"}

data: {"time":"2026-09-19T16:24:29.305Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3035 ../src/curl -q --trace-ascii log/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/outfile3035 http://127.0.0.1:39689/3035 > log/stdout3035 2> log/stderr3035"}

data: {"time":"2026-09-19T16:24:29.331Z","priority":"6","pid":"2830187","message":"test 3033 [CURLOPT_FRESH_CONNECT=2]"}

data: {"time":"2026-09-19T16:24:29.332Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:39689/3033 > log/stdout3033 2> log/stderr3033"}

data: {"time":"2026-09-19T16:24:29.333Z","priority":"6","pid":"2830187","message":" 3033: data FAILED:"}

data: {"time":"2026-09-19T16:24:29.334Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:28.802017188 +0000"}

data: {"time":"2026-09-19T16:24:29.335Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:28.800827370 +0000"}

data: {"time":"2026-09-19T16:24:29.335Z","priority":"6","pid":"2830187","message":"@@ -1,6 +0,0 @@"}

data: {"time":"2026-09-19T16:24:29.335Z","priority":"6","pid":"2830187","message":"-[0] no network change[LF]"}

data: {"time":"2026-09-19T16:24:29.336Z","priority":"6","pid":"2830187","message":"--foo-[LF]"}

data: {"time":"2026-09-19T16:24:29.336Z","priority":"6","pid":"2830187","message":"-[1] signal network change[LF]"}

data: {"time":"2026-09-19T16:24:29.336Z","priority":"6","pid":"2830187","message":"--foo-[LF]"}

data: {"time":"2026-09-19T16:24:29.337Z","priority":"6","pid":"2830187","message":"-[2] no network change[LF]"}

data: {"time":"2026-09-19T16:24:29.337Z","priority":"6","pid":"2830187","message":"--foo-[LF]"}

data: {"time":"2026-09-19T16:24:29.338Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3033"}

data: {"time":"2026-09-19T16:24:29.338Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:29.339Z","priority":"6","pid":"2830187","message":" [0] no network change[LF]"}

data: {"time":"2026-09-19T16:24:29.339Z","priority":"6","pid":"2830187","message":" -foo-[LF]"}

data: {"time":"2026-09-19T16:24:29.339Z","priority":"6","pid":"2830187","message":" [1] signal network change[LF]"}

data: {"time":"2026-09-19T16:24:29.339Z","priority":"6","pid":"2830187","message":" -foo-[LF]"}

data: {"time":"2026-09-19T16:24:29.339Z","priority":"6","pid":"2830187","message":" [2] no network change[LF]"}

data: {"time":"2026-09-19T16:24:29.340Z","priority":"6","pid":"2830187","message":" -foo-[LF]"}

data: {"time":"2026-09-19T16:24:29.340Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:29.340Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:29.341Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:39689/3033 > log/stdout3033 2> log/stderr3033"}

data: {"time":"2026-09-19T16:24:29.341Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:29.342Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:29.342Z","priority":"6","pid":"2830187","message":" 16:24:28.712420 ====> Client connect"}

data: {"time":"2026-09-19T16:24:29.342Z","priority":"6","pid":"2830187","message":" 16:24:28.712462 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:29.343Z","priority":"6","pid":"2830187","message":" 16:24:28.712631 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:29.343Z","priority":"6","pid":"2830187","message":" 16:24:28.712651 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:29.343Z","priority":"6","pid":"2830187","message":" 16:24:28.712666 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:29.344Z","priority":"6","pid":"2830187","message":" 16:24:28.712676 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:29.344Z","priority":"6","pid":"2830187","message":" 16:24:28.712716 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:29.344Z","priority":"6","pid":"2830187","message":" 16:24:28.712737 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:29.345Z","priority":"6","pid":"2830187","message":" 16:24:28.712791 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:29.345Z","priority":"6","pid":"2830187","message":" 16:24:28.712802 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:29.346Z","priority":"6","pid":"2830187","message":" 16:24:28.712810 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:29.346Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:29.346Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:29.347Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:29.347Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41472"}

data: {"time":"2026-09-19T16:24:29.347Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:29.347Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:29.348Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:29.348Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:29.348Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:29.349Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:29.349Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:29.349Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:29.349Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:29.349Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:29.350Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:29.350Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:29.350Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:29.351Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:29.351Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:29.351Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:29.351Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:29.352Z","priority":"6","pid":"2830187","message":" Testnum 3033"}

data: {"time":"2026-09-19T16:24:29.352Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:29.352Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:29.353Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:29.353Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:29.353Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:29.353Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:29.354Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3033"}

data: {"time":"2026-09-19T16:24:29.355Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:29.355Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:29.355Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:29.355Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.355Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:29.357Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:29.357Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:29.357Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:29.357Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:29.357Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.358Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:29.359Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:29.359Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:29.359Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:29.360Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:29.361Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:29.361Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:29.361Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.362Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:29.362Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:29.363Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.363Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:29.364Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:29.364Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:29.364Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.365Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:29.365Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3033"}

data: {"time":"2026-09-19T16:24:29.366Z","priority":"6","pid":"2830187","message":"test 3034 [Test reset resolves rewind failure]"}

data: {"time":"2026-09-19T16:24:29.367Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:39689/3034 > log/stdout3034 2> log/stderr3034"}

data: {"time":"2026-09-19T16:24:29.368Z","priority":"6","pid":"2830187","message":"libtests returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:29.368Z","priority":"6","pid":"2830187","message":" 3034: exit FAILED"}

data: {"time":"2026-09-19T16:24:29.368Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3034"}

data: {"time":"2026-09-19T16:24:29.369Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:29.370Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:39689/3034 > log/stdout3034 2> log/stderr3034"}

data: {"time":"2026-09-19T16:24:29.371Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:29.371Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:29.371Z","priority":"6","pid":"2830187","message":" 16:24:28.954844 ====> Client connect"}

data: {"time":"2026-09-19T16:24:29.371Z","priority":"6","pid":"2830187","message":" 16:24:28.954898 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:29.372Z","priority":"6","pid":"2830187","message":" 16:24:28.955098 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:29.372Z","priority":"6","pid":"2830187","message":" 16:24:28.955115 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:29.373Z","priority":"6","pid":"2830187","message":" 16:24:28.955132 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:29.374Z","priority":"6","pid":"2830187","message":" 16:24:28.955201 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:29.374Z","priority":"6","pid":"2830187","message":" 16:24:28.955241 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:29.374Z","priority":"6","pid":"2830187","message":" 16:24:28.955262 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:29.375Z","priority":"6","pid":"2830187","message":" 16:24:28.955336 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:29.375Z","priority":"6","pid":"2830187","message":" 16:24:28.955347 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:29.376Z","priority":"6","pid":"2830187","message":" 16:24:28.955356 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:29.376Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:29.376Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:29.377Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:29.377Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41474"}

data: {"time":"2026-09-19T16:24:29.378Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:29.378Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:29.378Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:29.378Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:29.378Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:29.378Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:29.379Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:29.379Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:29.380Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:29.380Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:29.380Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:29.380Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:29.380Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:29.381Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:29.381Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:29.381Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:29.381Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:29.381Z","priority":"6","pid":"2830187","message":" Testnum 3034"}

data: {"time":"2026-09-19T16:24:29.382Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:29.382Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:29.382Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:29.382Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:29.383Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:29.383Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:29.383Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3034"}

data: {"time":"2026-09-19T16:24:29.384Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:29.384Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:29.384Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:29.385Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.385Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:29.385Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:29.386Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:29.386Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:29.386Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:29.387Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.387Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:29.387Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:29.388Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:29.388Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:29.389Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:29.389Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:29.390Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:29.390Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.390Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:29.391Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:29.391Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.392Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:29.392Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:29.392Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:29.392Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.392Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:29.393Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3034"}

data: {"time":"2026-09-19T16:24:29.393Z","priority":"6","pid":"2830187","message":"test 3035 [HTTP retry failed download with keep data and auto-resume]"}

data: {"time":"2026-09-19T16:24:29.395Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3035 ../src/curl -q --trace-ascii log/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/outfile3035 http://127.0.0.1:39689/3035 > log/stdout3035 2> log/stderr3035"}

data: {"time":"2026-09-19T16:24:29.395Z","priority":"6","pid":"2830187","message":" 3035: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:29.396Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:29.397Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:29.397Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3035"}

data: {"time":"2026-09-19T16:24:29.659Z","priority":"6","pid":"2830187","message":"=== Start of file comCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3036 ../src/curl -q --include --trace-ascii log/trace3036 --trace-time http://127.0.0.1:39689/ --no-clobber --output-dir log/present -OJ --retry 1 --retry-all-errors > log/stdout3036 2> log/stderr3036"}

data: {"time":"2026-09-19T16:24:29.857Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:34409/3100 > log/stdout3100 2> log/stderr3100"}

data: {"time":"2026-09-19T16:24:29.861Z","priority":"6","pid":"2830187","message":"mands.log"}

data: {"time":"2026-09-19T16:24:29.862Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3035 ../src/curl -q --trace-ascii log/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/outfile3035 http://127.0.0.1:39689/3035 > log/stdout3035 2> log/stderr3035"}

data: {"time":"2026-09-19T16:24:29.863Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:29.863Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:29.863Z","priority":"6","pid":"2830187","message":" 16:24:29.177805 ====> Client connect"}

data: {"time":"2026-09-19T16:24:29.863Z","priority":"6","pid":"2830187","message":" 16:24:29.177852 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:29.864Z","priority":"6","pid":"2830187","message":" 16:24:29.177890 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:29.864Z","priority":"6","pid":"2830187","message":" 16:24:29.177901 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:29.864Z","priority":"6","pid":"2830187","message":" 16:24:29.177917 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:29.865Z","priority":"6","pid":"2830187","message":" 16:24:29.177928 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:29.865Z","priority":"6","pid":"2830187","message":" 16:24:29.177974 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:29.865Z","priority":"6","pid":"2830187","message":" 16:24:29.178002 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:29.866Z","priority":"6","pid":"2830187","message":" 16:24:29.178117 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:29.866Z","priority":"6","pid":"2830187","message":" 16:24:29.178912 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:29.867Z","priority":"6","pid":"2830187","message":" 16:24:29.178948 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:29.867Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:29.868Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:29.868Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:29.868Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41484"}

data: {"time":"2026-09-19T16:24:29.868Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:29.868Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:29.869Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:29.869Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:29.869Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:29.870Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:29.870Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:29.870Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:29.870Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:29.870Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:29.870Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:29.871Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:29.871Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:29.871Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:29.871Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:29.872Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:29.872Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:29.872Z","priority":"6","pid":"2830187","message":" Testnum 3035"}

data: {"time":"2026-09-19T16:24:29.873Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:29.873Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:29.873Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:29.873Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:29.873Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:29.874Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:29.874Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3035"}

data: {"time":"2026-09-19T16:24:29.875Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:29.875Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:29.875Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:29.875Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.876Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:29.876Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:29.877Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:29.877Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:29.878Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:29.878Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.878Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:29.879Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:29.879Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:29.880Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:29.880Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:29.880Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:29.881Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:29.881Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.882Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:29.882Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:29.882Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.883Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:29.883Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:29.884Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:29.884Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.884Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:29.885Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3035"}

data: {"time":"2026-09-19T16:24:29.885Z","priority":"6","pid":"2830187","message":"test 3036 [--no-clobber, --retry and --output-dir identifying a file]"}

data: {"time":"2026-09-19T16:24:29.886Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3036 ../src/curl -q --include --trace-ascii log/trace3036 --trace-time http://127.0.0.1:39689/ --no-clobber --output-dir log/present -OJ --retry 1 --retry-all-errors > log/stdout3036 2> log/stderr3036"}

data: {"time":"2026-09-19T16:24:29.887Z","priority":"6","pid":"2830187","message":" 3036: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:29.887Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:29.887Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:29.888Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3036"}

data: {"time":"2026-09-19T16:24:29.888Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:29.890Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3036 ../src/curl -q --include --trace-ascii log/trace3036 --trace-time http://127.0.0.1:39689/ --no-clobber --output-dir log/present -OJ --retry 1 --retry-all-errors > log/stdout3036 2> log/stderr3036"}

data: {"time":"2026-09-19T16:24:29.890Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:29.890Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:29.891Z","priority":"6","pid":"2830187","message":" 16:24:29.503921 ====> Client connect"}

data: {"time":"2026-09-19T16:24:29.891Z","priority":"6","pid":"2830187","message":" 16:24:29.503970 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:29.891Z","priority":"6","pid":"2830187","message":" 16:24:29.504118 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:29.892Z","priority":"6","pid":"2830187","message":" 16:24:29.504160 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:29.892Z","priority":"6","pid":"2830187","message":" 16:24:29.504176 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:29.892Z","priority":"6","pid":"2830187","message":" 16:24:29.504186 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:29.893Z","priority":"6","pid":"2830187","message":" 16:24:29.504225 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:29.893Z","priority":"6","pid":"2830187","message":" 16:24:29.504249 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:29.894Z","priority":"6","pid":"2830187","message":" 16:24:29.504310 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:29.894Z","priority":"6","pid":"2830187","message":" 16:24:29.504321 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:29.895Z","priority":"6","pid":"2830187","message":" 16:24:29.504330 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:29.895Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:29.895Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:29.895Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:29.896Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41490"}

data: {"time":"2026-09-19T16:24:29.896Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:29.896Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:29.897Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:29.897Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:29.897Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:29.898Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:29.898Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:29.898Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:29.898Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:29.898Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:29.898Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:29.899Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:29.899Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:29.899Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:29.900Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:29.900Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:29.900Z","priority":"6","pid":"2830187","message":"=== Start of file present"}

data: {"time":"2026-09-19T16:24:29.900Z","priority":"6","pid":"2830187","message":" present"}

data: {"time":"2026-09-19T16:24:29.901Z","priority":"6","pid":"2830187","message":"=== End of file present"}

data: {"time":"2026-09-19T16:24:29.901Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:29.901Z","priority":"6","pid":"2830187","message":" Testnum 3036"}

data: {"time":"2026-09-19T16:24:29.901Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:29.901Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:29.902Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:29.902Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:29.902Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:29.902Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:29.903Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3036"}

data: {"time":"2026-09-19T16:24:29.903Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:29.903Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:29.904Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:29.904Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.905Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:29.905Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:29.906Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:29.906Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:29.906Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:29.906Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.907Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:29.907Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:29.908Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:29.908Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:29.909Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:29.909Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:29.911Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:29.911Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.911Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:29.912Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:29.912Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.913Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:29.914Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:29.914Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:29.915Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:29.915Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:29.916Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3036"}

data: {"time":"2026-09-19T16:24:29.918Z","priority":"6","pid":"2830187","message":"test 3100 [RTSP Authentication check]"}

data: {"time":"2026-09-19T16:24:29.919Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:34409/3100 > log/stdout3100 2> log/stderr3100"}

data: {"time":"2026-09-19T16:24:29.920Z","priority":"6","pid":"2830187","message":" 3100: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:29.921Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:29.922Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:29.923Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3100"}

data: {"time":"2026-09-19T16:24:29.924Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:29.926Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:34409/3100 > log/stdout3100 2> log/stderr3100"}

data: {"time":"2026-09-19T16:24:29.927Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:29.928Z","priority":"6","pid":"2830187","message":"=== Start of file rtsp_server.log"}

data: {"time":"2026-09-19T16:24:29.928Z","priority":"6","pid":"2830187","message":" 16:24:29.767000 ====> Client connect"}

data: {"time":"2026-09-19T16:24:29.930Z","priority":"6","pid":"2830187","message":" 16:24:29.767272 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:30.155Z","priority":"6","pid":"2830187","message":" 16:24:29.767304 rtspd_ProcessRequest() called with testno -7 and line [GET /verifiedserver HCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:39689/3101 > log/stdout3101 2> log/stderr3101"}

data: {"time":"2026-09-19T16:24:30.409Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:39689/3103 > log/stdout3103 2> log/stderr3103"}

data: {"time":"2026-09-19T16:24:30.414Z","priority":"6","pid":"2830187","message":"TTP/1.1"}

data: {"time":"2026-09-19T16:24:30.414Z","priority":"6","pid":"2830187","message":" Host: 127.0.0.1:34409"}

data: {"time":"2026-09-19T16:24:30.414Z","priority":"6","pid":"2830187","message":" User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:30.414Z","priority":"6","pid":"2830187","message":" Accept: */*"}

data: {"time":"2026-09-19T16:24:30.414Z","priority":"6","pid":"2830187","message":" ]"}

data: {"time":"2026-09-19T16:24:30.415Z","priority":"6","pid":"2830187","message":" 16:24:29.767320 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:30.415Z","priority":"6","pid":"2830187","message":" 16:24:29.767330 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:30.416Z","priority":"6","pid":"2830187","message":" 16:24:29.767370 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:30.416Z","priority":"6","pid":"2830187","message":" 16:24:29.767394 Send response number -2 part 0"}

data: {"time":"2026-09-19T16:24:30.416Z","priority":"6","pid":"2830187","message":" 16:24:29.767407 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:30.417Z","priority":"6","pid":"2830187","message":" 16:24:29.767464 Sent off 69 bytes"}

data: {"time":"2026-09-19T16:24:30.417Z","priority":"6","pid":"2830187","message":" 16:24:29.767491 Response sent (69 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:30.417Z","priority":"6","pid":"2830187","message":" 16:24:29.767502 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:30.418Z","priority":"6","pid":"2830187","message":" 16:24:29.767511 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:30.418Z","priority":"6","pid":"2830187","message":"=== End of file rtsp_server.log"}

data: {"time":"2026-09-19T16:24:30.418Z","priority":"6","pid":"2830187","message":"=== Start of file rtsp_verify.log"}

data: {"time":"2026-09-19T16:24:30.419Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:34409..."}

data: {"time":"2026-09-19T16:24:30.419Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 34409) from 127.0.0.1 port 37818"}

data: {"time":"2026-09-19T16:24:30.419Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:30.420Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:30.420Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:34409"}

data: {"time":"2026-09-19T16:24:30.420Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:30.420Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:30.421Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:30.421Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:30.421Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:30.421Z","priority":"6","pid":"2830187","message":" < Content-Length: 30"}

data: {"time":"2026-09-19T16:24:30.422Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:30.422Z","priority":"6","pid":"2830187","message":" { [30 bytes data]"}

data: {"time":"2026-09-19T16:24:30.422Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:34409 left intact"}

data: {"time":"2026-09-19T16:24:30.423Z","priority":"6","pid":"2830187","message":"=== End of file rtsp_verify.log"}

data: {"time":"2026-09-19T16:24:30.423Z","priority":"6","pid":"2830187","message":"=== Start of file rtsp_verify.out"}

data: {"time":"2026-09-19T16:24:30.423Z","priority":"6","pid":"2830187","message":" RTSP_SERVER WE ROOLZ: 110431"}

data: {"time":"2026-09-19T16:24:30.423Z","priority":"6","pid":"2830187","message":"=== End of file rtsp_verify.out"}

data: {"time":"2026-09-19T16:24:30.424Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:30.424Z","priority":"6","pid":"2830187","message":" Testnum 3100"}

data: {"time":"2026-09-19T16:24:30.424Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:30.424Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:30.424Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:30.424Z","priority":"6","pid":"2830187","message":" Content-Length: 30"}

data: {"time":"2026-09-19T16:24:30.425Z","priority":"6","pid":"2830187","message":" RTSP_SERVER WE ROOLZ: 110431"}

data: {"time":"2026-09-19T16:24:30.425Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:30.425Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3100"}

data: {"time":"2026-09-19T16:24:30.426Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:30.426Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:30.426Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:30.426Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.427Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:30.427Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:30.427Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:30.428Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:30.428Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:30.429Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.429Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:30.429Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:30.429Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:30.430Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:30.430Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:30.431Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:30.431Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:30.431Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.432Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:30.432Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:30.433Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.433Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:30.433Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:30.433Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:30.433Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.433Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:30.434Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3100"}

data: {"time":"2026-09-19T16:24:30.434Z","priority":"6","pid":"2830187","message":"test 3101 [HTTP auth without redirection protocols]"}

data: {"time":"2026-09-19T16:24:30.435Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:39689/3101 > log/stdout3101 2> log/stderr3101"}

data: {"time":"2026-09-19T16:24:30.435Z","priority":"6","pid":"2830187","message":" 3101: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:30.435Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:30.436Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:30.436Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3101"}

data: {"time":"2026-09-19T16:24:30.436Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:30.437Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:39689/3101 > log/stdout3101 2> log/stderr3101"}

data: {"time":"2026-09-19T16:24:30.438Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:30.438Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:30.438Z","priority":"6","pid":"2830187","message":" 16:24:30.030748 ====> Client connect"}

data: {"time":"2026-09-19T16:24:30.438Z","priority":"6","pid":"2830187","message":" 16:24:30.030812 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:30.439Z","priority":"6","pid":"2830187","message":" 16:24:30.031011 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:30.439Z","priority":"6","pid":"2830187","message":" 16:24:30.031036 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:30.439Z","priority":"6","pid":"2830187","message":" 16:24:30.031055 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:30.439Z","priority":"6","pid":"2830187","message":" 16:24:30.031066 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:30.440Z","priority":"6","pid":"2830187","message":" 16:24:30.031117 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:30.440Z","priority":"6","pid":"2830187","message":" 16:24:30.031181 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:30.440Z","priority":"6","pid":"2830187","message":" 16:24:30.031257 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:30.441Z","priority":"6","pid":"2830187","message":" 16:24:30.031271 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:30.441Z","priority":"6","pid":"2830187","message":" 16:24:30.031282 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:30.441Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:30.441Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:30.442Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:30.442Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41500"}

data: {"time":"2026-09-19T16:24:30.442Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:30.442Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:30.442Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:30.442Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:30.443Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:30.443Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:30.443Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:30.444Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:30.444Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:30.444Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:30.444Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:30.444Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:30.444Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:30.445Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:30.445Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:30.445Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:30.445Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:30.446Z","priority":"6","pid":"2830187","message":" Testnum 3101"}

data: {"time":"2026-09-19T16:24:30.446Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:30.446Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:30.446Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:30.446Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:30.447Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:30.447Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:30.447Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3101"}

data: {"time":"2026-09-19T16:24:30.448Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:30.448Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:30.448Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:30.449Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.449Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:30.450Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:30.450Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:30.450Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:30.451Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:30.451Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.451Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:30.452Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:30.452Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:30.453Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:30.453Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:30.454Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:30.454Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:30.454Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.455Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:30.455Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:30.455Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.455Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:30.456Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:30.456Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:30.456Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:30.457Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:30.457Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3101"}

data: {"time":"2026-09-19T16:24:30.457Z","priority":"6","pid":"2830187","message":"test 3103 [CURLOPT_COOKIELIST without expiry]"}

data: {"time":"2026-09-19T16:24:30.458Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:39689/3103 > log/stdout3103 2> log/stderr3103"}

data: {"time":"2026-09-19T16:24:30.459Z","priority":"6","pid":"2830187","message":" 3103: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:30.460Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:30.460Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:30.460Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3103"}

data: {"time":"2026-09-19T16:24:30.460Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:30.461Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:39689/3103 > log/stdout3103 2> log/stderr3103"}

data: {"time":"2026-09-19T16:24:30.462Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:30.462Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:30.462Z","priority":"6","pid":"2830187","message":" 16:24:30.302790 ====> Client connect"}

data: {"time":"2026-09-19T16:24:30.462Z","priority":"6","pid":"2830187","message":" 16:24:30.302836 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:30.463Z","priority":"6","pid":"2830187","message":" 16:24:30.302980 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:30.464Z","priority":"6","pid":"2830187","message":" 16:24:30.302997 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:30.464Z","priority":"6","pid":"2830187","message":" 16:24:30.303012 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:30.464Z","priority":"6","pid":"2830187","message":" 16:24:30.303022 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:30.464Z","priority":"6","pid":"2830187","message":" 16:24:30.303056 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:30.464Z","priority":"6","pid":"2830187","message":" 16:24:30.303076 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:30.467Z","priority":"6","pid":"2830187","message":" 16:24:30.303166 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:30.467Z","priority":"6","pid":"2830187","message":" 16:24:30.303177 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:30.468Z","priority":"6","pid":"2830187","message":" 16:24:30.303187 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:30.468Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:30.468Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:30.468Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:30.469Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41506"}

data: {"time":"2026-09-19T16:24:30.470Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:30.471Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:30.471Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:30.471Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:30.471Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:30.471Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:30.680Z","priority":"6","pid":"2830187","message":" * Request cCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:39689/3104 > log/stdout3104 2> log/stderr3104"}

data: {"time":"2026-09-19T16:24:30.846Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3105 ./libtest/libtests lib3105 - > log/stdout3105 2> log/stderr3105"}

data: {"time":"2026-09-19T16:24:30.987Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3200 ./unit/units unit3200 log/curl_get_line3200 > log/stdout3200 2> log/stderr3200"}

data: {"time":"2026-09-19T16:24:30.992Z","priority":"6","pid":"2830187","message":"ompletely sent off"}

data: {"time":"2026-09-19T16:24:30.993Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:30.993Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:30.993Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:30.993Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:30.993Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:30.994Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:30.994Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:30.994Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:30.995Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:30.995Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:30.995Z","priority":"6","pid":"2830187","message":" Testnum 3103"}

data: {"time":"2026-09-19T16:24:30.996Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:30.996Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:30.996Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:30.997Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:30.997Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:30.997Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:30.997Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3103"}

data: {"time":"2026-09-19T16:24:30.998Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:30.998Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:30.999Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:30.999Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.000Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:31.000Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:31.000Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.001Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:31.001Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.001Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.002Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:31.002Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:31.003Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:31.004Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:31.004Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:31.004Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:31.004Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:31.005Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.005Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:31.006Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:31.006Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.006Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:31.007Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:31.007Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:31.007Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.008Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:31.008Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3103"}

data: {"time":"2026-09-19T16:24:31.009Z","priority":"6","pid":"2830187","message":"test 3104 [CURLOPT_COOKIELIST with Netscape format]"}

data: {"time":"2026-09-19T16:24:31.010Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:39689/3104 > log/stdout3104 2> log/stderr3104"}

data: {"time":"2026-09-19T16:24:31.010Z","priority":"6","pid":"2830187","message":" 3104: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:31.011Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:31.011Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:31.011Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3104"}

data: {"time":"2026-09-19T16:24:31.012Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:31.013Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:39689/3104 > log/stdout3104 2> log/stderr3104"}

data: {"time":"2026-09-19T16:24:31.013Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:31.014Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:31.014Z","priority":"6","pid":"2830187","message":" 16:24:30.573516 ====> Client connect"}

data: {"time":"2026-09-19T16:24:31.014Z","priority":"6","pid":"2830187","message":" 16:24:30.573560 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:31.014Z","priority":"6","pid":"2830187","message":" 16:24:30.573695 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:31.015Z","priority":"6","pid":"2830187","message":" 16:24:30.573710 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:31.015Z","priority":"6","pid":"2830187","message":" 16:24:30.573726 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:31.016Z","priority":"6","pid":"2830187","message":" 16:24:30.573736 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:31.016Z","priority":"6","pid":"2830187","message":" 16:24:30.573770 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:31.016Z","priority":"6","pid":"2830187","message":" 16:24:30.573799 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:31.017Z","priority":"6","pid":"2830187","message":" 16:24:30.573854 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:31.017Z","priority":"6","pid":"2830187","message":" 16:24:30.573865 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:31.018Z","priority":"6","pid":"2830187","message":" 16:24:30.573874 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:31.018Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:31.018Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:31.018Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:31.019Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41510"}

data: {"time":"2026-09-19T16:24:31.019Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:31.019Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:31.019Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:31.020Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:31.020Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:31.020Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:31.020Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:31.020Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:31.021Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:31.021Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:31.021Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:31.022Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:31.022Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:31.022Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:31.022Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:31.023Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:31.023Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.023Z","priority":"6","pid":"2830187","message":" Testnum 3104"}

data: {"time":"2026-09-19T16:24:31.023Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.024Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:31.024Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:31.024Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:31.024Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:31.025Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:31.025Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3104"}

data: {"time":"2026-09-19T16:24:31.026Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:31.026Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:31.026Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:31.026Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.026Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:31.027Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:31.027Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.028Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:31.028Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.028Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.029Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:31.029Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:31.029Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:31.030Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:31.030Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:31.031Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:31.031Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:31.032Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.032Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:31.032Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:31.032Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.032Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:31.033Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:31.033Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:31.033Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.034Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:31.034Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3104"}

data: {"time":"2026-09-19T16:24:31.034Z","priority":"6","pid":"2830187","message":"test 3105 [curl_multi_remove_handle twice]"}

data: {"time":"2026-09-19T16:24:31.035Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3105 ./libtest/libtests lib3105 - > log/stdout3105 2> log/stderr3105"}

data: {"time":"2026-09-19T16:24:31.036Z","priority":"6","pid":"2830187","message":"libtests returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:31.036Z","priority":"6","pid":"2830187","message":" 3105: exit FAILED"}

data: {"time":"2026-09-19T16:24:31.036Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3105"}

data: {"time":"2026-09-19T16:24:31.037Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:31.038Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3105 ./libtest/libtests lib3105 - > log/stdout3105 2> log/stderr3105"}

data: {"time":"2026-09-19T16:24:31.038Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:31.038Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.038Z","priority":"6","pid":"2830187","message":" Testnum 3105"}

data: {"time":"2026-09-19T16:24:31.039Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.039Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3105"}

data: {"time":"2026-09-19T16:24:31.039Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:31.040Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:31.040Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:31.040Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.041Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:31.041Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:31.041Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.042Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:31.042Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.042Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.042Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:31.043Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:31.044Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:31.044Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:31.044Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:31.044Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:31.045Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:31.045Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.045Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:31.046Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:31.046Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.047Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:31.047Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:31.047Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:31.047Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.048Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:31.048Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3105"}

data: {"time":"2026-09-19T16:24:31.048Z","priority":"6","pid":"2830187","message":"test 3200 [curl_get_line unit tests]"}

data: {"time":"2026-09-19T16:24:31.049Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3200 ./unit/units unit3200 log/curl_get_line3200 > log/stdout3200 2> log/stderr3200"}

data: {"time":"2026-09-19T16:24:31.050Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:31.050Z","priority":"6","pid":"2830187","message":" 3200: exit FAILED"}

data: {"time":"2026-09-19T16:24:31.050Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3200"}

data: {"time":"2026-09-19T16:24:31.051Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:31.255Z","priority":"6","pid":"2830187","message":" CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3201 ../src/curl -q --output log/curl3201.out  --include --trace-ascii log/trace3201 --trace-time http://127.0.0.1:39689/3201 --haproxy-clientip \"192.168.1.1\" -H \"Testno: 3201\" > log/stdout3201 2> log/stderr3201"}

data: {"time":"2026-09-19T16:24:31.483Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3202 ../src/curl -q --output log/curl3202.out  --include --trace-ascii log/trace3202 --trace-time -g \"http://[::1]:34213/3202\" --haproxy-clientip \"2001:db8::\" > log/stdout3202 2> log/stderr3202"}

data: {"time":"2026-09-19T16:24:31.489Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3200 ./unit/units unit3200 log/curl_get_line3200 > log/stdout3200 2> log/stderr3200"}

data: {"time":"2026-09-19T16:24:31.490Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:31.490Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.490Z","priority":"6","pid":"2830187","message":" Testnum 3200"}

data: {"time":"2026-09-19T16:24:31.490Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.491Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3200"}

data: {"time":"2026-09-19T16:24:31.491Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:31.491Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:31.492Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:31.492Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.493Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:31.493Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:31.493Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.493Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:31.494Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.494Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.494Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:31.495Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:31.495Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:31.496Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:31.496Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:31.497Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:31.497Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:31.497Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.498Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:31.498Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:31.498Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.499Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:31.499Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:31.500Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:31.500Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.500Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:31.501Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3200"}

data: {"time":"2026-09-19T16:24:31.502Z","priority":"6","pid":"2830187","message":"test 3201 [HTTP GET when PROXY Protocol enabled and spoofed client IPv4]"}

data: {"time":"2026-09-19T16:24:31.503Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3201 ../src/curl -q --output log/curl3201.out  --include --trace-ascii log/trace3201 --trace-time http://127.0.0.1:39689/3201 --haproxy-clientip \"192.168.1.1\" -H \"Testno: 3201\" > log/stdout3201 2> log/stderr3201"}

data: {"time":"2026-09-19T16:24:31.504Z","priority":"6","pid":"2830187","message":" 3201: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:31.504Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:31.505Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:31.505Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3201"}

data: {"time":"2026-09-19T16:24:31.506Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:31.508Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3201 ../src/curl -q --output log/curl3201.out  --include --trace-ascii log/trace3201 --trace-time http://127.0.0.1:39689/3201 --haproxy-clientip \"192.168.1.1\" -H \"Testno: 3201\" > log/stdout3201 2> log/stderr3201"}

data: {"time":"2026-09-19T16:24:31.510Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:31.510Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:31.510Z","priority":"6","pid":"2830187","message":" 16:24:31.146502 ====> Client connect"}

data: {"time":"2026-09-19T16:24:31.510Z","priority":"6","pid":"2830187","message":" 16:24:31.146545 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:31.511Z","priority":"6","pid":"2830187","message":" 16:24:31.146670 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:31.512Z","priority":"6","pid":"2830187","message":" 16:24:31.146683 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:31.513Z","priority":"6","pid":"2830187","message":" 16:24:31.146696 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:31.514Z","priority":"6","pid":"2830187","message":" 16:24:31.146704 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:31.514Z","priority":"6","pid":"2830187","message":" 16:24:31.146742 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:31.515Z","priority":"6","pid":"2830187","message":" 16:24:31.146768 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:31.516Z","priority":"6","pid":"2830187","message":" 16:24:31.146828 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:31.517Z","priority":"6","pid":"2830187","message":" 16:24:31.146839 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:31.517Z","priority":"6","pid":"2830187","message":" 16:24:31.146848 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:31.518Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:31.518Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:31.518Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:31.519Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41512"}

data: {"time":"2026-09-19T16:24:31.520Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:31.520Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:31.520Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:31.520Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:31.520Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:31.520Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:31.521Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:31.521Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:31.521Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:31.522Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:31.522Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:31.522Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:31.522Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:31.523Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:31.523Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:31.523Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:31.524Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.524Z","priority":"6","pid":"2830187","message":" Testnum 3201"}

data: {"time":"2026-09-19T16:24:31.524Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.524Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:31.525Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:31.525Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:31.525Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:31.526Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:31.526Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3201"}

data: {"time":"2026-09-19T16:24:31.526Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:31.526Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:31.527Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:31.527Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.527Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:31.527Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:31.528Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.528Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:31.529Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.529Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.530Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:31.530Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:31.531Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:31.531Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:31.531Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:31.532Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:31.532Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:31.532Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.532Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:31.533Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:31.533Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.533Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:31.534Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:31.534Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:31.534Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.535Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:31.535Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3201"}

data: {"time":"2026-09-19T16:24:31.535Z","priority":"6","pid":"2830187","message":"test 3202 [HTTP-IPv6 GET with PROXY protocol with spoofed client IP]"}

data: {"time":"2026-09-19T16:24:31.536Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3202 ../src/curl -q --output log/curl3202.out  --include --trace-ascii log/trace3202 --trace-time -g \"http://[::1]:34213/3202\" --haproxy-clientip \"2001:db8::\" > log/stdout3202 2> log/stderr3202"}

data: {"time":"2026-09-19T16:24:31.537Z","priority":"6","pid":"2830187","message":" 3202: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:31.538Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:31.538Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:31.538Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3202"}

data: {"time":"2026-09-19T16:24:31.538Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:31.539Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3202 ../src/curl -q --output log/curl3202.out  --include --trace-ascii log/trace3202 --trace-time -g \"http://[::1]:34213/3202\" --haproxy-clientip \"2001:db8::\" > log/stdout3202 2> log/stderr3202"}

data: {"time":"2026-09-19T16:24:31.539Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:31.540Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:24:31.540Z","priority":"6","pid":"2830187","message":" 16:24:31.371357 ====> Client connect"}

data: {"time":"2026-09-19T16:24:31.540Z","priority":"6","pid":"2830187","message":" 16:24:31.371411 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:31.541Z","priority":"6","pid":"2830187","message":" 16:24:31.371538 Read 89 bytes"}

data: {"time":"2026-09-19T16:24:31.541Z","priority":"6","pid":"2830187","message":" 16:24:31.371551 Process 89 bytes request"}

data: {"time":"2026-09-19T16:24:31.542Z","priority":"6","pid":"2830187","message":" 16:24:31.371565 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:31.542Z","priority":"6","pid":"2830187","message":" 16:24:31.371572 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:31.542Z","priority":"6","pid":"2830187","message":" 16:24:31.371600 Wrote request (89 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:31.542Z","priority":"6","pid":"2830187","message":" 16:24:31.371618 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:31.543Z","priority":"6","pid":"2830187","message":" 16:24:31.371664 Response sent (56 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:31.543Z","priority":"6","pid":"2830187","message":" 16:24:31.371673 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:31.544Z","priority":"6","pid":"2830187","message":" 16:24:31.371680 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:31.545Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_server.log"}

data: {"time":"2026-09-19T16:24:31.545Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:24:31.545Z","priority":"6","pid":"2830187","message":" *   Trying [::1]:34213..."}

data: {"time":"2026-09-19T16:24:31.545Z","priority":"6","pid":"2830187","message":" * Established connection to [::1] (::1 port 34213) from ::1 port 56892"}

data: {"time":"2026-09-19T16:24:31.545Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:31.546Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:31.546Z","priority":"6","pid":"2830187","message":" > Host: [::1]:34213"}

data: {"time":"2026-09-19T16:24:31.546Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:31.546Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:31.547Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:31.547Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:31.547Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:31.548Z","priority":"6","pid":"2830187","message":" < Content-Length: 17"}

data: {"time":"2026-09-19T16:24:31.548Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:31.548Z","priority":"6","pid":"2830187","message":" { [17 bytes data]"}

data: {"time":"2026-09-19T16:24:31.548Z","priority":"6","pid":"2830187","message":" * Connection #0 to host [::1]:34213 left intact"}

data: {"time":"2026-09-19T16:24:31.549Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.log"}

data: {"time":"2026-09-19T16:24:31.549Z","priority":"6","pid":"2830187","message":"=== Start of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:24:31.549Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:24:31.549Z","priority":"6","pid":"2830187","message":"=== End of file http_ipv6_verify.out"}

data: {"time":"2026-09-19T16:24:31.550Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.550Z","priority":"6","pid":"2830187","message":" Testnum 3202"}

data: {"time":"2026-09-19T16:24:31.550Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:31.551Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:31.551Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:31.551Z","priority":"6","pid":"2830187","message":" Content-Length: 17"}

data: {"time":"2026-09-19T16:24:31.551Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 93005"}

data: {"time":"2026-09-19T16:24:31.551Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:31.552Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3202"}

data: {"time":"2026-09-19T16:24:31.711Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at starCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3203 ../src/curl -q --trace-ascii log/trace3203 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test3203.dir/ > log/stdout3203 2> log/stderr3203"}

data: {"time":"2026-09-19T16:24:31.714Z","priority":"6","pid":"2830187","message":"tup: a function redirection"}

data: {"time":"2026-09-19T16:24:31.714Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:31.715Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:31.715Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.715Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:31.716Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:31.717Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.717Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:31.717Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:31.717Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.718Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:31.718Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:31.718Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:31.719Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:31.719Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:31.720Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:31.720Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:31.721Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.721Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:31.722Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:31.722Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.723Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:31.723Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:31.723Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:31.723Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:31.724Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:31.724Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3202"}

data: {"time":"2026-09-19T16:24:31.968Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3204 ../src/curl -q --output log/curl3204.out  --include --trace-ascii log/trace3204 --trace-time http://127.0.0.1:39689/3204 --etag-compare log/etag3204 --etag-save log/etag3204 > log/stdout3204 2> log/stderr3204"}

data: {"time":"2026-09-19T16:24:32.112Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3205 ./unit/units unit3205 - > log/stdout3205 2> log/stderr3205"}

data: {"time":"2026-09-19T16:24:32.115Z","priority":"6","pid":"2830187","message":"test 3203 [Get a directory using file://]"}

data: {"time":"2026-09-19T16:24:32.117Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3203 ../src/curl -q --trace-ascii log/trace3203 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test3203.dir/ > log/stdout3203 2> log/stderr3203"}

data: {"time":"2026-09-19T16:24:32.118Z","priority":"6","pid":"2830187","message":" 3203: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:32.118Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:31.713930267 +0000"}

data: {"time":"2026-09-19T16:24:32.118Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:31.712859350 +0000"}

data: {"time":"2026-09-19T16:24:32.119Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:24:32.119Z","priority":"6","pid":"2830187","message":"-dir-listing-test.txt[LF]"}

data: {"time":"2026-09-19T16:24:32.119Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3203"}

data: {"time":"2026-09-19T16:24:32.119Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:32.120Z","priority":"6","pid":"2830187","message":" dir-listing-test.txt[LF]"}

data: {"time":"2026-09-19T16:24:32.120Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:32.120Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:32.122Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3203 ../src/curl -q --trace-ascii log/trace3203 --trace-time file://localhost/build/curl/src/build-curl/tests/log/test3203.dir/ > log/stdout3203 2> log/stderr3203"}

data: {"time":"2026-09-19T16:24:32.122Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:32.122Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:32.123Z","priority":"6","pid":"2830187","message":" Testnum 3203"}

data: {"time":"2026-09-19T16:24:32.123Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:32.123Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3203"}

data: {"time":"2026-09-19T16:24:32.123Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:32.124Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:32.124Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:32.124Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.125Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:32.125Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:32.125Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:32.126Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:32.126Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:32.126Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.126Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:32.127Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:32.127Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:32.127Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:32.128Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:32.128Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:32.128Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:32.129Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.129Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:32.129Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:32.130Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.130Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:32.130Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:32.130Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:32.131Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.131Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:32.131Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3203"}

data: {"time":"2026-09-19T16:24:32.131Z","priority":"6","pid":"2830187","message":"test 3204 [Use --etag-compare and --etag-save on an existing file]"}

data: {"time":"2026-09-19T16:24:32.133Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3204 ../src/curl -q --output log/curl3204.out  --include --trace-ascii log/trace3204 --trace-time http://127.0.0.1:39689/3204 --etag-compare log/etag3204 --etag-save log/etag3204 > log/stdout3204 2> log/stderr3204"}

data: {"time":"2026-09-19T16:24:32.133Z","priority":"6","pid":"2830187","message":" 3204: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:32.134Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:32.134Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:32.135Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3204"}

data: {"time":"2026-09-19T16:24:32.135Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:32.136Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3204 ../src/curl -q --output log/curl3204.out  --include --trace-ascii log/trace3204 --trace-time http://127.0.0.1:39689/3204 --etag-compare log/etag3204 --etag-save log/etag3204 > log/stdout3204 2> log/stderr3204"}

data: {"time":"2026-09-19T16:24:32.136Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:32.137Z","priority":"6","pid":"2830187","message":"=== Start of file etag3204"}

data: {"time":"2026-09-19T16:24:32.137Z","priority":"6","pid":"2830187","message":" \"21025-dc7-39462498\""}

data: {"time":"2026-09-19T16:24:32.137Z","priority":"6","pid":"2830187","message":"=== End of file etag3204"}

data: {"time":"2026-09-19T16:24:32.137Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:32.138Z","priority":"6","pid":"2830187","message":" 16:24:31.836827 ====> Client connect"}

data: {"time":"2026-09-19T16:24:32.138Z","priority":"6","pid":"2830187","message":" 16:24:31.836890 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:32.139Z","priority":"6","pid":"2830187","message":" 16:24:31.837052 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:32.139Z","priority":"6","pid":"2830187","message":" 16:24:31.837074 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:32.139Z","priority":"6","pid":"2830187","message":" 16:24:31.837093 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:32.139Z","priority":"6","pid":"2830187","message":" 16:24:31.837145 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:32.140Z","priority":"6","pid":"2830187","message":" 16:24:31.837188 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:32.140Z","priority":"6","pid":"2830187","message":" 16:24:31.837210 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:32.140Z","priority":"6","pid":"2830187","message":" 16:24:31.837273 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:32.141Z","priority":"6","pid":"2830187","message":" 16:24:31.837288 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:32.141Z","priority":"6","pid":"2830187","message":" 16:24:31.837298 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:32.142Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:32.142Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:32.142Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:32.142Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41518"}

data: {"time":"2026-09-19T16:24:32.143Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:32.143Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:32.143Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:32.143Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:32.144Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:32.144Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:32.144Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:32.144Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:32.144Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:32.144Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:32.145Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:32.145Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:32.145Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:32.146Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:32.146Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:32.146Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:32.146Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:32.146Z","priority":"6","pid":"2830187","message":" Testnum 3204"}

data: {"time":"2026-09-19T16:24:32.146Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:32.147Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:32.147Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:32.147Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:32.147Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:32.148Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:32.148Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3204"}

data: {"time":"2026-09-19T16:24:32.148Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:32.149Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:32.149Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:32.149Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.150Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:32.150Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:32.150Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:32.151Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:32.152Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:32.152Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.152Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:32.152Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:32.153Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:32.153Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:32.153Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:32.154Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:32.154Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:32.155Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.155Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:32.155Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:32.155Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.156Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:32.156Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:32.156Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:32.157Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.157Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:32.157Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3204"}

data: {"time":"2026-09-19T16:24:32.157Z","priority":"6","pid":"2830187","message":"test 3205 [cipher suite name lookup]"}

data: {"time":"2026-09-19T16:24:32.158Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3205 ./unit/units unit3205 - > log/stdout3205 2> log/stderr3205"}

data: {"time":"2026-09-19T16:24:32.159Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:32.159Z","priority":"6","pid":"2830187","message":" 3205: exit FAILED"}

data: {"time":"2026-09-19T16:24:32.160Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3205"}

data: {"time":"2026-09-19T16:24:32.160Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:32.161Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3205 ./unit/units unit3205 - > log/stdout3205 2> log/stderr3205"}

data: {"time":"2026-09-19T16:24:32.161Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:32.162Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:32.162Z","priority":"6","pid":"2830187","message":" Testnum 3205"}

data: {"time":"2026-09-19T16:24:32.162Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:32.162Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3205"}

data: {"time":"2026-09-19T16:24:32.163Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:32.163Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:32.163Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:32.164Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.164Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:32.164Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:32.165Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:32.165Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:32.166Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:32.166Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.166Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:32.166Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:32.167Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:32.167Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:32.429Z","priority":"6","pid":"2830187","message":" valCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3206 ../src/curl -q --output log/curl3206.out  --include --trace-ascii log/trace3206 --trace-time imap://127.0.0.1:46101/3206/ -u user:secret -X 'FETCH 456 (\"fake {50}\" BODY[TEXT])' > log/stdout3206 2> log/stderr3206"}

data: {"time":"2026-09-19T16:24:32.689Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3209 ../src/curl -q --output log/curl3209.out  --include --trace-ascii log/trace3209 --trace-time imap://127.0.0.1:46101/3209 -T log/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/stdout3209 2> log/stderr3209"}

data: {"time":"2026-09-19T16:24:32.695Z","priority":"6","pid":"2830187","message":"grind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:32.696Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:32.696Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:32.696Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.697Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:32.697Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:32.698Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.698Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:32.698Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:32.699Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:32.699Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.699Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:32.700Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3205"}

data: {"time":"2026-09-19T16:24:32.700Z","priority":"6","pid":"2830187","message":"test 3206 [IMAP custom FETCH with larger literal response (~7KB)]"}

data: {"time":"2026-09-19T16:24:32.702Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3206 ../src/curl -q --output log/curl3206.out  --include --trace-ascii log/trace3206 --trace-time imap://127.0.0.1:46101/3206/ -u user:secret -X 'FETCH 456 (\"fake {50}\" BODY[TEXT])' > log/stdout3206 2> log/stderr3206"}

data: {"time":"2026-09-19T16:24:32.702Z","priority":"6","pid":"2830187","message":" 3206: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:32.703Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:32.703Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:32.703Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3206"}

data: {"time":"2026-09-19T16:24:32.704Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:32.705Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3206 ../src/curl -q --output log/curl3206.out  --include --trace-ascii log/trace3206 --trace-time imap://127.0.0.1:46101/3206/ -u user:secret -X 'FETCH 456 (\"fake {50}\" BODY[TEXT])' > log/stdout3206 2> log/stderr3206"}

data: {"time":"2026-09-19T16:24:32.706Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:32.706Z","priority":"6","pid":"2830187","message":"=== Start of file imap_server.log"}

data: {"time":"2026-09-19T16:24:32.707Z","priority":"6","pid":"2830187","message":" 16:24:32.205162 ====> Client connect"}

data: {"time":"2026-09-19T16:24:32.707Z","priority":"6","pid":"2830187","message":" 16:24:32.205860 > \"        _   _ ____  _[CR][LF]    ___| | | |  _ \\| |[CR][LF]   / __| | | | |_) | |[CR][LF]  | (__| |_| |  _ {| |___[CR][LF]   \\___|\\___/|_| \\_\\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.708Z","priority":"6","pid":"2830187","message":" 16:24:32.206120 < \"A001 CAPABILITY\""}

data: {"time":"2026-09-19T16:24:32.708Z","priority":"6","pid":"2830187","message":" 16:24:32.206385 > \"A001 BAD Command[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.708Z","priority":"6","pid":"2830187","message":" 16:24:32.206625 < \"A002 LIST \"verifiedserver\" *\""}

data: {"time":"2026-09-19T16:24:32.709Z","priority":"6","pid":"2830187","message":" 16:24:32.206679 LIST_imap got \"verifiedserver\" *"}

data: {"time":"2026-09-19T16:24:32.709Z","priority":"6","pid":"2830187","message":" 16:24:32.206779 > \"* LIST () \"/\" \"WE ROOLZ: 112545\"[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.709Z","priority":"6","pid":"2830187","message":" 16:24:32.206815 > \"A002 OK LIST Completed[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.710Z","priority":"6","pid":"2830187","message":" 16:24:32.206837 return proof we are we"}

data: {"time":"2026-09-19T16:24:32.710Z","priority":"6","pid":"2830187","message":" 16:24:32.248118 < \"A003 LOGOUT\""}

data: {"time":"2026-09-19T16:24:32.710Z","priority":"6","pid":"2830187","message":" 16:24:32.248195 > \"* BYE curl IMAP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.711Z","priority":"6","pid":"2830187","message":" 16:24:32.248226 > \"A003 OK LOGOUT completed[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.711Z","priority":"6","pid":"2830187","message":" 16:24:32.249430 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:32.711Z","priority":"6","pid":"2830187","message":" 16:24:32.249559 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:32.711Z","priority":"6","pid":"2830187","message":" 16:24:32.249810 Awaiting input"}

data: {"time":"2026-09-19T16:24:32.712Z","priority":"6","pid":"2830187","message":"=== End of file imap_server.log"}

data: {"time":"2026-09-19T16:24:32.712Z","priority":"6","pid":"2830187","message":"=== Start of file imap_sockfilt.log"}

data: {"time":"2026-09-19T16:24:32.712Z","priority":"6","pid":"2830187","message":" 16:24:31.263775 ====> Client connect"}

data: {"time":"2026-09-19T16:24:32.713Z","priority":"6","pid":"2830187","message":" 16:24:31.264260 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:32.713Z","priority":"6","pid":"2830187","message":" 16:24:31.264291 > 164 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:32.714Z","priority":"6","pid":"2830187","message":" 16:24:31.264312 '        _   _ ____  _\\r\\n    ___| | | |  _ \\| |\\r\\n   / __| |'"}

data: {"time":"2026-09-19T16:24:32.714Z","priority":"6","pid":"2830187","message":" 16:24:31.264322 ' | | |_) | |\\r\\n  | (__| |_| |  _ {| |___\\r\\n   \\___|\\___/|_|'"}

data: {"time":"2026-09-19T16:24:32.714Z","priority":"6","pid":"2830187","message":" 16:24:31.264331 ' \\_\\_____|\\r\\n* OK curl IMAP server ready to serve\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.715Z","priority":"6","pid":"2830187","message":" 16:24:31.264528 < 17 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:32.716Z","priority":"6","pid":"2830187","message":" 16:24:31.264557 'A001 CAPABILITY\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.716Z","priority":"6","pid":"2830187","message":" 16:24:31.264955 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:32.716Z","priority":"6","pid":"2830187","message":" 16:24:31.264975 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:32.716Z","priority":"6","pid":"2830187","message":" 16:24:31.264996 'A001 BAD Command\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.716Z","priority":"6","pid":"2830187","message":" 16:24:31.265082 < 30 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:32.716Z","priority":"6","pid":"2830187","message":" 16:24:31.265097 'A002 LIST \"verifiedserver\" *\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.716Z","priority":"6","pid":"2830187","message":" 16:24:31.265498 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:32.716Z","priority":"6","pid":"2830187","message":" 16:24:31.265522 > 34 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:32.717Z","priority":"6","pid":"2830187","message":" 16:24:31.265639 '* LIST () \"/\" \"WE ROOLZ: 112545\"\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.717Z","priority":"6","pid":"2830187","message":" 16:24:31.265684 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:32.718Z","priority":"6","pid":"2830187","message":" 16:24:31.265697 > 24 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:32.718Z","priority":"6","pid":"2830187","message":" 16:24:31.265709 'A002 OK LIST Completed\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.718Z","priority":"6","pid":"2830187","message":" 16:24:31.306713 < 13 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:32.718Z","priority":"6","pid":"2830187","message":" 16:24:31.306777 'A003 LOGOUT\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.718Z","priority":"6","pid":"2830187","message":" 16:24:31.307049 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:32.718Z","priority":"6","pid":"2830187","message":" 16:24:31.307077 > 36 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:32.719Z","priority":"6","pid":"2830187","message":" 16:24:31.307091 '* BYE curl IMAP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.720Z","priority":"6","pid":"2830187","message":" 16:24:31.307937 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:32.720Z","priority":"6","pid":"2830187","message":" 16:24:31.308023 > 26 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:32.720Z","priority":"6","pid":"2830187","message":" 16:24:31.308044 'A003 OK LOGOUT completed\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.720Z","priority":"6","pid":"2830187","message":" 16:24:31.308145 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:32.720Z","priority":"6","pid":"2830187","message":" 16:24:31.308281 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:32.721Z","priority":"6","pid":"2830187","message":"=== End of file imap_sockfilt.log"}

data: {"time":"2026-09-19T16:24:32.721Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:32.721Z","priority":"6","pid":"2830187","message":" Testnum 3206"}

data: {"time":"2026-09-19T16:24:32.721Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:32.722Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3206"}

data: {"time":"2026-09-19T16:24:32.722Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:32.722Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:32.723Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:32.723Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.724Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:32.724Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:32.724Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:32.725Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:32.725Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:32.725Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.726Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:32.727Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:32.727Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:32.728Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:32.728Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:32.729Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:32.729Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:32.729Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.730Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:32.730Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:32.731Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.731Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:32.731Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:32.732Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:32.732Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:32.732Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:32.733Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3206"}

data: {"time":"2026-09-19T16:24:32.734Z","priority":"6","pid":"2830187","message":"test 3209 [Upload message via IMAP with upload flags]"}

data: {"time":"2026-09-19T16:24:32.735Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3209 ../src/curl -q --output log/curl3209.out  --include --trace-ascii log/trace3209 --trace-time imap://127.0.0.1:46101/3209 -T log/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/stdout3209 2> log/stderr3209"}

data: {"time":"2026-09-19T16:24:32.736Z","priority":"6","pid":"2830187","message":" 3209: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:32.736Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:32.737Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:32.737Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3209"}

data: {"time":"2026-09-19T16:24:32.737Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:32.740Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3209 ../src/curl -q --output log/curl3209.out  --include --trace-ascii log/trace3209 --trace-time imap://127.0.0.1:46101/3209 -T log/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/stdout3209 2> log/stderr3209"}

data: {"time":"2026-09-19T16:24:32.740Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:32.740Z","priority":"6","pid":"2830187","message":"=== Start of file imap_server.log"}

data: {"time":"2026-09-19T16:24:32.740Z","priority":"6","pid":"2830187","message":" 16:24:32.473079 ====> Client connect"}

data: {"time":"2026-09-19T16:24:32.741Z","priority":"6","pid":"2830187","message":" 16:24:32.473815 > \"        _   _ ____  _[CR][LF]    ___| | | |  _ \\| |[CR][LF]   / __| | | | |_) | |[CR][LF]  | (__| |_| |  _ {| |___[CR][LF]   \\___|\\___/|_| \\_\\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.742Z","priority":"6","pid":"2830187","message":" 16:24:32.474014 < \"A001 CAPABILITY\""}

data: {"time":"2026-09-19T16:24:32.743Z","priority":"6","pid":"2830187","message":" 16:24:32.474068 > \"A001 BAD Command[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.743Z","priority":"6","pid":"2830187","message":" 16:24:32.474396 < \"A002 LIST \"verifiedserver\" *\""}

data: {"time":"2026-09-19T16:24:32.743Z","priority":"6","pid":"2830187","message":" 16:24:32.474444 LIST_imap got \"verifiedserver\" *"}

data: {"time":"2026-09-19T16:24:32.743Z","priority":"6","pid":"2830187","message":" 16:24:32.474521 > \"* LIST () \"/\" \"WE ROOLZ: 112545\"[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.744Z","priority":"6","pid":"2830187","message":" 16:24:32.474551 > \"A002 OK LIST Completed[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.744Z","priority":"6","pid":"2830187","message":" 16:24:32.474571 return proof we are we"}

data: {"time":"2026-09-19T16:24:32.744Z","priority":"6","pid":"2830187","message":" 16:24:32.516016 < \"A003 LOGOUT\""}

data: {"time":"2026-09-19T16:24:32.745Z","priority":"6","pid":"2830187","message":" 16:24:32.516117 > \"* BYE curl IMAP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.745Z","priority":"6","pid":"2830187","message":" 16:24:32.516158 > \"A003 OK LOGOUT completed[CR][LF]\""}

data: {"time":"2026-09-19T16:24:32.745Z","priority":"6","pid":"2830187","message":" 16:24:32.517198 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:32.746Z","priority":"6","pid":"2830187","message":" 16:24:32.517298 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:32.746Z","priority":"6","pid":"2830187","message":" 16:24:32.517473 Awaiting input"}

data: {"time":"2026-09-19T16:24:32.746Z","priority":"6","pid":"2830187","message":"=== End of file imap_server.log"}

data: {"time":"2026-09-19T16:24:32.747Z","priority":"6","pid":"2830187","message":"=== Start of file imap_sockfilt.log"}

data: {"time":"2026-09-19T16:24:32.747Z","priority":"6","pid":"2830187","message":" 16:24:31.531650 ====> Client connect"}

data: {"time":"2026-09-19T16:24:32.747Z","priority":"6","pid":"2830187","message":" 16:24:31.532244 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:32.748Z","priority":"6","pid":"2830187","message":" 16:24:31.532277 > 164 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:32.748Z","priority":"6","pid":"2830187","message":" 16:24:31.532303 '        _   _ ____  _\\r\\n    ___| | | |  _ \\| |\\r\\n   / __| |'"}

data: {"time":"2026-09-19T16:24:32.749Z","priority":"6","pid":"2830187","message":" 16:24:31.532364 ' | | |_) | |\\r\\n  | (__| |_| |  _ {| |___\\r\\n   \\___|\\___/|_|'"}

data: {"time":"2026-09-19T16:24:32.749Z","priority":"6","pid":"2830187","message":" 16:24:31.532389 ' \\_\\_____|\\r\\n* OK curl IMAP server ready to serve\\r\\n'"}

data: {"time":"2026-09-19T16:24:32.992Z","priority":"6","pid":"2830187","message":" 16:24:31.532525 < 17 bytes data,CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3210 ../src/curl -q --output log/curl3210.out  --include --trace-ascii log/trace3210 --trace-time imap://127.0.0.1:46101/3210 -T log/upload3210 -u user:secret --upload-flags -seen > log/stdout3210 2> log/stderr3210"}

data: {"time":"2026-09-19T16:24:33.001Z","priority":"6","pid":"2830187","message":" client => server"}

data: {"time":"2026-09-19T16:24:33.001Z","priority":"6","pid":"2830187","message":" 16:24:31.532541 'A001 CAPABILITY\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.001Z","priority":"6","pid":"2830187","message":" 16:24:31.532871 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.002Z","priority":"6","pid":"2830187","message":" 16:24:31.532889 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.002Z","priority":"6","pid":"2830187","message":" 16:24:31.532900 'A001 BAD Command\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.003Z","priority":"6","pid":"2830187","message":" 16:24:31.533042 < 30 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:33.003Z","priority":"6","pid":"2830187","message":" 16:24:31.533060 'A002 LIST \"verifiedserver\" *\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.003Z","priority":"6","pid":"2830187","message":" 16:24:31.533251 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.004Z","priority":"6","pid":"2830187","message":" 16:24:31.533267 > 34 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.004Z","priority":"6","pid":"2830187","message":" 16:24:31.533368 '* LIST () \"/\" \"WE ROOLZ: 112545\"\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.005Z","priority":"6","pid":"2830187","message":" 16:24:31.533399 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.005Z","priority":"6","pid":"2830187","message":" 16:24:31.533411 > 24 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.005Z","priority":"6","pid":"2830187","message":" 16:24:31.533423 'A002 OK LIST Completed\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.005Z","priority":"6","pid":"2830187","message":" 16:24:31.574578 < 13 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:33.006Z","priority":"6","pid":"2830187","message":" 16:24:31.574655 'A003 LOGOUT\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.006Z","priority":"6","pid":"2830187","message":" 16:24:31.574980 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.006Z","priority":"6","pid":"2830187","message":" 16:24:31.575007 > 36 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.007Z","priority":"6","pid":"2830187","message":" 16:24:31.575021 '* BYE curl IMAP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.007Z","priority":"6","pid":"2830187","message":" 16:24:31.575817 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.007Z","priority":"6","pid":"2830187","message":" 16:24:31.575853 > 26 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.008Z","priority":"6","pid":"2830187","message":" 16:24:31.575867 'A003 OK LOGOUT completed\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.008Z","priority":"6","pid":"2830187","message":" 16:24:31.575921 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:33.008Z","priority":"6","pid":"2830187","message":" 16:24:31.576027 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:33.009Z","priority":"6","pid":"2830187","message":"=== End of file imap_sockfilt.log"}

data: {"time":"2026-09-19T16:24:33.009Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.009Z","priority":"6","pid":"2830187","message":" Testnum 3209"}

data: {"time":"2026-09-19T16:24:33.009Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.010Z","priority":"6","pid":"2830187","message":"=== Start of file upload3209"}

data: {"time":"2026-09-19T16:24:33.010Z","priority":"6","pid":"2830187","message":" Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)"}

data: {"time":"2026-09-19T16:24:33.010Z","priority":"6","pid":"2830187","message":" From: Fred Foobar <foobar@example.COM>"}

data: {"time":"2026-09-19T16:24:33.010Z","priority":"6","pid":"2830187","message":" Subject: afternoon meeting"}

data: {"time":"2026-09-19T16:24:33.010Z","priority":"6","pid":"2830187","message":" To: joe@example.com"}

data: {"time":"2026-09-19T16:24:33.011Z","priority":"6","pid":"2830187","message":" Message-Id: <B27397-0100000@example.COM>"}

data: {"time":"2026-09-19T16:24:33.011Z","priority":"6","pid":"2830187","message":" MIME-Version: 1.0"}

data: {"time":"2026-09-19T16:24:33.011Z","priority":"6","pid":"2830187","message":" Content-Type: TEXT/PLAIN; CHARSET=US-ASCII"}

data: {"time":"2026-09-19T16:24:33.012Z","priority":"6","pid":"2830187","message":" Hello Joe, do you think we can meet at 3:30 tomorrow?"}

data: {"time":"2026-09-19T16:24:33.012Z","priority":"6","pid":"2830187","message":"=== End of file upload3209"}

data: {"time":"2026-09-19T16:24:33.012Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3209"}

data: {"time":"2026-09-19T16:24:33.013Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:33.013Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:33.013Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:33.014Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.015Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:33.015Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:33.015Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.015Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:33.015Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.015Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.016Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:33.016Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:33.017Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:33.017Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:33.018Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:33.018Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:33.018Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:33.018Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.019Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:33.019Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:33.019Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.020Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:33.020Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:33.020Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:33.021Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.022Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:33.022Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3209"}

data: {"time":"2026-09-19T16:24:33.022Z","priority":"6","pid":"2830187","message":"test 3210 [Upload message unread via IMAP]"}

data: {"time":"2026-09-19T16:24:33.023Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3210 ../src/curl -q --output log/curl3210.out  --include --trace-ascii log/trace3210 --trace-time imap://127.0.0.1:46101/3210 -T log/upload3210 -u user:secret --upload-flags -seen > log/stdout3210 2> log/stderr3210"}

data: {"time":"2026-09-19T16:24:33.023Z","priority":"6","pid":"2830187","message":" 3210: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:33.024Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:33.024Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:33.024Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3210"}

data: {"time":"2026-09-19T16:24:33.025Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:33.027Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3210 ../src/curl -q --output log/curl3210.out  --include --trace-ascii log/trace3210 --trace-time imap://127.0.0.1:46101/3210 -T log/upload3210 -u user:secret --upload-flags -seen > log/stdout3210 2> log/stderr3210"}

data: {"time":"2026-09-19T16:24:33.027Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:33.028Z","priority":"6","pid":"2830187","message":"=== Start of file imap_server.log"}

data: {"time":"2026-09-19T16:24:33.028Z","priority":"6","pid":"2830187","message":" 16:24:32.787791 ====> Client connect"}

data: {"time":"2026-09-19T16:24:33.029Z","priority":"6","pid":"2830187","message":" 16:24:32.788606 > \"        _   _ ____  _[CR][LF]    ___| | | |  _ \\| |[CR][LF]   / __| | | | |_) | |[CR][LF]  | (__| |_| |  _ {| |___[CR][LF]   \\___|\\___/|_| \\_\\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]\""}

data: {"time":"2026-09-19T16:24:33.029Z","priority":"6","pid":"2830187","message":" 16:24:32.788894 < \"A001 CAPABILITY\""}

data: {"time":"2026-09-19T16:24:33.029Z","priority":"6","pid":"2830187","message":" 16:24:32.789045 > \"A001 BAD Command[CR][LF]\""}

data: {"time":"2026-09-19T16:24:33.030Z","priority":"6","pid":"2830187","message":" 16:24:32.789484 < \"A002 LIST \"verifiedserver\" *\""}

data: {"time":"2026-09-19T16:24:33.030Z","priority":"6","pid":"2830187","message":" 16:24:32.789541 LIST_imap got \"verifiedserver\" *"}

data: {"time":"2026-09-19T16:24:33.030Z","priority":"6","pid":"2830187","message":" 16:24:32.789611 > \"* LIST () \"/\" \"WE ROOLZ: 112545\"[CR][LF]\""}

data: {"time":"2026-09-19T16:24:33.031Z","priority":"6","pid":"2830187","message":" 16:24:32.789650 > \"A002 OK LIST Completed[CR][LF]\""}

data: {"time":"2026-09-19T16:24:33.031Z","priority":"6","pid":"2830187","message":" 16:24:32.789676 return proof we are we"}

data: {"time":"2026-09-19T16:24:33.031Z","priority":"6","pid":"2830187","message":" 16:24:32.831126 < \"A003 LOGOUT\""}

data: {"time":"2026-09-19T16:24:33.032Z","priority":"6","pid":"2830187","message":" 16:24:32.831241 > \"* BYE curl IMAP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:33.033Z","priority":"6","pid":"2830187","message":" 16:24:32.831281 > \"A003 OK LOGOUT completed[CR][LF]\""}

data: {"time":"2026-09-19T16:24:33.033Z","priority":"6","pid":"2830187","message":" 16:24:32.832363 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:33.033Z","priority":"6","pid":"2830187","message":" 16:24:32.832465 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:33.033Z","priority":"6","pid":"2830187","message":" 16:24:32.832580 Awaiting input"}

data: {"time":"2026-09-19T16:24:33.033Z","priority":"6","pid":"2830187","message":"=== End of file imap_server.log"}

data: {"time":"2026-09-19T16:24:33.034Z","priority":"6","pid":"2830187","message":"=== Start of file imap_sockfilt.log"}

data: {"time":"2026-09-19T16:24:33.034Z","priority":"6","pid":"2830187","message":" 16:24:31.846357 ====> Client connect"}

data: {"time":"2026-09-19T16:24:33.034Z","priority":"6","pid":"2830187","message":" 16:24:31.846853 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.035Z","priority":"6","pid":"2830187","message":" 16:24:31.846906 > 164 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.035Z","priority":"6","pid":"2830187","message":" 16:24:31.847031 '        _   _ ____  _\\r\\n    ___| | | |  _ \\| |\\r\\n   / __| |'"}

data: {"time":"2026-09-19T16:24:33.035Z","priority":"6","pid":"2830187","message":" 16:24:31.847059 ' | | |_) | |\\r\\n  | (__| |_| |  _ {| |___\\r\\n   \\___|\\___/|_|'"}

data: {"time":"2026-09-19T16:24:33.036Z","priority":"6","pid":"2830187","message":" 16:24:31.847071 ' \\_\\_____|\\r\\n* OK curl IMAP server ready to serve\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.036Z","priority":"6","pid":"2830187","message":" 16:24:31.847272 < 17 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:33.036Z","priority":"6","pid":"2830187","message":" 16:24:31.847298 'A001 CAPABILITY\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.037Z","priority":"6","pid":"2830187","message":" 16:24:31.847747 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.038Z","priority":"6","pid":"2830187","message":" 16:24:31.847773 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.038Z","priority":"6","pid":"2830187","message":" 16:24:31.847859 'A001 BAD Command\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.038Z","priority":"6","pid":"2830187","message":" 16:24:31.848016 < 30 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:33.038Z","priority":"6","pid":"2830187","message":" 16:24:31.848040 'A002 LIST \"verifiedserver\" *\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.038Z","priority":"6","pid":"2830187","message":" 16:24:31.848491 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.039Z","priority":"6","pid":"2830187","message":" 16:24:31.848515 > 34 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.039Z","priority":"6","pid":"2830187","message":" 16:24:31.848533 '* LIST () \"/\" \"WE ROOLZ: 112545\"\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.039Z","priority":"6","pid":"2830187","message":" 16:24:31.848574 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.040Z","priority":"6","pid":"2830187","message":" 16:24:31.848586 > 24 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.040Z","priority":"6","pid":"2830187","message":" 16:24:31.848598 'A002 OK LIST Completed\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.041Z","priority":"6","pid":"2830187","message":" 16:24:31.889522 < 13 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:33.041Z","priority":"6","pid":"2830187","message":" 16:24:31.889626 'A003 LOGOUT\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.041Z","priority":"6","pid":"2830187","message":" 16:24:31.890111 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.041Z","priority":"6","pid":"2830187","message":" 16:24:31.890144 > 36 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.042Z","priority":"6","pid":"2830187","message":" 16:24:31.890162 '* BYE curl IMAP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.042Z","priority":"6","pid":"2830187","message":" 16:24:31.890951 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:33.042Z","priority":"6","pid":"2830187","message":" 16:24:31.890985 > 26 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:33.043Z","priority":"6","pid":"2830187","message":" 16:24:31.890998 'A003 OK LOGOUT completed\\r\\n'"}

data: {"time":"2026-09-19T16:24:33.043Z","priority":"6","pid":"2830187","message":" 16:24:31.891049 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:33.044Z","priority":"6","pid":"2830187","message":" 16:24:31.891191 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:33.044Z","priority":"6","pid":"2830187","message":"=== End of file imap_sockfilt.log"}

data: {"time":"2026-09-19T16:24:33.044Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.044Z","priority":"6","pid":"2830187","message":" Testnum 3210"}

data: {"time":"2026-09-19T16:24:33.044Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.045Z","priority":"6","pid":"2830187","message":"=== Start of file upload3210"}

data: {"time":"2026-09-19T16:24:33.045Z","priority":"6","pid":"2830187","message":" Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)"}

data: {"time":"2026-09-19T16:24:33.045Z","priority":"6","pid":"2830187","message":" From: Fred Foobar <foobar@example.COM>"}

data: {"time":"2026-09-19T16:24:33.045Z","priority":"6","pid":"2830187","message":" Subject: afternoon meeting"}

data: {"time":"2026-09-19T16:24:33.046Z","priority":"6","pid":"2830187","message":" To: joe@example.com"}

data: {"time":"2026-09-19T16:24:33.046Z","priority":"6","pid":"2830187","message":" Message-Id: <B27397-0100000@example.COM>"}

data: {"time":"2026-09-19T16:24:33.046Z","priority":"6","pid":"2830187","message":" MIME-Version: 1.0"}

data: {"time":"2026-09-19T16:24:33.046Z","priority":"6","pid":"2830187","message":" Content-Type: TEXT/PLAIN; CHARSET=US-ASCII"}

data: {"time":"2026-09-19T16:24:33.047Z","priority":"6","pid":"2830187","message":" Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."}

data: {"time":"2026-09-19T16:24:33.047Z","priority":"6","pid":"2830187","message":"=== End of file upload3210"}

data: {"time":"2026-09-19T16:24:33.047Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3210"}

data: {"time":"2026-09-19T16:24:33.048Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:33.048Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:33.049Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:33.049Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.049Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:33.050Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:33.050Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.050Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:33.051Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.051Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.051Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:33.052Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:33.052Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:33.053Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:33.054Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:33.054Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:33.054Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:33.054Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.054Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:33.055Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:33.055Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.055Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:33.183Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3211 ./unit/units unit3211 - > log/stdout3211 2> log/stderr3211"}

data: {"time":"2026-09-19T16:24:33.309Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3212 ./unit/units unit3212 - > log/stdout3212 2> log/stderr3212"}

data: {"time":"2026-09-19T16:24:33.450Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3213 ./unit/units unit3213 - > log/stdout3213 2> log/stderr3213"}

data: {"time":"2026-09-19T16:24:33.587Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3214 ./unit/units unit3214 - > log/stdout3214 2> log/stderr3214"}

data: {"time":"2026-09-19T16:24:33.591Z","priority":"6","pid":"2830187","message":"you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:33.592Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:33.593Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.593Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:33.593Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3210"}

data: {"time":"2026-09-19T16:24:33.594Z","priority":"6","pid":"2830187","message":"test 3211 [uint_bset and uint_hashset unit tests]"}

data: {"time":"2026-09-19T16:24:33.595Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3211 ./unit/units unit3211 - > log/stdout3211 2> log/stderr3211"}

data: {"time":"2026-09-19T16:24:33.595Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:33.595Z","priority":"6","pid":"2830187","message":" 3211: exit FAILED"}

data: {"time":"2026-09-19T16:24:33.596Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3211"}

data: {"time":"2026-09-19T16:24:33.596Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:33.597Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3211 ./unit/units unit3211 - > log/stdout3211 2> log/stderr3211"}

data: {"time":"2026-09-19T16:24:33.597Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:33.598Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.598Z","priority":"6","pid":"2830187","message":" Testnum 3211"}

data: {"time":"2026-09-19T16:24:33.598Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.598Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3211"}

data: {"time":"2026-09-19T16:24:33.599Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:33.599Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:33.600Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:33.600Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.601Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:33.601Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:33.601Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.601Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:33.602Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.602Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.602Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:33.603Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:33.603Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:33.603Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:33.603Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:33.604Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:33.604Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:33.604Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.605Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:33.605Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:33.605Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.606Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:33.606Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:33.606Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:33.606Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.606Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:33.607Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3211"}

data: {"time":"2026-09-19T16:24:33.607Z","priority":"6","pid":"2830187","message":"test 3212 [uint32_tbl unit tests]"}

data: {"time":"2026-09-19T16:24:33.608Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3212 ./unit/units unit3212 - > log/stdout3212 2> log/stderr3212"}

data: {"time":"2026-09-19T16:24:33.608Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:33.608Z","priority":"6","pid":"2830187","message":" 3212: exit FAILED"}

data: {"time":"2026-09-19T16:24:33.608Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3212"}

data: {"time":"2026-09-19T16:24:33.608Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:33.609Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3212 ./unit/units unit3212 - > log/stdout3212 2> log/stderr3212"}

data: {"time":"2026-09-19T16:24:33.610Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:33.610Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.610Z","priority":"6","pid":"2830187","message":" Testnum 3212"}

data: {"time":"2026-09-19T16:24:33.610Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.610Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3212"}

data: {"time":"2026-09-19T16:24:33.611Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:33.611Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:33.611Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:33.611Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.612Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:33.612Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:33.612Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.613Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:33.613Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.613Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.613Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:33.614Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:33.614Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:33.614Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:33.615Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:33.615Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:33.616Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:33.616Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.616Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:33.617Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:33.617Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.617Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:33.618Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:33.618Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:33.618Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.619Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:33.619Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3212"}

data: {"time":"2026-09-19T16:24:33.619Z","priority":"6","pid":"2830187","message":"test 3213 [uint_spbset unit tests]"}

data: {"time":"2026-09-19T16:24:33.620Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3213 ./unit/units unit3213 - > log/stdout3213 2> log/stderr3213"}

data: {"time":"2026-09-19T16:24:33.621Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:33.621Z","priority":"6","pid":"2830187","message":" 3213: exit FAILED"}

data: {"time":"2026-09-19T16:24:33.621Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3213"}

data: {"time":"2026-09-19T16:24:33.622Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:33.623Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3213 ./unit/units unit3213 - > log/stdout3213 2> log/stderr3213"}

data: {"time":"2026-09-19T16:24:33.623Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:33.623Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.624Z","priority":"6","pid":"2830187","message":" Testnum 3213"}

data: {"time":"2026-09-19T16:24:33.624Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.625Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3213"}

data: {"time":"2026-09-19T16:24:33.625Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:33.626Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:33.626Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:33.626Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.627Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:33.627Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:33.627Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.628Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:33.628Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.628Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.629Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:33.629Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:33.630Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:33.630Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:33.631Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:33.631Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:33.632Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:33.632Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.632Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:33.633Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:33.633Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.634Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:33.634Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:33.634Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:33.635Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.635Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:33.635Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3213"}

data: {"time":"2026-09-19T16:24:33.636Z","priority":"6","pid":"2830187","message":"test 3214 [struct size checks]"}

data: {"time":"2026-09-19T16:24:33.637Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3214 ./unit/units unit3214 - > log/stdout3214 2> log/stderr3214"}

data: {"time":"2026-09-19T16:24:33.637Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:33.638Z","priority":"6","pid":"2830187","message":" 3214: exit FAILED"}

data: {"time":"2026-09-19T16:24:33.638Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3214"}

data: {"time":"2026-09-19T16:24:33.638Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:33.640Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3214 ./unit/units unit3214 - > log/stdout3214 2> log/stderr3214"}

data: {"time":"2026-09-19T16:24:33.640Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:33.640Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.640Z","priority":"6","pid":"2830187","message":" Testnum 3214"}

data: {"time":"2026-09-19T16:24:33.641Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:33.642Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3214"}

data: {"time":"2026-09-19T16:24:33.642Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:33.642Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:33.642Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:33.643Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.643Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:33.646Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:33.646Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.647Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:33.647Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:33.647Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:33.647Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:33.861Z","priority":"6","pid":"2830187","message":" valgrind:  package on thisCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3215 ../src/curl -q --output log/curl3215.out  --include --trace-ascii log/trace3215 --trace-time smtp://127.0.0.1:34199/3215 --mail-rcpt \"<recipient@example.com> NOTIFY=SUCCESS,FAILURE\" --mail-from \"<sender@example.com> RET=HDRS\" -T - <log/stdin-for-3215 > log/stdout3215 2> log/stderr3215"}

data: {"time":"2026-09-19T16:24:34.023Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3216 ./unit/units unit3216 - > log/stdout3216 2> log/stderr3216"}

data: {"time":"2026-09-19T16:24:34.257Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3217 ../src/curl -q --output log/curl3217.out  --include --trace-ascii log/trace3217 --trace-time ftp://127.0.0.1:43733/3217 > log/stdout3217 2> log/stderr3217"}

data: {"time":"2026-09-19T16:24:34.259Z","priority":"6","pid":"2830187","message":" machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:34.260Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:34.260Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:34.261Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:34.261Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:34.261Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:34.262Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.262Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:34.262Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:34.263Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.263Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:34.263Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:34.263Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:34.263Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.264Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:34.264Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3214"}

data: {"time":"2026-09-19T16:24:34.264Z","priority":"6","pid":"2830187","message":"test 3215 [SMTP DSN]"}

data: {"time":"2026-09-19T16:24:34.267Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3215 ../src/curl -q --output log/curl3215.out  --include --trace-ascii log/trace3215 --trace-time smtp://127.0.0.1:34199/3215 --mail-rcpt \"<recipient@example.com> NOTIFY=SUCCESS,FAILURE\" --mail-from \"<sender@example.com> RET=HDRS\" -T - <log/stdin-for-3215 > log/stdout3215 2> log/stderr3215"}

data: {"time":"2026-09-19T16:24:34.267Z","priority":"6","pid":"2830187","message":" 3215: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:34.268Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:34.268Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:34.268Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3215"}

data: {"time":"2026-09-19T16:24:34.269Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:34.271Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3215 ../src/curl -q --output log/curl3215.out  --include --trace-ascii log/trace3215 --trace-time smtp://127.0.0.1:34199/3215 --mail-rcpt \"<recipient@example.com> NOTIFY=SUCCESS,FAILURE\" --mail-from \"<sender@example.com> RET=HDRS\" -T - <log/stdin-for-3215 > log/stdout3215 2> log/stderr3215"}

data: {"time":"2026-09-19T16:24:34.271Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:34.271Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.272Z","priority":"6","pid":"2830187","message":" REPLY MAIL 250 Ok"}

data: {"time":"2026-09-19T16:24:34.272Z","priority":"6","pid":"2830187","message":" REPLY RCPT 250 Ok"}

data: {"time":"2026-09-19T16:24:34.272Z","priority":"6","pid":"2830187","message":" Testnum 3215"}

data: {"time":"2026-09-19T16:24:34.272Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.272Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:34.273Z","priority":"6","pid":"2830187","message":" 16:24:33.682861 ====> Client connect"}

data: {"time":"2026-09-19T16:24:34.274Z","priority":"6","pid":"2830187","message":" 16:24:33.683108 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.274Z","priority":"6","pid":"2830187","message":" 16:24:33.683635 < \"EHLO verifiedserver\""}

data: {"time":"2026-09-19T16:24:34.274Z","priority":"6","pid":"2830187","message":" 16:24:33.683705 > \"250 ESMTP pingpong test server Hello verifiedserver[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.275Z","priority":"6","pid":"2830187","message":" 16:24:33.683990 < \"HELP\""}

data: {"time":"2026-09-19T16:24:34.275Z","priority":"6","pid":"2830187","message":" 16:24:33.684037 > \"214 WE ROOLZ: 112484[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.275Z","priority":"6","pid":"2830187","message":" 16:24:33.684058 return proof we are we"}

data: {"time":"2026-09-19T16:24:34.276Z","priority":"6","pid":"2830187","message":" 16:24:33.684438 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:34.276Z","priority":"6","pid":"2830187","message":" 16:24:33.684481 > \"221 curl ESMTP server signing off[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.277Z","priority":"6","pid":"2830187","message":" 16:24:33.685378 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:34.277Z","priority":"6","pid":"2830187","message":" 16:24:33.685487 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:34.277Z","priority":"6","pid":"2830187","message":" 16:24:33.685608 Awaiting input"}

data: {"time":"2026-09-19T16:24:34.277Z","priority":"6","pid":"2830187","message":"=== End of file smtp_server.log"}

data: {"time":"2026-09-19T16:24:34.278Z","priority":"6","pid":"2830187","message":"=== Start of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:34.278Z","priority":"6","pid":"2830187","message":" 16:24:33.741475 ====> Client connect"}

data: {"time":"2026-09-19T16:24:34.278Z","priority":"6","pid":"2830187","message":" 16:24:33.741931 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.278Z","priority":"6","pid":"2830187","message":" 16:24:33.741954 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.278Z","priority":"6","pid":"2830187","message":" 16:24:33.741971 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:34.279Z","priority":"6","pid":"2830187","message":" 16:24:33.741985 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.279Z","priority":"6","pid":"2830187","message":" 16:24:33.741997 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.279Z","priority":"6","pid":"2830187","message":" 16:24:33.742192 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.279Z","priority":"6","pid":"2830187","message":" 16:24:33.742210 'EHLO verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.280Z","priority":"6","pid":"2830187","message":" 16:24:33.742501 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.280Z","priority":"6","pid":"2830187","message":" 16:24:33.742523 > 53 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.280Z","priority":"6","pid":"2830187","message":" 16:24:33.742542 '250 ESMTP pingpong test server Hello verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.281Z","priority":"6","pid":"2830187","message":" 16:24:33.742629 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.281Z","priority":"6","pid":"2830187","message":" 16:24:33.742643 'HELP\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.281Z","priority":"6","pid":"2830187","message":" 16:24:33.742840 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.281Z","priority":"6","pid":"2830187","message":" 16:24:33.742854 > 22 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.282Z","priority":"6","pid":"2830187","message":" 16:24:33.742866 '214 WE ROOLZ: 112484\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.282Z","priority":"6","pid":"2830187","message":" 16:24:33.743041 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.282Z","priority":"6","pid":"2830187","message":" 16:24:33.743059 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.282Z","priority":"6","pid":"2830187","message":" 16:24:33.743266 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.283Z","priority":"6","pid":"2830187","message":" 16:24:33.743282 > 35 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.283Z","priority":"6","pid":"2830187","message":" 16:24:33.743296 '221 curl ESMTP server signing off\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.283Z","priority":"6","pid":"2830187","message":" 16:24:33.744063 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:34.284Z","priority":"6","pid":"2830187","message":" 16:24:33.744178 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:34.284Z","priority":"6","pid":"2830187","message":"=== End of file smtp_sockfilt.log"}

data: {"time":"2026-09-19T16:24:34.284Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-3215"}

data: {"time":"2026-09-19T16:24:34.284Z","priority":"6","pid":"2830187","message":" From: different"}

data: {"time":"2026-09-19T16:24:34.285Z","priority":"6","pid":"2830187","message":" To: another"}

data: {"time":"2026-09-19T16:24:34.285Z","priority":"6","pid":"2830187","message":" body"}

data: {"time":"2026-09-19T16:24:34.285Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-3215"}

data: {"time":"2026-09-19T16:24:34.285Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3215"}

data: {"time":"2026-09-19T16:24:34.286Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:34.286Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:34.286Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:34.286Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.287Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:34.287Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:34.287Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.288Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:34.288Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.288Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.288Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:34.289Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:34.289Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:34.290Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:34.290Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:34.291Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:34.291Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:34.291Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.292Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:34.292Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:34.292Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.292Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:34.293Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:34.293Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:34.293Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.294Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:34.294Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3215"}

data: {"time":"2026-09-19T16:24:34.295Z","priority":"6","pid":"2830187","message":"test 3216 [ratelimit unit tests]"}

data: {"time":"2026-09-19T16:24:34.295Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3216 ./unit/units unit3216 - > log/stdout3216 2> log/stderr3216"}

data: {"time":"2026-09-19T16:24:34.295Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:34.295Z","priority":"6","pid":"2830187","message":" 3216: exit FAILED"}

data: {"time":"2026-09-19T16:24:34.296Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3216"}

data: {"time":"2026-09-19T16:24:34.296Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:34.297Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3216 ./unit/units unit3216 - > log/stdout3216 2> log/stderr3216"}

data: {"time":"2026-09-19T16:24:34.297Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:34.298Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.298Z","priority":"6","pid":"2830187","message":" Testnum 3216"}

data: {"time":"2026-09-19T16:24:34.298Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.298Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3216"}

data: {"time":"2026-09-19T16:24:34.299Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:34.299Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:34.299Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:34.299Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.299Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:34.300Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:34.300Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.300Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:34.301Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.301Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.302Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:34.302Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:34.302Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:34.302Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:34.303Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:34.304Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:34.304Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:34.304Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.304Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:34.304Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:34.304Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.305Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:34.305Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:34.305Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:34.305Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.306Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:34.306Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3216"}

data: {"time":"2026-09-19T16:24:34.306Z","priority":"6","pid":"2830187","message":"test 3217 [FTP with control characters in PWD response]"}

data: {"time":"2026-09-19T16:24:34.542Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3217 ../src/curl -q --output log/curl3217.out  --include --trace-ascii log/trace3217 --trace-time ftp://127.0.0.1:43733/3217 > log/stdout3217 2CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3218 ../src/curl -q --output log/curl3218.out  --include --trace-ascii log/trace3218 --trace-time ftp://127.0.0.1:43733/3218 > log/stdout3218 2> log/stderr3218"}

data: {"time":"2026-09-19T16:24:34.555Z","priority":"6","pid":"2830187","message":"> log/stderr3217"}

data: {"time":"2026-09-19T16:24:34.556Z","priority":"6","pid":"2830187","message":" 3217: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:34.556Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:34.557Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:34.557Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3217"}

data: {"time":"2026-09-19T16:24:34.557Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:34.559Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3217 ../src/curl -q --output log/curl3217.out  --include --trace-ascii log/trace3217 --trace-time ftp://127.0.0.1:43733/3217 > log/stdout3217 2> log/stderr3217"}

data: {"time":"2026-09-19T16:24:34.559Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:34.560Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:34.560Z","priority":"6","pid":"2830187","message":" 16:24:34.070276 ====> Client connect"}

data: {"time":"2026-09-19T16:24:34.561Z","priority":"6","pid":"2830187","message":" 16:24:34.070660 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.562Z","priority":"6","pid":"2830187","message":" 16:24:34.071293 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:24:34.562Z","priority":"6","pid":"2830187","message":" 16:24:34.071624 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.562Z","priority":"6","pid":"2830187","message":" 16:24:34.071780 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:24:34.563Z","priority":"6","pid":"2830187","message":" 16:24:34.071881 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.563Z","priority":"6","pid":"2830187","message":" 16:24:34.072094 < \"PWD\""}

data: {"time":"2026-09-19T16:24:34.564Z","priority":"6","pid":"2830187","message":" 16:24:34.072150 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.564Z","priority":"6","pid":"2830187","message":" 16:24:34.072468 < \"EPSV\""}

data: {"time":"2026-09-19T16:24:34.564Z","priority":"6","pid":"2830187","message":" 16:24:34.072508 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:24:34.565Z","priority":"6","pid":"2830187","message":" 16:24:34.072530 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:24:34.565Z","priority":"6","pid":"2830187","message":" 16:24:34.076230 DATA sockfilt for passive data channel started (pid 182320)"}

data: {"time":"2026-09-19T16:24:34.566Z","priority":"6","pid":"2830187","message":" 16:24:34.076525 DATA sockfilt for passive data channel listens on port 42359"}

data: {"time":"2026-09-19T16:24:34.567Z","priority":"6","pid":"2830187","message":" 16:24:34.076769 > \"229 Entering Passive Mode (|||42359|)[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.567Z","priority":"6","pid":"2830187","message":" 16:24:34.076819 Client has been notified that upcoming DATA connection is awaited on port 42359"}

data: {"time":"2026-09-19T16:24:34.568Z","priority":"6","pid":"2830187","message":" 16:24:34.077200 Client connects to port 42359"}

data: {"time":"2026-09-19T16:24:34.568Z","priority":"6","pid":"2830187","message":" 16:24:34.077262 ====> Client established passive DATA connection on port 42359"}

data: {"time":"2026-09-19T16:24:34.568Z","priority":"6","pid":"2830187","message":" 16:24:34.077702 < \"TYPE I\""}

data: {"time":"2026-09-19T16:24:34.569Z","priority":"6","pid":"2830187","message":" 16:24:34.077774 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.569Z","priority":"6","pid":"2830187","message":" 16:24:34.078147 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:24:34.569Z","priority":"6","pid":"2830187","message":" 16:24:34.078222 > \"213 18[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.570Z","priority":"6","pid":"2830187","message":" 16:24:34.078559 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:24:34.570Z","priority":"6","pid":"2830187","message":" 16:24:34.078629 > \"150 Binary junk (18 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.570Z","priority":"6","pid":"2830187","message":" 16:24:34.078805 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:24:34.571Z","priority":"6","pid":"2830187","message":" 16:24:34.078841 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:24:34.572Z","priority":"6","pid":"2830187","message":" 16:24:34.079324 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:24:34.572Z","priority":"6","pid":"2830187","message":" 16:24:34.079413 DATA sockfilt for passive data channel quits (pid 182320)"}

data: {"time":"2026-09-19T16:24:34.572Z","priority":"6","pid":"2830187","message":" 16:24:34.079899 DATA sockfilt for passive data channel quit (pid 182320)"}

data: {"time":"2026-09-19T16:24:34.573Z","priority":"6","pid":"2830187","message":" 16:24:34.079945 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:24:34.573Z","priority":"6","pid":"2830187","message":" 16:24:34.080012 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.574Z","priority":"6","pid":"2830187","message":" 16:24:34.120298 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:34.574Z","priority":"6","pid":"2830187","message":" 16:24:34.120422 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.574Z","priority":"6","pid":"2830187","message":" 16:24:34.121379 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:34.575Z","priority":"6","pid":"2830187","message":" 16:24:34.121443 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:34.575Z","priority":"6","pid":"2830187","message":" 16:24:34.121615 Awaiting input"}

data: {"time":"2026-09-19T16:24:34.575Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:34.575Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:34.576Z","priority":"6","pid":"2830187","message":" 16:24:34.128808 ====> Client connect"}

data: {"time":"2026-09-19T16:24:34.576Z","priority":"6","pid":"2830187","message":" 16:24:34.129583 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.576Z","priority":"6","pid":"2830187","message":" 16:24:34.129623 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.577Z","priority":"6","pid":"2830187","message":" 16:24:34.129642 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:34.578Z","priority":"6","pid":"2830187","message":" 16:24:34.129655 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.578Z","priority":"6","pid":"2830187","message":" 16:24:34.129666 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.579Z","priority":"6","pid":"2830187","message":" 16:24:34.129806 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.579Z","priority":"6","pid":"2830187","message":" 16:24:34.129827 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.579Z","priority":"6","pid":"2830187","message":" 16:24:34.130161 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.579Z","priority":"6","pid":"2830187","message":" 16:24:34.130186 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.580Z","priority":"6","pid":"2830187","message":" 16:24:34.130212 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.580Z","priority":"6","pid":"2830187","message":" 16:24:34.130319 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.580Z","priority":"6","pid":"2830187","message":" 16:24:34.130340 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.581Z","priority":"6","pid":"2830187","message":" 16:24:34.130582 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.581Z","priority":"6","pid":"2830187","message":" 16:24:34.130602 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.582Z","priority":"6","pid":"2830187","message":" 16:24:34.130668 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.582Z","priority":"6","pid":"2830187","message":" 16:24:34.130746 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.582Z","priority":"6","pid":"2830187","message":" 16:24:34.130759 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.583Z","priority":"6","pid":"2830187","message":" 16:24:34.130937 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.583Z","priority":"6","pid":"2830187","message":" 16:24:34.130957 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.584Z","priority":"6","pid":"2830187","message":" 16:24:34.130969 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.584Z","priority":"6","pid":"2830187","message":" 16:24:34.131103 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.584Z","priority":"6","pid":"2830187","message":" 16:24:34.131125 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.584Z","priority":"6","pid":"2830187","message":" 16:24:34.135367 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.585Z","priority":"6","pid":"2830187","message":" 16:24:34.135391 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.585Z","priority":"6","pid":"2830187","message":" 16:24:34.135416 '229 Entering Passive Mode (|||42359|)\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.586Z","priority":"6","pid":"2830187","message":" 16:24:34.136236 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.586Z","priority":"6","pid":"2830187","message":" 16:24:34.136267 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.587Z","priority":"6","pid":"2830187","message":" 16:24:34.136584 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.587Z","priority":"6","pid":"2830187","message":" 16:24:34.136611 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.587Z","priority":"6","pid":"2830187","message":" 16:24:34.136625 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.588Z","priority":"6","pid":"2830187","message":" 16:24:34.136790 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.588Z","priority":"6","pid":"2830187","message":" 16:24:34.136818 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.589Z","priority":"6","pid":"2830187","message":" 16:24:34.137021 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.589Z","priority":"6","pid":"2830187","message":" 16:24:34.137043 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.590Z","priority":"6","pid":"2830187","message":" 16:24:34.137055 '213 18\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.590Z","priority":"6","pid":"2830187","message":" 16:24:34.137175 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.590Z","priority":"6","pid":"2830187","message":" 16:24:34.137200 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.591Z","priority":"6","pid":"2830187","message":" 16:24:34.137641 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.591Z","priority":"6","pid":"2830187","message":" 16:24:34.137665 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.592Z","priority":"6","pid":"2830187","message":" 16:24:34.137678 '150 Binary junk (18 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.592Z","priority":"6","pid":"2830187","message":" 16:24:34.138812 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.592Z","priority":"6","pid":"2830187","message":" 16:24:34.138836 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.593Z","priority":"6","pid":"2830187","message":" 16:24:34.138851 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.593Z","priority":"6","pid":"2830187","message":" 16:24:34.178765 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.594Z","priority":"6","pid":"2830187","message":" 16:24:34.178821 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.594Z","priority":"6","pid":"2830187","message":" 16:24:34.179243 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.594Z","priority":"6","pid":"2830187","message":" 16:24:34.179267 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.595Z","priority":"6","pid":"2830187","message":" 16:24:34.179280 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.595Z","priority":"6","pid":"2830187","message":" 16:24:34.179930 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:34.596Z","priority":"6","pid":"2830187","message":" 16:24:34.180822 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:34.596Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:34.596Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:34.597Z","priority":"6","pid":"2830187","message":" 16:24:34.134611 Running IPv4 version"}

data: {"time":"2026-09-19T16:24:34.597Z","priority":"6","pid":"2830187","message":" 16:24:34.134799 Listening on port 42359"}

data: {"time":"2026-09-19T16:24:34.597Z","priority":"6","pid":"2830187","message":" 16:24:34.134865 Wrote pid 182320 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:24:34.598Z","priority":"6","pid":"2830187","message":" 16:24:34.134903 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:24:34.598Z","priority":"6","pid":"2830187","message":" 16:24:34.135125 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:24:34.599Z","priority":"6","pid":"2830187","message":" 16:24:34.135875 ====> Client connect"}

data: {"time":"2026-09-19T16:24:34.599Z","priority":"6","pid":"2830187","message":" 16:24:34.137738 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.599Z","priority":"6","pid":"2830187","message":" 16:24:34.137768 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.600Z","priority":"6","pid":"2830187","message":" 16:24:34.137785 'WE ROOLZ: 162430\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.601Z","priority":"6","pid":"2830187","message":" 16:24:34.137835 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:24:34.601Z","priority":"6","pid":"2830187","message":" 16:24:34.137853 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:24:34.601Z","priority":"6","pid":"2830187","message":" 16:24:34.138204 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:24:34.601Z","priority":"6","pid":"2830187","message":" 16:24:34.138224 quits"}

data: {"time":"2026-09-19T16:24:34.602Z","priority":"6","pid":"2830187","message":" 16:24:34.138347 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:24:34.602Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:34.602Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.603Z","priority":"6","pid":"2830187","message":" REPLY PWD 257 \"/\u0003\""}

data: {"time":"2026-09-19T16:24:34.603Z","priority":"6","pid":"2830187","message":" Testnum 3217"}

data: {"time":"2026-09-19T16:24:34.603Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.603Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3217"}

data: {"time":"2026-09-19T16:24:34.604Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:34.604Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:34.605Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:34.605Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.606Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:34.606Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:34.607Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.607Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:34.607Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.608Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.608Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:34.609Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:34.609Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:34.610Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:34.610Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:34.611Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:34.611Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:34.611Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.612Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:34.612Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:34.612Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.613Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:34.613Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:34.614Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:34.614Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.614Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:34.615Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3217"}

data: {"time":"2026-09-19T16:24:34.616Z","priority":"6","pid":"2830187","message":"test 3218 [FTP with CR control character in PWD response path]"}

data: {"time":"2026-09-19T16:24:34.617Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3218 ../src/curl -q --output log/curl3218.out  --include --trace-ascii log/trace3218 --trace-time ftp://127.0.0.1:43733/3218 > log/stdout3218 2> log/stderr3218"}

data: {"time":"2026-09-19T16:24:34.617Z","priority":"6","pid":"2830187","message":" 3218: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:34.618Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:34.618Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:34.619Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3218"}

data: {"time":"2026-09-19T16:24:34.619Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:34.761Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3218 ../src/curl -q --output log/curl3218.oCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3219 ./unit/units unit3219 - > log/stdout3219 2> log/stderr3219"}

data: {"time":"2026-09-19T16:24:34.764Z","priority":"6","pid":"2830187","message":"ut  --include --trace-ascii log/trace3218 --trace-time ftp://127.0.0.1:43733/3218 > log/stdout3218 2> log/stderr3218"}

data: {"time":"2026-09-19T16:24:34.765Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:34.765Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:34.766Z","priority":"6","pid":"2830187","message":" 16:24:34.339727 ====> Client connect"}

data: {"time":"2026-09-19T16:24:34.766Z","priority":"6","pid":"2830187","message":" 16:24:34.340022 > \"220-        _   _ ____  _[CR][LF]220-    ___| | | |  _ \\| |[CR][LF]220-   / __| | | | |_) | |[CR][LF]220-  | (__| |_| |  _ {| |___[CR][LF]220    \\___|\\___/|_| \\_\\_____|[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.767Z","priority":"6","pid":"2830187","message":" 16:24:34.340632 < \"USER anonymous\""}

data: {"time":"2026-09-19T16:24:34.767Z","priority":"6","pid":"2830187","message":" 16:24:34.340870 > \"331 We are happy you popped in![CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.768Z","priority":"6","pid":"2830187","message":" 16:24:34.340982 < \"PASS ftp@example.com\""}

data: {"time":"2026-09-19T16:24:34.768Z","priority":"6","pid":"2830187","message":" 16:24:34.341063 > \"230 Welcome you silly person[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.768Z","priority":"6","pid":"2830187","message":" 16:24:34.341255 < \"PWD\""}

data: {"time":"2026-09-19T16:24:34.769Z","priority":"6","pid":"2830187","message":" 16:24:34.341300 > \"257 \"/\" is current directory[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.769Z","priority":"6","pid":"2830187","message":" 16:24:34.341646 < \"EPSV\""}

data: {"time":"2026-09-19T16:24:34.769Z","priority":"6","pid":"2830187","message":" 16:24:34.341685 ====> Passive DATA channel requested by client"}

data: {"time":"2026-09-19T16:24:34.770Z","priority":"6","pid":"2830187","message":" 16:24:34.341705 DATA sockfilt for passive data channel starting..."}

data: {"time":"2026-09-19T16:24:34.771Z","priority":"6","pid":"2830187","message":" 16:24:34.344476 DATA sockfilt for passive data channel started (pid 182383)"}

data: {"time":"2026-09-19T16:24:34.771Z","priority":"6","pid":"2830187","message":" 16:24:34.344677 DATA sockfilt for passive data channel listens on port 33483"}

data: {"time":"2026-09-19T16:24:34.771Z","priority":"6","pid":"2830187","message":" 16:24:34.344760 > \"229 Entering Passive Mode (|||33483|)[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.772Z","priority":"6","pid":"2830187","message":" 16:24:34.344793 Client has been notified that upcoming DATA connection is awaited on port 33483"}

data: {"time":"2026-09-19T16:24:34.773Z","priority":"6","pid":"2830187","message":" 16:24:34.345168 Client connects to port 33483"}

data: {"time":"2026-09-19T16:24:34.773Z","priority":"6","pid":"2830187","message":" 16:24:34.345223 ====> Client established passive DATA connection on port 33483"}

data: {"time":"2026-09-19T16:24:34.773Z","priority":"6","pid":"2830187","message":" 16:24:34.345610 < \"TYPE I\""}

data: {"time":"2026-09-19T16:24:34.774Z","priority":"6","pid":"2830187","message":" 16:24:34.345673 > \"200 I modify TYPE as you wanted[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.774Z","priority":"6","pid":"2830187","message":" 16:24:34.345993 < \"SIZE verifiedserver\""}

data: {"time":"2026-09-19T16:24:34.774Z","priority":"6","pid":"2830187","message":" 16:24:34.346141 > \"213 18[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.775Z","priority":"6","pid":"2830187","message":" 16:24:34.346428 < \"RETR verifiedserver\""}

data: {"time":"2026-09-19T16:24:34.775Z","priority":"6","pid":"2830187","message":" 16:24:34.346588 > \"150 Binary junk (18 bytes).[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.776Z","priority":"6","pid":"2830187","message":" 16:24:34.346875 =====> Closing passive DATA connection..."}

data: {"time":"2026-09-19T16:24:34.776Z","priority":"6","pid":"2830187","message":" 16:24:34.346911 Server disconnects passive DATA connection"}

data: {"time":"2026-09-19T16:24:34.777Z","priority":"6","pid":"2830187","message":" 16:24:34.347211 Server disconnected passive DATA connection"}

data: {"time":"2026-09-19T16:24:34.778Z","priority":"6","pid":"2830187","message":" 16:24:34.347260 DATA sockfilt for passive data channel quits (pid 182383)"}

data: {"time":"2026-09-19T16:24:34.778Z","priority":"6","pid":"2830187","message":" 16:24:34.347730 DATA sockfilt for passive data channel quit (pid 182383)"}

data: {"time":"2026-09-19T16:24:34.778Z","priority":"6","pid":"2830187","message":" 16:24:34.347771 =====> Closed passive DATA connection"}

data: {"time":"2026-09-19T16:24:34.778Z","priority":"6","pid":"2830187","message":" 16:24:34.347826 > \"226 File transfer complete[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.779Z","priority":"6","pid":"2830187","message":" 16:24:34.388004 < \"QUIT\""}

data: {"time":"2026-09-19T16:24:34.779Z","priority":"6","pid":"2830187","message":" 16:24:34.388086 > \"221 bye bye baby[CR][LF]\""}

data: {"time":"2026-09-19T16:24:34.780Z","priority":"6","pid":"2830187","message":" 16:24:34.388425 MAIN sockfilt said DISC"}

data: {"time":"2026-09-19T16:24:34.780Z","priority":"6","pid":"2830187","message":" 16:24:34.388477 ====> Client disconnected"}

data: {"time":"2026-09-19T16:24:34.780Z","priority":"6","pid":"2830187","message":" 16:24:34.388596 Awaiting input"}

data: {"time":"2026-09-19T16:24:34.780Z","priority":"6","pid":"2830187","message":"=== End of file ftp_server.log"}

data: {"time":"2026-09-19T16:24:34.780Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:34.781Z","priority":"6","pid":"2830187","message":" 16:24:34.398296 ====> Client connect"}

data: {"time":"2026-09-19T16:24:34.781Z","priority":"6","pid":"2830187","message":" 16:24:34.398917 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.781Z","priority":"6","pid":"2830187","message":" 16:24:34.398961 > 146 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.782Z","priority":"6","pid":"2830187","message":" 16:24:34.398977 '220-        _   _ ____  _\\r\\n220-    ___| | | |  _ \\| |\\r\\n22'"}

data: {"time":"2026-09-19T16:24:34.782Z","priority":"6","pid":"2830187","message":" 16:24:34.398990 '0-   / __| | | | |_) | |\\r\\n220-  | (__| |_| |  _ {| |___\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.783Z","priority":"6","pid":"2830187","message":" 16:24:34.399003 '220    \\___|\\___/|_| \\_\\_____|\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.783Z","priority":"6","pid":"2830187","message":" 16:24:34.399161 < 16 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.783Z","priority":"6","pid":"2830187","message":" 16:24:34.399183 'USER anonymous\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.784Z","priority":"6","pid":"2830187","message":" 16:24:34.399455 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.784Z","priority":"6","pid":"2830187","message":" 16:24:34.399473 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.785Z","priority":"6","pid":"2830187","message":" 16:24:34.399496 '331 We are happy you popped in!\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.785Z","priority":"6","pid":"2830187","message":" 16:24:34.399575 < 22 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.785Z","priority":"6","pid":"2830187","message":" 16:24:34.399590 'PASS ftp@example.com\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.786Z","priority":"6","pid":"2830187","message":" 16:24:34.399765 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.786Z","priority":"6","pid":"2830187","message":" 16:24:34.399786 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.787Z","priority":"6","pid":"2830187","message":" 16:24:34.399843 '230 Welcome you silly person\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.787Z","priority":"6","pid":"2830187","message":" 16:24:34.399914 < 5 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.787Z","priority":"6","pid":"2830187","message":" 16:24:34.399926 'PWD\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.788Z","priority":"6","pid":"2830187","message":" 16:24:34.400076 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.788Z","priority":"6","pid":"2830187","message":" 16:24:34.400168 > 30 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.788Z","priority":"6","pid":"2830187","message":" 16:24:34.400181 '257 \"/\" is current directory\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.789Z","priority":"6","pid":"2830187","message":" 16:24:34.400320 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.789Z","priority":"6","pid":"2830187","message":" 16:24:34.400337 'EPSV\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.790Z","priority":"6","pid":"2830187","message":" 16:24:34.403593 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.790Z","priority":"6","pid":"2830187","message":" 16:24:34.403616 > 39 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.790Z","priority":"6","pid":"2830187","message":" 16:24:34.403635 '229 Entering Passive Mode (|||33483|)\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.791Z","priority":"6","pid":"2830187","message":" 16:24:34.404163 < 8 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.791Z","priority":"6","pid":"2830187","message":" 16:24:34.404191 'TYPE I\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.792Z","priority":"6","pid":"2830187","message":" 16:24:34.404465 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.792Z","priority":"6","pid":"2830187","message":" 16:24:34.404484 > 33 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.792Z","priority":"6","pid":"2830187","message":" 16:24:34.404498 '200 I modify TYPE as you wanted\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.794Z","priority":"6","pid":"2830187","message":" 16:24:34.404648 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.794Z","priority":"6","pid":"2830187","message":" 16:24:34.404671 'SIZE verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.794Z","priority":"6","pid":"2830187","message":" 16:24:34.404813 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.796Z","priority":"6","pid":"2830187","message":" 16:24:34.404832 > 8 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.797Z","priority":"6","pid":"2830187","message":" 16:24:34.404934 '213 18\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.797Z","priority":"6","pid":"2830187","message":" 16:24:34.405024 < 21 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.798Z","priority":"6","pid":"2830187","message":" 16:24:34.405043 'RETR verifiedserver\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.799Z","priority":"6","pid":"2830187","message":" 16:24:34.405242 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.799Z","priority":"6","pid":"2830187","message":" 16:24:34.405262 > 29 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.801Z","priority":"6","pid":"2830187","message":" 16:24:34.405290 '150 Binary junk (18 bytes).\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.801Z","priority":"6","pid":"2830187","message":" 16:24:34.406627 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.802Z","priority":"6","pid":"2830187","message":" 16:24:34.406649 > 28 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.803Z","priority":"6","pid":"2830187","message":" 16:24:34.406663 '226 File transfer complete\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.803Z","priority":"6","pid":"2830187","message":" 16:24:34.446579 < 6 bytes data, client => server"}

data: {"time":"2026-09-19T16:24:34.805Z","priority":"6","pid":"2830187","message":" 16:24:34.446641 'QUIT\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.805Z","priority":"6","pid":"2830187","message":" 16:24:34.446887 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.805Z","priority":"6","pid":"2830187","message":" 16:24:34.446911 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.808Z","priority":"6","pid":"2830187","message":" 16:24:34.446924 '221 bye bye baby\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.808Z","priority":"6","pid":"2830187","message":" 16:24:34.447124 ====> Client disconnect"}

data: {"time":"2026-09-19T16:24:34.808Z","priority":"6","pid":"2830187","message":" 16:24:34.448009 Received ACKD (on stdin)"}

data: {"time":"2026-09-19T16:24:34.808Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockctrl.log"}

data: {"time":"2026-09-19T16:24:34.809Z","priority":"6","pid":"2830187","message":"=== Start of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:34.810Z","priority":"6","pid":"2830187","message":" 16:24:34.402931 Running IPv4 version"}

data: {"time":"2026-09-19T16:24:34.810Z","priority":"6","pid":"2830187","message":" 16:24:34.403068 Listening on port 33483"}

data: {"time":"2026-09-19T16:24:34.811Z","priority":"6","pid":"2830187","message":" 16:24:34.403135 Wrote pid 182383 to log/server/ftp_sockdata.pid"}

data: {"time":"2026-09-19T16:24:34.812Z","priority":"6","pid":"2830187","message":" 16:24:34.403162 Received PING (on stdin)"}

data: {"time":"2026-09-19T16:24:34.813Z","priority":"6","pid":"2830187","message":" 16:24:34.403304 Received PORT (on stdin)"}

data: {"time":"2026-09-19T16:24:34.813Z","priority":"6","pid":"2830187","message":" 16:24:34.403847 ====> Client connect"}

data: {"time":"2026-09-19T16:24:34.814Z","priority":"6","pid":"2830187","message":" 16:24:34.405400 Received DATA (on stdin)"}

data: {"time":"2026-09-19T16:24:34.815Z","priority":"6","pid":"2830187","message":" 16:24:34.405427 > 18 bytes data, server => client"}

data: {"time":"2026-09-19T16:24:34.816Z","priority":"6","pid":"2830187","message":" 16:24:34.405700 'WE ROOLZ: 162430\\r\\n'"}

data: {"time":"2026-09-19T16:24:34.816Z","priority":"6","pid":"2830187","message":" 16:24:34.405761 Received DISC (on stdin)"}

data: {"time":"2026-09-19T16:24:34.817Z","priority":"6","pid":"2830187","message":" 16:24:34.405779 ====> Client forcibly disconnected"}

data: {"time":"2026-09-19T16:24:34.818Z","priority":"6","pid":"2830187","message":" 16:24:34.406047 Received QUIT (on stdin)"}

data: {"time":"2026-09-19T16:24:34.818Z","priority":"6","pid":"2830187","message":" 16:24:34.406066 quits"}

data: {"time":"2026-09-19T16:24:34.819Z","priority":"6","pid":"2830187","message":" 16:24:34.406209 ========> sockfilt quits"}

data: {"time":"2026-09-19T16:24:34.821Z","priority":"6","pid":"2830187","message":"=== End of file ftp_sockdata.log"}

data: {"time":"2026-09-19T16:24:34.821Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.822Z","priority":"6","pid":"2830187","message":" REPLY PWD 257 \"/"}

data: {"time":"2026-09-19T16:24:34.822Z","priority":"6","pid":"2830187","message":" \""}

data: {"time":"2026-09-19T16:24:34.822Z","priority":"6","pid":"2830187","message":" Testnum 3218"}

data: {"time":"2026-09-19T16:24:34.822Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.822Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3218"}

data: {"time":"2026-09-19T16:24:34.823Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:34.824Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:34.824Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:34.825Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.826Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:34.827Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:34.828Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.829Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:34.830Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.830Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.831Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:34.831Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:34.832Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:34.833Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:34.833Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:34.834Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:34.834Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:34.834Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.835Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:34.835Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:34.836Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.836Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:34.836Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:34.837Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:34.837Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.837Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:34.837Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3218"}

data: {"time":"2026-09-19T16:24:34.838Z","priority":"6","pid":"2830187","message":"test 3219 [CURLPROTO_MASK checks]"}

data: {"time":"2026-09-19T16:24:34.839Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3219 ./unit/units unit3219 - > log/stdout3219 2> log/stderr3219"}

data: {"time":"2026-09-19T16:24:34.840Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:34.840Z","priority":"6","pid":"2830187","message":" 3219: exit FAILED"}

data: {"time":"2026-09-19T16:24:34.840Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3219"}

data: {"time":"2026-09-19T16:24:34.840Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:34.841Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3219 ./unit/units unit3219 - > log/stdout3219 2> log/stderr3219"}

data: {"time":"2026-09-19T16:24:34.842Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:34.842Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.842Z","priority":"6","pid":"2830187","message":" Testnum 3219"}

data: {"time":"2026-09-19T16:24:34.843Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:34.843Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3219"}

data: {"time":"2026-09-19T16:24:34.844Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:34.844Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:34.844Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:34.845Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:34.845Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:34.845Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:34.846Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.846Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:34.847Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:34.847Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.078Z","priority":"6","pid":"2830187","message":" valgrind:  PossibCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3220 ../src/curl -q --output log/curl3220.out  --include --trace-ascii log/trace3220 --trace-time http://127.0.0.1:39689/3220 --haproxy-clientip \"2a04:4e42::347\" -H \"Testno: 3220\" > log/stdout3220 2> log/stderr3220"}

data: {"time":"2026-09-19T16:24:35.312Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3221 ../src/curl -q --output log/curl3221.out  --include --trace-ascii log/trace3221 --trace-time http://hello%0a%0d:there@127.0.0.1:39689/ --digest > log/stdout3221 2> log/stderr3221"}

data: {"time":"2026-09-19T16:24:35.316Z","priority":"6","pid":"2830187","message":"le fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:35.316Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:35.317Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:35.317Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:35.318Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:35.318Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:35.319Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:35.319Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.319Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:35.320Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:35.320Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.320Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:35.321Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:35.321Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:35.322Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.322Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:35.322Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3219"}

data: {"time":"2026-09-19T16:24:35.323Z","priority":"6","pid":"2830187","message":"test 3220 [HTTP GET when PROXY Protocol enabled and spoofed client IPv6]"}

data: {"time":"2026-09-19T16:24:35.325Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3220 ../src/curl -q --output log/curl3220.out  --include --trace-ascii log/trace3220 --trace-time http://127.0.0.1:39689/3220 --haproxy-clientip \"2a04:4e42::347\" -H \"Testno: 3220\" > log/stdout3220 2> log/stderr3220"}

data: {"time":"2026-09-19T16:24:35.326Z","priority":"6","pid":"2830187","message":" 3220: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:35.326Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:35.326Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:35.326Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3220"}

data: {"time":"2026-09-19T16:24:35.327Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:35.328Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3220 ../src/curl -q --output log/curl3220.out  --include --trace-ascii log/trace3220 --trace-time http://127.0.0.1:39689/3220 --haproxy-clientip \"2a04:4e42::347\" -H \"Testno: 3220\" > log/stdout3220 2> log/stderr3220"}

data: {"time":"2026-09-19T16:24:35.330Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:35.330Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:35.330Z","priority":"6","pid":"2830187","message":" 16:24:34.949113 ====> Client connect"}

data: {"time":"2026-09-19T16:24:35.332Z","priority":"6","pid":"2830187","message":" 16:24:34.949179 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:35.333Z","priority":"6","pid":"2830187","message":" 16:24:34.949372 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:35.333Z","priority":"6","pid":"2830187","message":" 16:24:34.949398 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:35.334Z","priority":"6","pid":"2830187","message":" 16:24:34.949417 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:35.335Z","priority":"6","pid":"2830187","message":" 16:24:34.949427 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:35.335Z","priority":"6","pid":"2830187","message":" 16:24:34.949475 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:35.336Z","priority":"6","pid":"2830187","message":" 16:24:34.949501 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:35.336Z","priority":"6","pid":"2830187","message":" 16:24:34.949571 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:35.337Z","priority":"6","pid":"2830187","message":" 16:24:34.949583 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:35.337Z","priority":"6","pid":"2830187","message":" 16:24:34.949593 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:35.338Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:35.339Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:35.339Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:35.340Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41522"}

data: {"time":"2026-09-19T16:24:35.340Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:35.340Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:35.340Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:35.341Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:35.341Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:35.341Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:35.341Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:35.342Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:35.342Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:35.342Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:35.343Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:35.343Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:35.343Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:35.344Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:35.344Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:35.344Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:35.344Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:35.345Z","priority":"6","pid":"2830187","message":" Testnum 3220"}

data: {"time":"2026-09-19T16:24:35.345Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:35.345Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:35.346Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:35.346Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:35.346Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:35.346Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:35.347Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3220"}

data: {"time":"2026-09-19T16:24:35.347Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:35.348Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:35.348Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:35.348Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.348Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:35.349Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:35.349Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:35.349Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:35.350Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:35.350Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.351Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:35.351Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:35.352Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:35.353Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:35.353Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:35.354Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:35.354Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:35.355Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.355Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:35.355Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:35.355Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.356Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:35.356Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:35.357Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:35.357Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.358Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:35.358Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3220"}

data: {"time":"2026-09-19T16:24:35.359Z","priority":"6","pid":"2830187","message":"test 3221 [HTTP Digest with CRLF in username]"}

data: {"time":"2026-09-19T16:24:35.360Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3221 ../src/curl -q --output log/curl3221.out  --include --trace-ascii log/trace3221 --trace-time http://hello%0a%0d:there@127.0.0.1:39689/ --digest > log/stdout3221 2> log/stderr3221"}

data: {"time":"2026-09-19T16:24:35.360Z","priority":"6","pid":"2830187","message":" 3221: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:35.361Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:35.362Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:35.362Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3221"}

data: {"time":"2026-09-19T16:24:35.362Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:35.364Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3221 ../src/curl -q --output log/curl3221.out  --include --trace-ascii log/trace3221 --trace-time http://hello%0a%0d:there@127.0.0.1:39689/ --digest > log/stdout3221 2> log/stderr3221"}

data: {"time":"2026-09-19T16:24:35.364Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:35.364Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:35.365Z","priority":"6","pid":"2830187","message":" 16:24:35.190048 ====> Client connect"}

data: {"time":"2026-09-19T16:24:35.365Z","priority":"6","pid":"2830187","message":" 16:24:35.190146 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:35.366Z","priority":"6","pid":"2830187","message":" 16:24:35.190184 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:35.366Z","priority":"6","pid":"2830187","message":" 16:24:35.190198 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:35.366Z","priority":"6","pid":"2830187","message":" 16:24:35.190216 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:35.367Z","priority":"6","pid":"2830187","message":" 16:24:35.190227 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:35.367Z","priority":"6","pid":"2830187","message":" 16:24:35.190266 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:35.368Z","priority":"6","pid":"2830187","message":" 16:24:35.190289 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:35.369Z","priority":"6","pid":"2830187","message":" 16:24:35.190435 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:35.369Z","priority":"6","pid":"2830187","message":" 16:24:35.190454 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:35.369Z","priority":"6","pid":"2830187","message":" 16:24:35.190463 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:35.369Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:35.370Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:35.370Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:35.371Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41532"}

data: {"time":"2026-09-19T16:24:35.371Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:35.371Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:35.371Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:35.372Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:35.372Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:35.372Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:35.372Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:35.373Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:35.373Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:35.373Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:35.374Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:35.374Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:35.374Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:35.374Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:35.375Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:35.375Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:35.375Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:35.375Z","priority":"6","pid":"2830187","message":" Testnum 3221"}

data: {"time":"2026-09-19T16:24:35.376Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:35.376Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:35.377Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:35.377Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:35.377Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:35.377Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:35.377Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3221"}

data: {"time":"2026-09-19T16:24:35.377Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:35.378Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:35.378Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:35.379Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.379Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:35.380Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:35.380Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:35.381Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:35.381Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:35.381Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.381Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:35.382Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:35.383Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:35.383Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:35.383Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:35.384Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:35.384Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:35.615Z","priority":"6","pid":"2830187","message":" vaCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3223 ../src/curl -q --include --trace-ascii log/trace3223 --trace-time http://127.0.0.1:39689/3223 -o log/3223-1 -w \"connects=%{num_connects}/\" --next http://127.0.0.1:39689/32230001 -o log/3223-2 -w \"connects=%{num_connects}/\" > log/stdout3223 2> log/stderr3223"}

data: {"time":"2026-09-19T16:24:35.626Z","priority":"6","pid":"2830187","message":"lgrind:"}

data: {"time":"2026-09-19T16:24:35.627Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:35.628Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:35.628Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.628Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:35.629Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:35.629Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:35.629Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.630Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:35.630Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3221"}

data: {"time":"2026-09-19T16:24:35.882Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3224 ../src/curl -q --include --trace-ascii log/trace3224 --trace-time http://127.0.0.1:39689/3224 -u user1:password1 -o log/3224-1 -w \"connects=%{num_connects}/\" --next http://127.0.0.1:39689/32240001 -u user2:password2 -o log/3224-2 -w \"connects=%{num_connects}/\" > log/stdout3224 2> log/stderr3224"}

data: {"time":"2026-09-19T16:24:35.886Z","priority":"6","pid":"2830187","message":"test 3223 [HTTP connection not reused after partial/aborted response]"}

data: {"time":"2026-09-19T16:24:35.889Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3223 ../src/curl -q --include --trace-ascii log/trace3223 --trace-time http://127.0.0.1:39689/3223 -o log/3223-1 -w \"connects=%{num_connects}/\" --next http://127.0.0.1:39689/32230001 -o log/3223-2 -w \"connects=%{num_connects}/\" > log/stdout3223 2> log/stderr3223"}

data: {"time":"2026-09-19T16:24:35.889Z","priority":"6","pid":"2830187","message":" 3223: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:35.889Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:35.625850460 +0000"}

data: {"time":"2026-09-19T16:24:35.890Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:35.624903065 +0000"}

data: {"time":"2026-09-19T16:24:35.890Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:24:35.890Z","priority":"6","pid":"2830187","message":"-connects=1/connects=1/"}

data: {"time":"2026-09-19T16:24:35.891Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3223"}

data: {"time":"2026-09-19T16:24:35.891Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:35.891Z","priority":"6","pid":"2830187","message":" connects=1/connects=1/"}

data: {"time":"2026-09-19T16:24:35.892Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:35.892Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:35.894Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3223 ../src/curl -q --include --trace-ascii log/trace3223 --trace-time http://127.0.0.1:39689/3223 -o log/3223-1 -w \"connects=%{num_connects}/\" --next http://127.0.0.1:39689/32230001 -o log/3223-2 -w \"connects=%{num_connects}/\" > log/stdout3223 2> log/stderr3223"}

data: {"time":"2026-09-19T16:24:35.895Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:35.895Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:35.895Z","priority":"6","pid":"2830187","message":" 16:24:35.487007 ====> Client connect"}

data: {"time":"2026-09-19T16:24:35.895Z","priority":"6","pid":"2830187","message":" 16:24:35.487120 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:35.895Z","priority":"6","pid":"2830187","message":" 16:24:35.487308 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:35.896Z","priority":"6","pid":"2830187","message":" 16:24:35.487328 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:35.896Z","priority":"6","pid":"2830187","message":" 16:24:35.487346 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:35.897Z","priority":"6","pid":"2830187","message":" 16:24:35.487357 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:35.897Z","priority":"6","pid":"2830187","message":" 16:24:35.487404 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:35.898Z","priority":"6","pid":"2830187","message":" 16:24:35.487440 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:35.898Z","priority":"6","pid":"2830187","message":" 16:24:35.487504 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:35.899Z","priority":"6","pid":"2830187","message":" 16:24:35.487516 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:35.899Z","priority":"6","pid":"2830187","message":" 16:24:35.487525 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:35.899Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:35.900Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:35.900Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:35.901Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41546"}

data: {"time":"2026-09-19T16:24:35.901Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:35.901Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:35.902Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:35.902Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:35.903Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:35.903Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:35.903Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:35.903Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:35.903Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:35.903Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:35.904Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:35.904Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:35.904Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:35.905Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:35.905Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:35.906Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:35.906Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:35.906Z","priority":"6","pid":"2830187","message":" connection-monitor"}

data: {"time":"2026-09-19T16:24:35.906Z","priority":"6","pid":"2830187","message":" Testnum 3223"}

data: {"time":"2026-09-19T16:24:35.906Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:35.907Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:35.907Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:35.907Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:35.907Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:35.908Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:35.908Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3223"}

data: {"time":"2026-09-19T16:24:35.908Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:35.909Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:35.909Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:35.910Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.910Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:35.910Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:35.911Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:35.912Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:35.912Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:35.913Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.913Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:35.913Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:35.914Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:35.914Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:35.915Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:35.916Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:35.916Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:35.916Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.916Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:35.917Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:35.917Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.917Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:35.918Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:35.918Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:35.919Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:35.919Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:35.919Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3223"}

data: {"time":"2026-09-19T16:24:36.170Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3225 ../src/curl -q --include --trace-ascii log/trace3225 --trace-time http://host-a.example.test:39689/3225 --resolve host-a.example.test:39689:127.0.0.1 -o log/3225-1 -w \"connects=%{num_connects}/\" --next http://host-b.example.test:39689/32250001 --resolve host-b.example.test:39689:127.0.0.1 -o log/3225-2 -w \"connects=%{num_connects}/\" > log/stdout3225 2> log/stderr3225"}

data: {"time":"2026-09-19T16:24:36.181Z","priority":"6","pid":"2830187","message":"test 3224 [HTTP connection reused across different Basic auth credentials]"}

data: {"time":"2026-09-19T16:24:36.184Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3224 ../src/curl -q --include --trace-ascii log/trace3224 --trace-time http://127.0.0.1:39689/3224 -u user1:password1 -o log/3224-1 -w \"connects=%{num_connects}/\" --next http://127.0.0.1:39689/32240001 -u user2:password2 -o log/3224-2 -w \"connects=%{num_connects}/\" > log/stdout3224 2> log/stderr3224"}

data: {"time":"2026-09-19T16:24:36.184Z","priority":"6","pid":"2830187","message":" 3224: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:36.185Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:35.885755029 +0000"}

data: {"time":"2026-09-19T16:24:36.185Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:35.884905997 +0000"}

data: {"time":"2026-09-19T16:24:36.185Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:24:36.186Z","priority":"6","pid":"2830187","message":"-connects=1/connects=0/"}

data: {"time":"2026-09-19T16:24:36.186Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3224"}

data: {"time":"2026-09-19T16:24:36.186Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:36.187Z","priority":"6","pid":"2830187","message":" connects=1/connects=0/"}

data: {"time":"2026-09-19T16:24:36.187Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:36.187Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:36.190Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3224 ../src/curl -q --include --trace-ascii log/trace3224 --trace-time http://127.0.0.1:39689/3224 -u user1:password1 -o log/3224-1 -w \"connects=%{num_connects}/\" --next http://127.0.0.1:39689/32240001 -u user2:password2 -o log/3224-2 -w \"connects=%{num_connects}/\" > log/stdout3224 2> log/stderr3224"}

data: {"time":"2026-09-19T16:24:36.190Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:36.190Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:36.191Z","priority":"6","pid":"2830187","message":" 16:24:35.741459 ====> Client connect"}

data: {"time":"2026-09-19T16:24:36.192Z","priority":"6","pid":"2830187","message":" 16:24:35.741537 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:36.192Z","priority":"6","pid":"2830187","message":" 16:24:35.741730 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:36.192Z","priority":"6","pid":"2830187","message":" 16:24:35.741753 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:36.192Z","priority":"6","pid":"2830187","message":" 16:24:35.741770 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:36.193Z","priority":"6","pid":"2830187","message":" 16:24:35.741781 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:36.193Z","priority":"6","pid":"2830187","message":" 16:24:35.741837 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:36.194Z","priority":"6","pid":"2830187","message":" 16:24:35.741863 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:36.194Z","priority":"6","pid":"2830187","message":" 16:24:35.741932 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:36.195Z","priority":"6","pid":"2830187","message":" 16:24:35.741945 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:36.196Z","priority":"6","pid":"2830187","message":" 16:24:35.741987 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:36.196Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:36.196Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:36.196Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:36.197Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41548"}

data: {"time":"2026-09-19T16:24:36.197Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:36.198Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:36.198Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:36.199Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:36.199Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:36.199Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:36.199Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:36.199Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:36.199Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:36.199Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:36.199Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:36.200Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:36.200Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:36.201Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:36.201Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:36.201Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:36.202Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.202Z","priority":"6","pid":"2830187","message":" connection-monitor"}

data: {"time":"2026-09-19T16:24:36.202Z","priority":"6","pid":"2830187","message":" Testnum 3224"}

data: {"time":"2026-09-19T16:24:36.203Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.203Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:36.203Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:36.203Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:36.204Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:36.204Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:36.204Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3224"}

data: {"time":"2026-09-19T16:24:36.204Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:36.205Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:36.205Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:36.206Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.206Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:36.207Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:36.207Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:36.207Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:36.208Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:36.208Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.209Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:36.209Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:36.210Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:36.210Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:36.211Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:36.211Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:36.212Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:36.212Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.212Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:36.213Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:36.213Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.213Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:36.214Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:36.214Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:36.214Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.215Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:36.215Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3224"}

data: {"time":"2026-09-19T16:24:36.458Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3226 ../src/curl -q --include --trace-ascii log/trace3226 --trace-time http://127.0.0.1:39689/3226 -o log/3226-1 -w \"connects=%{num_connects}/\" --next http://127.0.0.1:39689/32260001 -o log/3226-2 -w \"connects=%{num_connects}/\" > log/stdout3226 2> log/stderr3226"}

data: {"time":"2026-09-19T16:24:36.467Z","priority":"6","pid":"2830187","message":"test 3225 [HTTP connection not reused when target host changes]"}

data: {"time":"2026-09-19T16:24:36.471Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3225 ../src/curl -q --include --trace-ascii log/trace3225 --trace-time http://host-a.example.test:39689/3225 --resolve host-a.example.test:39689:127.0.0.1 -o log/3225-1 -w \"connects=%{num_connects}/\" --next http://host-b.example.test:39689/32250001 --resolve host-b.example.test:39689:127.0.0.1 -o log/3225-2 -w \"connects=%{num_connects}/\" > log/stdout3225 2> log/stderr3225"}

data: {"time":"2026-09-19T16:24:36.471Z","priority":"6","pid":"2830187","message":" 3225: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:36.472Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:36.180862553 +0000"}

data: {"time":"2026-09-19T16:24:36.472Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:36.179909334 +0000"}

data: {"time":"2026-09-19T16:24:36.472Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:24:36.472Z","priority":"6","pid":"2830187","message":"-connects=1/connects=1/"}

data: {"time":"2026-09-19T16:24:36.473Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3225"}

data: {"time":"2026-09-19T16:24:36.473Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:36.473Z","priority":"6","pid":"2830187","message":" connects=1/connects=1/"}

data: {"time":"2026-09-19T16:24:36.474Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:36.474Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:36.477Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3225 ../src/curl -q --include --trace-ascii log/trace3225 --trace-time http://host-a.example.test:39689/3225 --resolve host-a.example.test:39689:127.0.0.1 -o log/3225-1 -w \"connects=%{num_connects}/\" --next http://host-b.example.test:39689/32250001 --resolve host-b.example.test:39689:127.0.0.1 -o log/3225-2 -w \"connects=%{num_connects}/\" > log/stdout3225 2> log/stderr3225"}

data: {"time":"2026-09-19T16:24:36.477Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:36.478Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:36.478Z","priority":"6","pid":"2830187","message":" 16:24:36.031453 ====> Client connect"}

data: {"time":"2026-09-19T16:24:36.478Z","priority":"6","pid":"2830187","message":" 16:24:36.031510 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:36.479Z","priority":"6","pid":"2830187","message":" 16:24:36.031688 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:36.479Z","priority":"6","pid":"2830187","message":" 16:24:36.031709 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:36.479Z","priority":"6","pid":"2830187","message":" 16:24:36.031727 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:36.480Z","priority":"6","pid":"2830187","message":" 16:24:36.031737 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:36.480Z","priority":"6","pid":"2830187","message":" 16:24:36.031780 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:36.481Z","priority":"6","pid":"2830187","message":" 16:24:36.031804 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:36.482Z","priority":"6","pid":"2830187","message":" 16:24:36.031865 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:36.482Z","priority":"6","pid":"2830187","message":" 16:24:36.031877 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:36.482Z","priority":"6","pid":"2830187","message":" 16:24:36.031886 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:36.483Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:36.483Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:36.483Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:36.484Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41558"}

data: {"time":"2026-09-19T16:24:36.484Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:36.485Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:36.485Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:36.485Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:36.486Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:36.486Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:36.486Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:36.486Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:36.486Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:36.487Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:36.487Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:36.487Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:36.488Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:36.488Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:36.489Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:36.489Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:36.490Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.490Z","priority":"6","pid":"2830187","message":" connection-monitor"}

data: {"time":"2026-09-19T16:24:36.490Z","priority":"6","pid":"2830187","message":" Testnum 3225"}

data: {"time":"2026-09-19T16:24:36.490Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.490Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:36.491Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:36.491Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:36.491Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:36.492Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:36.492Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3225"}

data: {"time":"2026-09-19T16:24:36.492Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:36.493Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:36.493Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:36.494Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.494Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:36.495Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:36.495Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:36.495Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:36.496Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:36.496Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.497Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:36.497Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:36.497Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:36.498Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:36.499Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:36.499Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:36.499Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:36.500Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.500Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:36.501Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:36.501Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.501Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:36.502Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:36.502Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:36.503Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.503Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:36.503Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3225"}

data: {"time":"2026-09-19T16:24:36.656Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3227 ./unit/units unit3227 - > log/stdout3227 2> log/stderr3227"}

data: {"time":"2026-09-19T16:24:36.895Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3228 ../src/curl -q --output log/curl3228.out  --include --trace-ascii log/trace3228 --trace-time -K - http://127.0.0.1:39689/3228 <log/stdin-for-3228 > log/stdout3228 2> log/stderr3228"}

data: {"time":"2026-09-19T16:24:36.903Z","priority":"6","pid":"2830187","message":"test 3226 [HTTP connection is reused for same host]"}

data: {"time":"2026-09-19T16:24:36.906Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3226 ../src/curl -q --include --trace-ascii log/trace3226 --trace-time http://127.0.0.1:39689/3226 -o log/3226-1 -w \"connects=%{num_connects}/\" --next http://127.0.0.1:39689/32260001 -o log/3226-2 -w \"connects=%{num_connects}/\" > log/stdout3226 2> log/stderr3226"}

data: {"time":"2026-09-19T16:24:36.906Z","priority":"6","pid":"2830187","message":" 3226: stdout FAILED:"}

data: {"time":"2026-09-19T16:24:36.907Z","priority":"6","pid":"2830187","message":"--- log/check-expected\t2026-09-19 16:24:36.466959707 +0000"}

data: {"time":"2026-09-19T16:24:36.908Z","priority":"6","pid":"2830187","message":"+++ log/check-generated\t2026-09-19 16:24:36.465912576 +0000"}

data: {"time":"2026-09-19T16:24:36.908Z","priority":"6","pid":"2830187","message":"@@ -1 +0,0 @@"}

data: {"time":"2026-09-19T16:24:36.908Z","priority":"6","pid":"2830187","message":"-connects=1/connects=0/"}

data: {"time":"2026-09-19T16:24:36.908Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3226"}

data: {"time":"2026-09-19T16:24:36.908Z","priority":"6","pid":"2830187","message":"=== Start of file check-expected"}

data: {"time":"2026-09-19T16:24:36.909Z","priority":"6","pid":"2830187","message":" connects=1/connects=0/"}

data: {"time":"2026-09-19T16:24:36.909Z","priority":"6","pid":"2830187","message":"=== End of file check-expected"}

data: {"time":"2026-09-19T16:24:36.909Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:36.911Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3226 ../src/curl -q --include --trace-ascii log/trace3226 --trace-time http://127.0.0.1:39689/3226 -o log/3226-1 -w \"connects=%{num_connects}/\" --next http://127.0.0.1:39689/32260001 -o log/3226-2 -w \"connects=%{num_connects}/\" > log/stdout3226 2> log/stderr3226"}

data: {"time":"2026-09-19T16:24:36.912Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:36.912Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:36.913Z","priority":"6","pid":"2830187","message":" 16:24:36.327018 ====> Client connect"}

data: {"time":"2026-09-19T16:24:36.913Z","priority":"6","pid":"2830187","message":" 16:24:36.327289 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:36.913Z","priority":"6","pid":"2830187","message":" 16:24:36.327343 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:36.913Z","priority":"6","pid":"2830187","message":" 16:24:36.327357 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:36.914Z","priority":"6","pid":"2830187","message":" 16:24:36.327375 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:36.914Z","priority":"6","pid":"2830187","message":" 16:24:36.327385 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:36.914Z","priority":"6","pid":"2830187","message":" 16:24:36.327432 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:36.915Z","priority":"6","pid":"2830187","message":" 16:24:36.327459 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:36.915Z","priority":"6","pid":"2830187","message":" 16:24:36.327559 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:36.916Z","priority":"6","pid":"2830187","message":" 16:24:36.327574 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:36.916Z","priority":"6","pid":"2830187","message":" 16:24:36.327583 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:36.917Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:36.917Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:36.917Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:36.918Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 41566"}

data: {"time":"2026-09-19T16:24:36.918Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:36.918Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:36.918Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:36.919Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:36.919Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:36.919Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:36.920Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:36.920Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:36.921Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:36.921Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:36.921Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:36.921Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:36.921Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:36.921Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:36.921Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:36.922Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:36.922Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.922Z","priority":"6","pid":"2830187","message":" connection-monitor"}

data: {"time":"2026-09-19T16:24:36.922Z","priority":"6","pid":"2830187","message":" Testnum 3226"}

data: {"time":"2026-09-19T16:24:36.923Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.923Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:36.923Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:36.924Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:36.924Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:36.924Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:36.924Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3226"}

data: {"time":"2026-09-19T16:24:36.925Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:36.925Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:36.926Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:36.926Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.926Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:36.927Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:36.927Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:36.928Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:36.928Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:36.928Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.929Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:36.929Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:36.930Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:36.930Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:36.931Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:36.931Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:36.932Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:36.932Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.932Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:36.933Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:36.933Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.933Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:36.934Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:36.934Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:36.934Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.935Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:36.935Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3226"}

data: {"time":"2026-09-19T16:24:36.936Z","priority":"6","pid":"2830187","message":"test 3227 [reject CR and LF in mail mime part name and filename]"}

data: {"time":"2026-09-19T16:24:36.937Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3227 ./unit/units unit3227 - > log/stdout3227 2> log/stderr3227"}

data: {"time":"2026-09-19T16:24:36.938Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:36.938Z","priority":"6","pid":"2830187","message":" 3227: exit FAILED"}

data: {"time":"2026-09-19T16:24:36.938Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3227"}

data: {"time":"2026-09-19T16:24:36.938Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:36.939Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3227 ./unit/units unit3227 - > log/stdout3227 2> log/stderr3227"}

data: {"time":"2026-09-19T16:24:36.940Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:36.940Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.940Z","priority":"6","pid":"2830187","message":" Testnum 3227"}

data: {"time":"2026-09-19T16:24:36.940Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.941Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3227"}

data: {"time":"2026-09-19T16:24:36.941Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:36.942Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:36.942Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:36.943Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.943Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:36.943Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:36.944Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:36.944Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:36.944Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:36.945Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.945Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:36.946Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:36.946Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:36.947Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:36.947Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:36.948Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:36.949Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:36.949Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.949Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:36.949Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:36.950Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.950Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:36.950Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:36.951Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:36.951Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:36.951Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:36.951Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3227"}

data: {"time":"2026-09-19T16:24:36.952Z","priority":"6","pid":"2830187","message":"test 3228 [Send custom request headers larger than the response header limit]"}

data: {"time":"2026-09-19T16:24:36.954Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3228 ../src/curl -q --output log/curl3228.out  --include --trace-ascii log/trace3228 --trace-time -K - http://127.0.0.1:39689/3228 <log/stdin-for-3228 > log/stdout3228 2> log/stderr3228"}

data: {"time":"2026-09-19T16:24:36.954Z","priority":"6","pid":"2830187","message":" 3228: protocol FAILED!"}

data: {"time":"2026-09-19T16:24:36.955Z","priority":"6","pid":"2830187","message":" There was no content at all in the file log/server.input."}

data: {"time":"2026-09-19T16:24:36.955Z","priority":"6","pid":"2830187","message":" Server glitch? Total curl failure? Returned: 1"}

data: {"time":"2026-09-19T16:24:36.956Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3228"}

data: {"time":"2026-09-19T16:24:36.956Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:36.957Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3228 ../src/curl -q --output log/curl3228.out  --include --trace-ascii log/trace3228 --trace-time -K - http://127.0.0.1:39689/3228 <log/stdin-for-3228 > log/stdout3228 2> log/stderr3228"}

data: {"time":"2026-09-19T16:24:36.958Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:36.958Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:36.959Z","priority":"6","pid":"2830187","message":" 16:24:36.760024 ====> Client connect"}

data: {"time":"2026-09-19T16:24:36.959Z","priority":"6","pid":"2830187","message":" 16:24:36.760122 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:36.959Z","priority":"6","pid":"2830187","message":" 16:24:36.760341 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:36.960Z","priority":"6","pid":"2830187","message":" 16:24:36.760368 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:36.960Z","priority":"6","pid":"2830187","message":" 16:24:36.760386 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:36.960Z","priority":"6","pid":"2830187","message":" 16:24:36.760397 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:36.961Z","priority":"6","pid":"2830187","message":" 16:24:36.760445 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:36.961Z","priority":"6","pid":"2830187","message":" 16:24:36.760469 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:36.962Z","priority":"6","pid":"2830187","message":" 16:24:36.760591 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:36.962Z","priority":"6","pid":"2830187","message":" 16:24:36.760604 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:36.963Z","priority":"6","pid":"2830187","message":" 16:24:36.760612 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:36.963Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:36.963Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:36.964Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:36.967Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 33086"}

data: {"time":"2026-09-19T16:24:36.968Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:36.968Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:36.968Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:36.968Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:36.968Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:36.968Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:36.969Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:36.969Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:36.969Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:36.970Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:36.970Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:36.970Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:36.970Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:36.971Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:36.971Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:36.971Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:36.972Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.972Z","priority":"6","pid":"2830187","message":" Testnum 3228"}

data: {"time":"2026-09-19T16:24:36.972Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:36.972Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:36.972Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:36.973Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:36.973Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:36.973Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:36.974Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-3228"}

data: {"time":"2026-09-19T16:24:38.192Z","priority":"6","pid":"2830187","message":" header \"X-Large: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:38.194Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:38.195Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:38.196Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:38.197Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:38.199Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:38.199Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\""}

data: {"time":"2026-09-19T16:24:39.472Z","priority":"6","pid":"2830187","message":" header \"Connection: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:39.476Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:39.478Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:39.480Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:39.482Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:39.482Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:39.483Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\""}

data: {"time":"2026-09-19T16:24:40.981Z","priority":"6","pid":"2830187","message":" header \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

data: {"time":"2026-09-19T16:24:40.983Z","priority":"6","pid":"2830187","message":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

data: {"time":"2026-09-19T16:24:40.983Z","priority":"6","pid":"2830187","message":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

data: {"time":"2026-09-19T16:24:40.984Z","priority":"6","pid":"2830187","message":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

data: {"time":"2026-09-19T16:24:40.984Z","priority":"6","pid":"2830187","message":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

data: {"time":"2026-09-19T16:24:40.985Z","priority":"6","pid":"2830187","message":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}

data: {"time":"2026-09-19T16:24:40.985Z","priority":"6","pid":"2830187","message":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3229 ../src/curl -q --output log/curl3229.out  --include --trace-ascii log/trace3229 --trace-time -K - http://127.0.0.1:39689/3229 <log/stdin-for-3229 > log/stdout3229 2> log/stderr3229"}

data: {"time":"2026-09-19T16:24:41.020Z","priority":"6","pid":"2830187","message":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;\""}

data: {"time":"2026-09-19T16:24:41.020Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-3228"}

data: {"time":"2026-09-19T16:24:41.021Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3228"}

data: {"time":"2026-09-19T16:24:41.021Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:41.021Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:41.022Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:41.022Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:41.022Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:41.023Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:41.023Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:41.024Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:41.024Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:41.024Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:41.025Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:41.025Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:41.026Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:41.026Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:41.027Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:41.027Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:41.028Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:41.028Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:41.028Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:41.028Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:41.029Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:41.029Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:41.030Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:41.030Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:41.030Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:41.031Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:41.031Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3228"}

data: {"time":"2026-09-19T16:24:41.031Z","priority":"6","pid":"2830187","message":"test 3229 [Reject a custom request header larger than the request buffer]"}

data: {"time":"2026-09-19T16:24:41.033Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3229 ../src/curl -q --output log/curl3229.out  --include --trace-ascii log/trace3229 --trace-time -K - http://127.0.0.1:39689/3229 <log/stdin-for-3229 > log/stdout3229 2> log/stderr3229"}

data: {"time":"2026-09-19T16:24:41.034Z","priority":"6","pid":"2830187","message":"curl returned 1, when expecting 100"}

data: {"time":"2026-09-19T16:24:41.034Z","priority":"6","pid":"2830187","message":" 3229: exit FAILED"}

data: {"time":"2026-09-19T16:24:41.034Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3229"}

data: {"time":"2026-09-19T16:24:41.035Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:41.036Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3229 ../src/curl -q --output log/curl3229.out  --include --trace-ascii log/trace3229 --trace-time -K - http://127.0.0.1:39689/3229 <log/stdin-for-3229 > log/stdout3229 2> log/stderr3229"}

data: {"time":"2026-09-19T16:24:41.037Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:41.037Z","priority":"6","pid":"2830187","message":"=== Start of file http_server.log"}

data: {"time":"2026-09-19T16:24:41.037Z","priority":"6","pid":"2830187","message":" 16:24:40.846560 ====> Client connect"}

data: {"time":"2026-09-19T16:24:41.038Z","priority":"6","pid":"2830187","message":" 16:24:40.846618 accept_connection 3 returned 4"}

data: {"time":"2026-09-19T16:24:41.038Z","priority":"6","pid":"2830187","message":" 16:24:40.846877 Read 93 bytes"}

data: {"time":"2026-09-19T16:24:41.038Z","priority":"6","pid":"2830187","message":" 16:24:40.846905 Process 93 bytes request"}

data: {"time":"2026-09-19T16:24:41.039Z","priority":"6","pid":"2830187","message":" 16:24:40.846922 Got request: GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:41.040Z","priority":"6","pid":"2830187","message":" 16:24:40.846934 Are-we-friendly question received"}

data: {"time":"2026-09-19T16:24:41.040Z","priority":"6","pid":"2830187","message":" 16:24:40.846983 Wrote request (93 bytes) input to log/server.input"}

data: {"time":"2026-09-19T16:24:41.040Z","priority":"6","pid":"2830187","message":" 16:24:40.847059 Identifying ourselves as friends"}

data: {"time":"2026-09-19T16:24:41.040Z","priority":"6","pid":"2830187","message":" 16:24:40.847163 Response sent (57 bytes) and written to log/server.response"}

data: {"time":"2026-09-19T16:24:41.041Z","priority":"6","pid":"2830187","message":" 16:24:40.847175 special request received, no persistency"}

data: {"time":"2026-09-19T16:24:41.041Z","priority":"6","pid":"2830187","message":" 16:24:40.847185 ====> Client disconnect 0"}

data: {"time":"2026-09-19T16:24:41.042Z","priority":"6","pid":"2830187","message":"=== End of file http_server.log"}

data: {"time":"2026-09-19T16:24:41.042Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.log"}

data: {"time":"2026-09-19T16:24:41.042Z","priority":"6","pid":"2830187","message":" *   Trying 127.0.0.1:39689..."}

data: {"time":"2026-09-19T16:24:41.043Z","priority":"6","pid":"2830187","message":" * Established connection to 127.0.0.1 (127.0.0.1 port 39689) from 127.0.0.1 port 33096"}

data: {"time":"2026-09-19T16:24:41.043Z","priority":"6","pid":"2830187","message":" * using HTTP/1.x"}

data: {"time":"2026-09-19T16:24:41.044Z","priority":"6","pid":"2830187","message":" > GET /verifiedserver HTTP/1.1"}

data: {"time":"2026-09-19T16:24:41.044Z","priority":"6","pid":"2830187","message":" > Host: 127.0.0.1:39689"}

data: {"time":"2026-09-19T16:24:41.044Z","priority":"6","pid":"2830187","message":" > User-Agent: curl/8.22.0"}

data: {"time":"2026-09-19T16:24:41.044Z","priority":"6","pid":"2830187","message":" > Accept: */*"}

data: {"time":"2026-09-19T16:24:41.045Z","priority":"6","pid":"2830187","message":" >"}

data: {"time":"2026-09-19T16:24:41.045Z","priority":"6","pid":"2830187","message":" * Request completely sent off"}

data: {"time":"2026-09-19T16:24:41.045Z","priority":"6","pid":"2830187","message":" < HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:41.054Z","priority":"6","pid":"2830187","message":" < Content-Length: 18"}

data: {"time":"2026-09-19T16:24:41.055Z","priority":"6","pid":"2830187","message":" <"}

data: {"time":"2026-09-19T16:24:41.055Z","priority":"6","pid":"2830187","message":" { [18 bytes data]"}

data: {"time":"2026-09-19T16:24:41.055Z","priority":"6","pid":"2830187","message":" * Connection #0 to host 127.0.0.1:39689 left intact"}

data: {"time":"2026-09-19T16:24:41.055Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.log"}

data: {"time":"2026-09-19T16:24:41.055Z","priority":"6","pid":"2830187","message":"=== Start of file http_verify.out"}

data: {"time":"2026-09-19T16:24:41.056Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:41.056Z","priority":"6","pid":"2830187","message":"=== End of file http_verify.out"}

data: {"time":"2026-09-19T16:24:41.056Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:41.057Z","priority":"6","pid":"2830187","message":" Testnum 3229"}

data: {"time":"2026-09-19T16:24:41.057Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:41.057Z","priority":"6","pid":"2830187","message":"=== Start of file server.response"}

data: {"time":"2026-09-19T16:24:41.057Z","priority":"6","pid":"2830187","message":" HTTP/1.1 200 OK"}

data: {"time":"2026-09-19T16:24:41.058Z","priority":"6","pid":"2830187","message":" Content-Length: 18"}

data: {"time":"2026-09-19T16:24:41.058Z","priority":"6","pid":"2830187","message":" WE ROOLZ: 161054"}

data: {"time":"2026-09-19T16:24:41.058Z","priority":"6","pid":"2830187","message":"=== End of file server.response"}

data: {"time":"2026-09-19T16:24:41.059Z","priority":"6","pid":"2830187","message":"=== Start of file stdin-for-3229"}

data: {"time":"2026-09-19T16:24:45.400Z","priority":"6","pid":"2830187","message":" header \"X-Large: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.402Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.403Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.403Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.403Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.404Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.404Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.405Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.405Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.405Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.406Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.406Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.407Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.407Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.407Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.408Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.408Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.409Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.409Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.409Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.410Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

data: {"time":"2026-09-19T16:24:45.410Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3300 ./unit/units unit3300 - > log/stdout3300 2> log/stderr3300"}

data: {"time":"2026-09-19T16:24:45.551Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3301 ./unit/units unit3301 - > log/stdout3301 2> log/stderr3301"}

data: {"time":"2026-09-19T16:24:45.696Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3302 ./unit/units unit3302 - > log/stdout3302 2> log/stderr3302"}

data: {"time":"2026-09-19T16:24:45.722Z","priority":"6","pid":"2830187","message":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\""}

data: {"time":"2026-09-19T16:24:45.723Z","priority":"6","pid":"2830187","message":"=== End of file stdin-for-3229"}

data: {"time":"2026-09-19T16:24:45.723Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3229"}

data: {"time":"2026-09-19T16:24:45.723Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:45.723Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:45.724Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:45.724Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.725Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:45.725Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:45.726Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:45.726Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:45.726Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:45.727Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.727Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:45.728Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:45.728Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:45.729Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:45.729Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:45.730Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:45.730Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:45.730Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.731Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:45.731Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:45.731Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.732Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:45.732Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:45.733Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:45.733Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.733Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:45.734Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3229"}

data: {"time":"2026-09-19T16:24:45.734Z","priority":"6","pid":"2830187","message":"test 3300 [thrdpool unit tests]"}

data: {"time":"2026-09-19T16:24:45.735Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3300 ./unit/units unit3300 - > log/stdout3300 2> log/stderr3300"}

data: {"time":"2026-09-19T16:24:45.736Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:45.736Z","priority":"6","pid":"2830187","message":" 3300: exit FAILED"}

data: {"time":"2026-09-19T16:24:45.737Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3300"}

data: {"time":"2026-09-19T16:24:45.737Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:45.739Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3300 ./unit/units unit3300 - > log/stdout3300 2> log/stderr3300"}

data: {"time":"2026-09-19T16:24:45.739Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:45.739Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:45.739Z","priority":"6","pid":"2830187","message":" Testnum 3300"}

data: {"time":"2026-09-19T16:24:45.740Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:45.740Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3300"}

data: {"time":"2026-09-19T16:24:45.740Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:45.740Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:45.741Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:45.742Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.742Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:45.742Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:45.742Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:45.742Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:45.743Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:45.743Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.744Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:45.744Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:45.745Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:45.745Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:45.746Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:45.746Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:45.747Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:45.747Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.747Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:45.747Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:45.748Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.748Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:45.749Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:45.749Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:45.750Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.750Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:45.750Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3300"}

data: {"time":"2026-09-19T16:24:45.750Z","priority":"6","pid":"2830187","message":"test 3301 [thrdqueue unit tests]"}

data: {"time":"2026-09-19T16:24:45.752Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3301 ./unit/units unit3301 - > log/stdout3301 2> log/stderr3301"}

data: {"time":"2026-09-19T16:24:45.752Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:45.753Z","priority":"6","pid":"2830187","message":" 3301: exit FAILED"}

data: {"time":"2026-09-19T16:24:45.753Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3301"}

data: {"time":"2026-09-19T16:24:45.754Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:45.755Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3301 ./unit/units unit3301 - > log/stdout3301 2> log/stderr3301"}

data: {"time":"2026-09-19T16:24:45.755Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:45.755Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:45.755Z","priority":"6","pid":"2830187","message":" Testnum 3301"}

data: {"time":"2026-09-19T16:24:45.756Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:45.756Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3301"}

data: {"time":"2026-09-19T16:24:45.756Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:45.757Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:45.757Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:45.757Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.758Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:45.758Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:45.759Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:45.759Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:45.760Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:45.760Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.760Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:45.761Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:45.761Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:45.762Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:45.762Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:45.763Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:45.763Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:45.763Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.764Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:45.764Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:45.764Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.765Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:45.765Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:45.766Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:45.766Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.766Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:45.767Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3301"}

data: {"time":"2026-09-19T16:24:45.767Z","priority":"6","pid":"2830187","message":"test 3302 [CURLOPT_GSSAPI_DELEGATION stores flags in data->set]"}

data: {"time":"2026-09-19T16:24:45.768Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3302 ./unit/units unit3302 - > log/stdout3302 2> log/stderr3302"}

data: {"time":"2026-09-19T16:24:45.769Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:45.769Z","priority":"6","pid":"2830187","message":" 3302: exit FAILED"}

data: {"time":"2026-09-19T16:24:45.770Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3302"}

data: {"time":"2026-09-19T16:24:45.770Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:45.771Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3302 ./unit/units unit3302 - > log/stdout3302 2> log/stderr3302"}

data: {"time":"2026-09-19T16:24:45.772Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:45.772Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:45.772Z","priority":"6","pid":"2830187","message":" Testnum 3302"}

data: {"time":"2026-09-19T16:24:45.772Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:45.773Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3302"}

data: {"time":"2026-09-19T16:24:45.773Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:45.774Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:45.774Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:45.774Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.775Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:45.775Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:45.776Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:45.777Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:45.777Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:45.777Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.777Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:45.778Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:45.778Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:45.778Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:45.779Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:45.779Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:45.780Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:45.780Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:45.780Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:45.920Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3303 ./unit/units unit3303 - > log/stdout3303 2> log/stderr3303"}

data: {"time":"2026-09-19T16:24:46.069Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3304 ./unit/units unit3304 - > log/stdout3304 2> log/stderr3304"}

data: {"time":"2026-09-19T16:24:46.266Z","priority":"6","pid":"2830187","message":"CMD (256): ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3400 ./unit/units unit3400 - > log/stdout3400 2> log/stderr3400"}

data: {"time":"2026-09-19T16:24:46.315Z","priority":"6","pid":"2830187","message":"* kill pid for ftp-ctrl => 162431"}

data: {"time":"2026-09-19T16:24:46.318Z","priority":"6","pid":"2830187","message":"* kill pid for ftp-ipv6-ctrl => 93720"}

data: {"time":"2026-09-19T16:24:46.319Z","priority":"6","pid":"2830187","message":"* kill pid for imap-filt => 112546"}

data: {"time":"2026-09-19T16:24:46.323Z","priority":"6","pid":"2830187","message":"* kill pid for pop3-filt => 105306"}

data: {"time":"2026-09-19T16:24:46.326Z","priority":"6","pid":"2830187","message":"* kill pid for smtp-filt => 112485"}

data: {"time":"2026-09-19T16:24:46.331Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 83544 signalled to die"}

data: {"time":"2026-09-19T16:24:46.333Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 93005 signalled to die"}

data: {"time":"2026-09-19T16:24:46.338Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 93719 signalled to die"}

data: {"time":"2026-09-19T16:24:46.339Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 105305 signalled to die"}

data: {"time":"2026-09-19T16:24:46.339Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 110431 signalled to die"}

data: {"time":"2026-09-19T16:24:46.340Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 112484 signalled to die"}

data: {"time":"2026-09-19T16:24:46.340Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 112545 signalled to die"}

data: {"time":"2026-09-19T16:24:46.341Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 115449 signalled to die"}

data: {"time":"2026-09-19T16:24:46.341Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 139685 signalled to die"}

data: {"time":"2026-09-19T16:24:46.342Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 143050 signalled to die"}

data: {"time":"2026-09-19T16:24:46.343Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 143222 signalled to die"}

data: {"time":"2026-09-19T16:24:46.343Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 145422 signalled to die"}

data: {"time":"2026-09-19T16:24:46.345Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 156419 signalled to die"}

data: {"time":"2026-09-19T16:24:46.351Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 157225 signalled to die"}

data: {"time":"2026-09-19T16:24:46.351Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 157273 signalled to die"}

data: {"time":"2026-09-19T16:24:46.352Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 157968 signalled to die"}

data: {"time":"2026-09-19T16:24:46.353Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 161054 signalled to die"}

data: {"time":"2026-09-19T16:24:46.353Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 162430 signalled to die"}

data: {"time":"2026-09-19T16:24:46.405Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 83544 gracefully died"}

data: {"time":"2026-09-19T16:24:46.457Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 93005 gracefully died"}

data: {"time":"2026-09-19T16:24:46.508Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 93719 gracefully died"}

data: {"time":"2026-09-19T16:24:46.559Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 105305 gracefully died"}

data: {"time":"2026-09-19T16:24:46.611Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 110431 gracefully died"}

data: {"time":"2026-09-19T16:24:46.662Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 112484 gracefully died"}

data: {"time":"2026-09-19T16:24:46.713Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 112545 gracefully died"}

data: {"time":"2026-09-19T16:24:46.764Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 115449 gracefully died"}

data: {"time":"2026-09-19T16:24:46.815Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 139685 gracefully died"}

data: {"time":"2026-09-19T16:24:46.866Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 143050 gracefully died"}

data: {"time":"2026-09-19T16:24:46.917Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 143222 gracefully died"}

data: {"time":"2026-09-19T16:24:46.968Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 145422 gracefully died"}

data: {"time":"2026-09-19T16:24:47.019Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 156419 gracefully died"}

data: {"time":"2026-09-19T16:24:47.070Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 157968 gracefully died"}

data: {"time":"2026-09-19T16:24:47.122Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 161054 gracefully died"}

data: {"time":"2026-09-19T16:24:47.172Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 162430 gracefully died"}

data: {"time":"2026-09-19T16:24:51.392Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 157225 forced to die with SIGKILL"}

data: {"time":"2026-09-19T16:24:51.394Z","priority":"6","pid":"2830187","message":"RUN: Process with pid 157273 forced to die with SIGKILL"}

data: {"time":"2026-09-19T16:24:51.399Z","priority":"6","pid":"2830187","message":"Runner 78759 exiting"}

data: {"time":"2026-09-19T16:24:51.441Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:51.441Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.442Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:51.442Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:51.442Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:51.442Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.442Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:51.443Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3302"}

data: {"time":"2026-09-19T16:24:51.443Z","priority":"6","pid":"2830187","message":"test 3303 [conn-reuse distinguishes mTLS key, cert_type, key_type and key_passwd]"}

data: {"time":"2026-09-19T16:24:51.444Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3303 ./unit/units unit3303 - > log/stdout3303 2> log/stderr3303"}

data: {"time":"2026-09-19T16:24:51.445Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:51.445Z","priority":"6","pid":"2830187","message":" 3303: exit FAILED"}

data: {"time":"2026-09-19T16:24:51.445Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3303"}

data: {"time":"2026-09-19T16:24:51.446Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:51.447Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3303 ./unit/units unit3303 - > log/stdout3303 2> log/stderr3303"}

data: {"time":"2026-09-19T16:24:51.447Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:51.448Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:51.448Z","priority":"6","pid":"2830187","message":" Testnum 3303"}

data: {"time":"2026-09-19T16:24:51.448Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:51.448Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3303"}

data: {"time":"2026-09-19T16:24:51.448Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:51.448Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:51.449Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:51.449Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.450Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:51.450Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:51.450Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:51.450Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:51.451Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:51.451Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.451Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:51.452Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:51.452Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:51.452Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:51.453Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:51.453Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:51.454Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:51.454Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.454Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:51.454Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:51.455Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.455Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:51.455Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:51.456Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:51.456Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.456Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:51.456Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3303"}

data: {"time":"2026-09-19T16:24:51.457Z","priority":"6","pid":"2830187","message":"test 3304 [TLS session cache peer key uses mTLS key, key_type and cert_type]"}

data: {"time":"2026-09-19T16:24:51.458Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3304 ./unit/units unit3304 - > log/stdout3304 2> log/stderr3304"}

data: {"time":"2026-09-19T16:24:51.459Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:51.459Z","priority":"6","pid":"2830187","message":" 3304: exit FAILED"}

data: {"time":"2026-09-19T16:24:51.459Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3304"}

data: {"time":"2026-09-19T16:24:51.460Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:51.460Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3304 ./unit/units unit3304 - > log/stdout3304 2> log/stderr3304"}

data: {"time":"2026-09-19T16:24:51.460Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:51.461Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:51.461Z","priority":"6","pid":"2830187","message":" Testnum 3304"}

data: {"time":"2026-09-19T16:24:51.461Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:51.462Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3304"}

data: {"time":"2026-09-19T16:24:51.462Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:51.462Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:51.463Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:51.463Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.463Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:51.463Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:51.464Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:51.464Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:51.464Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:51.465Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.465Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:51.465Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:51.466Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:51.466Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:51.467Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:51.467Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:51.467Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:51.468Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.468Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:51.468Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:51.469Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.469Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:51.469Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:51.470Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:51.470Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.470Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:51.470Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3304"}

data: {"time":"2026-09-19T16:24:51.471Z","priority":"6","pid":"2830187","message":"test 3400 [capsule protocol encode and decode unit tests]"}

data: {"time":"2026-09-19T16:24:51.472Z","priority":"6","pid":"2830187","message":"../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3400 ./unit/units unit3400 - > log/stdout3400 2> log/stderr3400"}

data: {"time":"2026-09-19T16:24:51.473Z","priority":"6","pid":"2830187","message":"units returned 1, when expecting 0"}

data: {"time":"2026-09-19T16:24:51.473Z","priority":"6","pid":"2830187","message":" 3400: exit FAILED"}

data: {"time":"2026-09-19T16:24:51.473Z","priority":"6","pid":"2830187","message":"== Contents of files in the log/ directory after test 3400"}

data: {"time":"2026-09-19T16:24:51.474Z","priority":"6","pid":"2830187","message":"=== Start of file commands.log"}

data: {"time":"2026-09-19T16:24:51.474Z","priority":"6","pid":"2830187","message":" ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/build/curl/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/valgrind3400 ./unit/units unit3400 - > log/stdout3400 2> log/stderr3400"}

data: {"time":"2026-09-19T16:24:51.474Z","priority":"6","pid":"2830187","message":"=== End of file commands.log"}

data: {"time":"2026-09-19T16:24:51.474Z","priority":"6","pid":"2830187","message":"=== Start of file server.cmd"}

data: {"time":"2026-09-19T16:24:51.475Z","priority":"6","pid":"2830187","message":" Testnum 3400"}

data: {"time":"2026-09-19T16:24:51.475Z","priority":"6","pid":"2830187","message":"=== End of file server.cmd"}

data: {"time":"2026-09-19T16:24:51.476Z","priority":"6","pid":"2830187","message":"=== Start of file valgrind3400"}

data: {"time":"2026-09-19T16:24:51.476Z","priority":"6","pid":"2830187","message":" valgrind:  Fatal error at startup: a function redirection"}

data: {"time":"2026-09-19T16:24:51.476Z","priority":"6","pid":"2830187","message":" valgrind:  which is mandatory for this platform-tool combination"}

data: {"time":"2026-09-19T16:24:51.476Z","priority":"6","pid":"2830187","message":" valgrind:  cannot be set up.  Details of the redirection are:"}

data: {"time":"2026-09-19T16:24:51.476Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.476Z","priority":"6","pid":"2830187","message":" valgrind:  A must-be-redirected function"}

data: {"time":"2026-09-19T16:24:51.477Z","priority":"6","pid":"2830187","message":" valgrind:  whose name matches the pattern:      memcmp"}

data: {"time":"2026-09-19T16:24:51.477Z","priority":"6","pid":"2830187","message":" valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:51.477Z","priority":"6","pid":"2830187","message":" valgrind:  was not found whilst processing"}

data: {"time":"2026-09-19T16:24:51.478Z","priority":"6","pid":"2830187","message":" valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2"}

data: {"time":"2026-09-19T16:24:51.478Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.478Z","priority":"6","pid":"2830187","message":" valgrind:  Possible fixes: (1, short term): install glibc's debuginfo"}

data: {"time":"2026-09-19T16:24:51.478Z","priority":"6","pid":"2830187","message":" valgrind:  package on this machine.  (2, longer term): ask the packagers"}

data: {"time":"2026-09-19T16:24:51.479Z","priority":"6","pid":"2830187","message":" valgrind:  for your Linux distribution to please in future ship a non-"}

data: {"time":"2026-09-19T16:24:51.480Z","priority":"6","pid":"2830187","message":" valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)"}

data: {"time":"2026-09-19T16:24:51.480Z","priority":"6","pid":"2830187","message":" valgrind:  that exports the above-named function using the standard"}

data: {"time":"2026-09-19T16:24:51.480Z","priority":"6","pid":"2830187","message":" valgrind:  calling conventions for this platform.  The package you need"}

data: {"time":"2026-09-19T16:24:51.480Z","priority":"6","pid":"2830187","message":" valgrind:  to install for fix (1) is called"}

data: {"time":"2026-09-19T16:24:51.480Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.481Z","priority":"6","pid":"2830187","message":" valgrind:    On Debian, Ubuntu:                 libc6-dbg"}

data: {"time":"2026-09-19T16:24:51.481Z","priority":"6","pid":"2830187","message":" valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo"}

data: {"time":"2026-09-19T16:24:51.482Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.482Z","priority":"6","pid":"2830187","message":" valgrind:  Note that if you are debugging a 32 bit process on a"}

data: {"time":"2026-09-19T16:24:51.482Z","priority":"6","pid":"2830187","message":" valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo"}

data: {"time":"2026-09-19T16:24:51.482Z","priority":"6","pid":"2830187","message":" valgrind:  package (e.g. libc6-dbg:i386)."}

data: {"time":"2026-09-19T16:24:51.482Z","priority":"6","pid":"2830187","message":" valgrind:"}

data: {"time":"2026-09-19T16:24:51.482Z","priority":"6","pid":"2830187","message":" valgrind:  Cannot continue -- exiting now.  Sorry."}

data: {"time":"2026-09-19T16:24:51.483Z","priority":"6","pid":"2830187","message":"=== End of file valgrind3400"}

data: {"time":"2026-09-19T16:24:51.483Z","priority":"6","pid":"2830187","message":"* kill pid for http-ipv6 => 93005"}

data: {"time":"2026-09-19T16:24:51.483Z","priority":"6","pid":"2830187","message":"* kill pid for http-proxy => 83544"}

data: {"time":"2026-09-19T16:24:51.483Z","priority":"6","pid":"2830187","message":"* kill pid for socks5unix => 157968"}

data: {"time":"2026-09-19T16:24:51.484Z","priority":"6","pid":"2830187","message":"* kill pid for rtsp => 110431"}

data: {"time":"2026-09-19T16:24:51.484Z","priority":"6","pid":"2830187","message":"* kill pid for smtp => 112484"}

data: {"time":"2026-09-19T16:24:51.484Z","priority":"6","pid":"2830187","message":"* kill pid for telnet => 157273"}

data: {"time":"2026-09-19T16:24:51.484Z","priority":"6","pid":"2830187","message":"* kill pid for gopher-ipv6 => 143222"}

data: {"time":"2026-09-19T16:24:51.485Z","priority":"6","pid":"2830187","message":"* kill pid for mqtt => 139685"}

data: {"time":"2026-09-19T16:24:51.485Z","priority":"6","pid":"2830187","message":"* kill pid for imap => 112545"}

data: {"time":"2026-09-19T16:24:51.485Z","priority":"6","pid":"2830187","message":"* kill pid for http-unix => 156419"}

data: {"time":"2026-09-19T16:24:51.485Z","priority":"6","pid":"2830187","message":"* kill pid for ftp-ipv6 => 93719"}

data: {"time":"2026-09-19T16:24:51.486Z","priority":"6","pid":"2830187","message":"* kill pid for pop3 => 105305"}

data: {"time":"2026-09-19T16:24:51.486Z","priority":"6","pid":"2830187","message":"* kill pid for tftp => 145422"}

data: {"time":"2026-09-19T16:24:51.486Z","priority":"6","pid":"2830187","message":"* kill pid for ftp => 162430"}

data: {"time":"2026-09-19T16:24:51.486Z","priority":"6","pid":"2830187","message":"* kill pid for socks => 115449"}

data: {"time":"2026-09-19T16:24:51.487Z","priority":"6","pid":"2830187","message":"* kill pid for dict => 157225"}

data: {"time":"2026-09-19T16:24:51.487Z","priority":"6","pid":"2830187","message":"* kill pid for gopher => 143050"}

data: {"time":"2026-09-19T16:24:51.487Z","priority":"6","pid":"2830187","message":"* kill pid for http => 161054"}

data: {"time":"2026-09-19T16:24:51.488Z","priority":"6","pid":"2830187","message":"TESTDONE: 2072 tests were considered during 566 seconds."}

data: {"time":"2026-09-19T16:24:51.488Z","priority":"6","pid":"2830187","message":"TESTINFO: 368 tests were skipped due to these restraints:"}

data: {"time":"2026-09-19T16:24:51.488Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks Debug support\" 132 times (355, 356, 358, 359, 363, 412, 413, 437, 438 and 123 more)"}

data: {"time":"2026-09-19T16:24:51.489Z","priority":"6","pid":"2830187","message":"TESTINFO: \"no stunnel\" 71 times (300, 301, 302, 303, 304, 305, 306, 307, 308 and 62 more)"}

data: {"time":"2026-09-19T16:24:51.489Z","priority":"6","pid":"2830187","message":"TESTINFO: \"failed starting SSH server\" 55 times (582, 583, 600, 601, 602, 603, 604, 605, 606 and 46 more)"}

data: {"time":"2026-09-19T16:24:51.490Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks NTLM support\" 53 times (67, 68, 69, 70, 76, 81, 89, 90, 91 and 44 more)"}

data: {"time":"2026-09-19T16:24:51.522Z","priority":"6","pid":"2830187","message":"TESTINFO: \"configured as DISABLED\" 15 times (433, 594, 836, 882, 938, 1182, 1184, 1209, 1211 and 6 more)"}

data: {"time":"2026-09-19T16:24:51.523Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks manual support\" 7 times (1026, 1179, 1461, 1707, 1708, 1709, 1710)"}

data: {"time":"2026-09-19T16:24:51.523Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks Schannel support\" 6 times (2033, 2070, 2079, 2087, 3023, 3024)"}

data: {"time":"2026-09-19T16:24:51.523Z","priority":"6","pid":"2830187","message":"TESTINFO: \"failed starting HTTP/2 server\" 6 times (1700, 1702, 2402, 2403, 2404, 2407)"}

data: {"time":"2026-09-19T16:24:51.524Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl has IDN support\" 3 times (959, 960, 961)"}

data: {"time":"2026-09-19T16:24:51.524Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks override-dns support\" 3 times (2102, 2103, 2104)"}

data: {"time":"2026-09-19T16:24:51.525Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks TrackMemory support\" 3 times (96, 558, 1330)"}

data: {"time":"2026-09-19T16:24:51.525Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks ECH support\" 2 times (4000, 4001)"}

data: {"time":"2026-09-19T16:24:51.525Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks nghttpx-h3 support\" 2 times (2500, 2503)"}

data: {"time":"2026-09-19T16:24:51.526Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks smb support\" 2 times (1451, 1850)"}

data: {"time":"2026-09-19T16:24:51.526Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl has IPv6 support\" 1 time (1454)"}

data: {"time":"2026-09-19T16:24:51.527Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl has proxy support\" 1 time (375)"}

data: {"time":"2026-09-19T16:24:51.527Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl has threaded-resolver support\" 1 time (506)"}

data: {"time":"2026-09-19T16:24:51.527Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks ldap support\" 1 time (445)"}

data: {"time":"2026-09-19T16:24:51.527Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks ssl-sessions support\" 1 time (777)"}

data: {"time":"2026-09-19T16:24:51.527Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks SSLS-EXPORT support\" 1 time (1678)"}

data: {"time":"2026-09-19T16:24:51.528Z","priority":"6","pid":"2830187","message":"TESTINFO: \"curl lacks Unicode support\" 1 time (1703)"}

data: {"time":"2026-09-19T16:24:51.528Z","priority":"6","pid":"2830187","message":"TESTINFO: \"failed starting HTTP/3 server\" 1 time (2502)"}

data: {"time":"2026-09-19T16:24:51.528Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 573: 'verify connect time with multi interface' HTTP, multi, flaky"}

data: {"time":"2026-09-19T16:24:51.529Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 587: 'HTTP multi-part formpost with aborted read callback' HTTP, HTTP POST, FORM, flaky"}

data: {"time":"2026-09-19T16:24:51.529Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 766: 'FTP PORT with sockopt callback refusing the accept' FTP, PORT, CURLOPT_SOCKOPTFUNCTION, timing-dependent"}

data: {"time":"2026-09-19T16:24:51.530Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 1086: 'FTP download with strict timeout and slow data transfer' FTP, EPSV, RETR, timeout, SLOWDOWNDATA, flaky, timing-dependent"}

data: {"time":"2026-09-19T16:24:51.530Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 1113: 'FTP wildcard download - changed fnmatch, 2x perform (DOS LIST)' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky"}

data: {"time":"2026-09-19T16:24:51.531Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 1162: 'FTP wildcard with crazy pattern' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky"}

data: {"time":"2026-09-19T16:24:51.532Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 1163: 'FTP wildcard with pattern ending with an open-bracket' FTP, RETR, LIST, wildcardmatch, ftplistparser, flaky"}

data: {"time":"2026-09-19T16:24:51.532Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 1208: 'FTP PORT download, no data conn and no transient negative reply' FTP, PORT, RETR, NODATACONN150, timeout, flaky, timing-dependent"}

data: {"time":"2026-09-19T16:24:51.533Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 1510: 'HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)' HTTP, verbose logs, flaky"}

data: {"time":"2026-09-19T16:24:51.534Z","priority":"6","pid":"2830187","message":"FAIL-IGNORED 1592: 'HTTP request, remove handle while resolving, do not block' HTTP, multi, resolve, speedcheck, flaky, timing-dependent"}

data: {"time":"2026-09-19T16:24:51.534Z","priority":"6","pid":"2830187","message":"IGNORED: failed tests: 573 587 766 1086 1113 1162 1163 1208 1510 1592"}

data: {"time":"2026-09-19T16:24:51.534Z","priority":"6","pid":"2830187","message":"TESTDONE: 25 tests out of 1704 reported OK: 1%"}

data: {"time":"2026-09-19T16:24:51.534Z","priority":"6","pid":"2830187","message":"FAIL 1: 'HTTP GET' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.534Z","priority":"6","pid":"2830187","message":"FAIL 2: 'HTTP GET with user and password' HTTP, HTTP GET, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:51.535Z","priority":"6","pid":"2830187","message":"FAIL 3: 'HTTP POST with auth and contents but with content-length set to 0' HTTP, HTTP POST, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:51.535Z","priority":"6","pid":"2830187","message":"FAIL 4: 'Replaced internal and added custom HTTP headers' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers"}

data: {"time":"2026-09-19T16:24:51.536Z","priority":"6","pid":"2830187","message":"FAIL 5: 'HTTP over proxy' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.536Z","priority":"6","pid":"2830187","message":"FAIL 6: 'HTTP with simple cookie send' HTTP, HTTP GET, HTTP set cookie, cookies"}

data: {"time":"2026-09-19T16:24:51.537Z","priority":"6","pid":"2830187","message":"FAIL 7: 'HTTP with cookie parser and header recording' HTTP, HTTP GET, cookies, header dump"}

data: {"time":"2026-09-19T16:24:51.537Z","priority":"6","pid":"2830187","message":"FAIL 8: 'HTTP with cookie parsing from header file' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:51.538Z","priority":"6","pid":"2830187","message":"FAIL 9: 'HTTP RFC1867-type formposting' HTTP, HTTP FORMPOST, HTTP file upload"}

data: {"time":"2026-09-19T16:24:51.538Z","priority":"6","pid":"2830187","message":"FAIL 10: 'simple HTTP PUT from file' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:51.538Z","priority":"6","pid":"2830187","message":"FAIL 11: 'simple HTTP Location: following' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.539Z","priority":"6","pid":"2830187","message":"FAIL 12: 'HTTP range support' HTTP, HTTP GET, Content-Range"}

data: {"time":"2026-09-19T16:24:51.539Z","priority":"6","pid":"2830187","message":"FAIL 13: 'HTTP custom request 'DELETE'' HTTP, HTTP custom request"}

data: {"time":"2026-09-19T16:24:51.540Z","priority":"6","pid":"2830187","message":"FAIL 14: 'HTTP HEAD with Connection: close' HTTP, HTTP HEAD"}

data: {"time":"2026-09-19T16:24:51.540Z","priority":"6","pid":"2830187","message":"FAIL 15: '--write-out test' HTTP, HTTP GET, --write-out"}

data: {"time":"2026-09-19T16:24:51.540Z","priority":"6","pid":"2830187","message":"FAIL 16: 'HTTP with proxy authorization' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth"}

data: {"time":"2026-09-19T16:24:51.541Z","priority":"6","pid":"2830187","message":"FAIL 17: 'HTTP with config file on stdin' HTTP, HTTP custom request, config file"}

data: {"time":"2026-09-19T16:24:51.542Z","priority":"6","pid":"2830187","message":"FAIL 18: 'multiple requests using {} in URL' HTTP, HTTP GET, globbing, {} list"}

data: {"time":"2026-09-19T16:24:51.542Z","priority":"6","pid":"2830187","message":"FAIL 19: 'attempt connect to non-listening socket' HTTP, connect to non-listen"}

data: {"time":"2026-09-19T16:24:51.542Z","priority":"6","pid":"2830187","message":"FAIL 20: 'attempt connect to non-existing hostname' HTTP, non-existing host"}

data: {"time":"2026-09-19T16:24:51.543Z","priority":"6","pid":"2830187","message":"FAIL 21: 'use curl with multiple request methods' multiple HTTP requests"}

data: {"time":"2026-09-19T16:24:51.543Z","priority":"6","pid":"2830187","message":"FAIL 22: 'get HTTP with URL > 10000 bytes' HTTP, long URL"}

data: {"time":"2026-09-19T16:24:51.544Z","priority":"6","pid":"2830187","message":"FAIL 23: 'unsupported protocol:// URL' unsupported scheme"}

data: {"time":"2026-09-19T16:24:51.544Z","priority":"6","pid":"2830187","message":"FAIL 24: 'HTTP GET fail silently on HTTP error return' HTTP, HTTP GET, --fail"}

data: {"time":"2026-09-19T16:24:51.545Z","priority":"6","pid":"2830187","message":"FAIL 25: 'looping HTTP Location: following with --max-redirs' HTTP, HTTP GET, followlocation, --max-redirs"}

data: {"time":"2026-09-19T16:24:51.545Z","priority":"6","pid":"2830187","message":"FAIL 26: 'specify more -o than URLs' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.545Z","priority":"6","pid":"2830187","message":"FAIL 27: 'Get same cookie page several times' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:51.546Z","priority":"6","pid":"2830187","message":"FAIL 28: 'HTTP Location: following with extra spaces in header' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.546Z","priority":"6","pid":"2830187","message":"FAIL 29: 'HTTP with 2 secs timeout' HTTP, HTTP GET, timeout"}

data: {"time":"2026-09-19T16:24:51.546Z","priority":"6","pid":"2830187","message":"FAIL 30: 'HTTP with no data in server reply' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.547Z","priority":"6","pid":"2830187","message":"FAIL 31: 'HTTP with weirdly formatted cookies and cookiejar storage' HTTP, HTTP GET, cookies, cookiejar, --resolve"}

data: {"time":"2026-09-19T16:24:51.547Z","priority":"6","pid":"2830187","message":"FAIL 32: 'HTTP with -d and -G' HTTP, HTTP GET, -G"}

data: {"time":"2026-09-19T16:24:51.548Z","priority":"6","pid":"2830187","message":"FAIL 33: 'HTTP PUT with resume' HTTP, HTTP PUT, Resume, Content-Range"}

data: {"time":"2026-09-19T16:24:51.548Z","priority":"6","pid":"2830187","message":"FAIL 34: 'HTTP GET with chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.549Z","priority":"6","pid":"2830187","message":"FAIL 35: 'HTTP POST binary data with embedded NUL' HTTP, HTTP POST, --data-binary"}

data: {"time":"2026-09-19T16:24:51.549Z","priority":"6","pid":"2830187","message":"FAIL 36: 'HTTP GET with bad chunked Transfer-Encoding' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.550Z","priority":"6","pid":"2830187","message":"FAIL 37: 'HTTP GET with nothing returned from server' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.550Z","priority":"6","pid":"2830187","message":"FAIL 38: 'HTTP resume request without server supporting it' HTTP, HTTP GET, Resume"}

data: {"time":"2026-09-19T16:24:51.551Z","priority":"6","pid":"2830187","message":"FAIL 39: 'HTTP RFC1867-type formposting with filename= and type=' HTTP, HTTP FORMPOST"}

data: {"time":"2026-09-19T16:24:51.551Z","priority":"6","pid":"2830187","message":"FAIL 40: 'HTTP redirect with whitespace after ? (and conversion)' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.552Z","priority":"6","pid":"2830187","message":"FAIL 41: 'HTTP formpost with missing file' HTTP, HTTP FORMPOST"}

data: {"time":"2026-09-19T16:24:51.552Z","priority":"6","pid":"2830187","message":"FAIL 42: 'HTTP redirect with whitespace in path (and conversion)' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.553Z","priority":"6","pid":"2830187","message":"FAIL 43: 'HTTP Location: following over HTTP proxy' HTTP, HTTP GET, followlocation, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.554Z","priority":"6","pid":"2830187","message":"FAIL 44: 'HTTP RFC1867-type formposting without Expect: header' HTTP, HTTP FORMPOST, HTTP replaced headers"}

data: {"time":"2026-09-19T16:24:51.554Z","priority":"6","pid":"2830187","message":"FAIL 45: 'simple HTTP Location: without protocol in initial URL' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.554Z","priority":"6","pid":"2830187","message":"FAIL 46: 'HTTP with bad domain name, get cookies and store in cookie jar' HTTP, HTTP GET, cookies, cookiejar, --resolve"}

data: {"time":"2026-09-19T16:24:51.555Z","priority":"6","pid":"2830187","message":"FAIL 47: 'simple HTTP 1.0 GET' HTTP, HTTP GET, HTTP/1.0"}

data: {"time":"2026-09-19T16:24:51.555Z","priority":"6","pid":"2830187","message":"FAIL 48: 'HTTP with -d and -G and -I' HTTP, HTTP HEAD, -G"}

data: {"time":"2026-09-19T16:24:51.555Z","priority":"6","pid":"2830187","message":"FAIL 49: 'HTTP follow redirect with ../' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.556Z","priority":"6","pid":"2830187","message":"FAIL 50: 'HTTP follow redirect with ../../' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.556Z","priority":"6","pid":"2830187","message":"FAIL 51: 'HTTP follow redirect with excessive ../' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.557Z","priority":"6","pid":"2830187","message":"FAIL 52: 'HTTP follow redirect with ./-prefix' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.557Z","priority":"6","pid":"2830187","message":"FAIL 53: 'HTTP, junk session cookies' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:51.558Z","priority":"6","pid":"2830187","message":"FAIL 54: 'HTTP with blank Location:' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.558Z","priority":"6","pid":"2830187","message":"FAIL 55: 'HTTP follow redirect with single slash in path' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.559Z","priority":"6","pid":"2830187","message":"FAIL 56: 'HTTP POST with *HUGE* request and chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding, config file, -A"}

data: {"time":"2026-09-19T16:24:51.559Z","priority":"6","pid":"2830187","message":"FAIL 57: 'HTTP content-type with spaces in' HTTP, HTTP GET, --write-out"}

data: {"time":"2026-09-19T16:24:51.560Z","priority":"6","pid":"2830187","message":"FAIL 58: 'HTTP PUT from file with weird letters' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:51.560Z","priority":"6","pid":"2830187","message":"FAIL 59: 'HTTP URL with slash but with \"parameter\"' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.560Z","priority":"6","pid":"2830187","message":"FAIL 60: 'HTTP PUT from stdin with wrong content-length' HTTP, HTTP PUT, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.561Z","priority":"6","pid":"2830187","message":"FAIL 61: 'HTTP with various cookies and custom Host:' HTTP, HTTP GET, cookies, cookiejar, HTTP replaced headers, httponly"}

data: {"time":"2026-09-19T16:24:51.561Z","priority":"6","pid":"2830187","message":"FAIL 62: 'HTTP, send cookies when using custom Host:' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly"}

data: {"time":"2026-09-19T16:24:51.562Z","priority":"6","pid":"2830187","message":"FAIL 63: 'HTTP with proxy authorization set in environment' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, http_proxy"}

data: {"time":"2026-09-19T16:24:51.562Z","priority":"6","pid":"2830187","message":"FAIL 64: 'HTTP with Digest authorization' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.563Z","priority":"6","pid":"2830187","message":"FAIL 65: 'HTTP with Digest authorization with bad password' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.563Z","priority":"6","pid":"2830187","message":"FAIL 66: 'HTTP GET without headers in the response' HTTP, HTTP GET, HTTP/0.9"}

data: {"time":"2026-09-19T16:24:51.564Z","priority":"6","pid":"2830187","message":"FAIL 71: 'HTTP and -F upload in config file' HTTP, HTTP FORMPOST, config file"}

data: {"time":"2026-09-19T16:24:51.564Z","priority":"6","pid":"2830187","message":"FAIL 72: 'HTTP with Digest *OR* Basic authorization' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.564Z","priority":"6","pid":"2830187","message":"FAIL 73: 'HTTP cookies when using custom Host:, domain using only two dots' HTTP, HTTP GET, cookies, cookiejar"}

data: {"time":"2026-09-19T16:24:51.565Z","priority":"6","pid":"2830187","message":"FAIL 74: 'HTTP, urlglob {}-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, {} list"}

data: {"time":"2026-09-19T16:24:51.565Z","priority":"6","pid":"2830187","message":"FAIL 75: 'HTTP, urlglob retrieval with bad range' HTTP, HTTP GET, globbing"}

data: {"time":"2026-09-19T16:24:51.597Z","priority":"6","pid":"2830187","message":"FAIL 77: 'HTTP with -z \"older date\"' HTTP, HTTP GET, If-Modified-Since, -z"}

data: {"time":"2026-09-19T16:24:51.598Z","priority":"6","pid":"2830187","message":"FAIL 78: 'HTTP with -z \"newer date\"' HTTP, HTTP GET, If-Modified-Since, -z"}

data: {"time":"2026-09-19T16:24:51.598Z","priority":"6","pid":"2830187","message":"FAIL 79: 'FTP over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.600Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:51.600Z","priority":"6","pid":"2830187","message":"FAIL 82: 'HTTP with proxy requiring NTLM, but we send Basic' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP proxy NTLM auth"}

data: {"time":"2026-09-19T16:24:51.602Z","priority":"6","pid":"2830187","message":"FAIL 83: 'HTTP over proxy-tunnel with site authentication' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel"}

data: {"time":"2026-09-19T16:24:51.602Z","priority":"6","pid":"2830187","message":"FAIL 84: 'HTTP over proxy with site authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.604Z","priority":"6","pid":"2830187","message":"FAIL 85: 'HTTP over proxy with site and proxy authentication' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy, HTTP proxy Basic auth"}

data: {"time":"2026-09-19T16:24:51.604Z","priority":"6","pid":"2830187","message":"FAIL 86: 'HTTP, urlglob []-retrieval and -o #[num] usage' HTTP, HTTP GET, globbing, [] range"}

data: {"time":"2026-09-19T16:24:51.605Z","priority":"6","pid":"2830187","message":"FAIL 87: 'urlglob with out of range -o #[num] usage' HTTP, HTTP GET, globbing, [] range"}

data: {"time":"2026-09-19T16:24:51.605Z","priority":"6","pid":"2830187","message":"FAIL 88: 'HTTP PUT with Digest authorization' HTTP, HTTP PUT, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.606Z","priority":"6","pid":"2830187","message":"FAIL 92: 'HTTP resume transfer with the whole file already downloaded' HTTP, HTTP GET, Content-Range, Resume"}

data: {"time":"2026-09-19T16:24:51.606Z","priority":"6","pid":"2830187","message":"FAIL 93: 'HTTP GET with failed proxy auth' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.607Z","priority":"6","pid":"2830187","message":"FAIL 94: 'HTTPS GET with failed proxy auth (CONNECT 1.0)' HTTPS, HTTP GET, HTTP CONNECT, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.607Z","priority":"6","pid":"2830187","message":"FAIL 95: 'HTTP over proxytunnel using POST' HTTP, HTTP POST, HTTP CONNECT, proxytunnel"}

data: {"time":"2026-09-19T16:24:51.608Z","priority":"6","pid":"2830187","message":"FAIL 97: 'HTTP POST with custom content-type' HTTP, HTTP POST, HTTP replaced headers"}

data: {"time":"2026-09-19T16:24:51.609Z","priority":"6","pid":"2830187","message":"FAIL 98: 'HTTP PUT from stdin with set size, disabling chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.609Z","priority":"6","pid":"2830187","message":"FAIL 99: 'HTTP GET with large-file resume point and failed resume' HTTP, HTTP GET, Resume, Largefile"}

data: {"time":"2026-09-19T16:24:51.610Z","priority":"6","pid":"2830187","message":"FAIL 100: 'FTP dir list PASV' FTP, PASV, LIST"}

data: {"time":"2026-09-19T16:24:51.610Z","priority":"6","pid":"2830187","message":"FAIL 101: 'FTP dir list, PORT with specified IP' FTP, PORT, LIST"}

data: {"time":"2026-09-19T16:24:51.610Z","priority":"6","pid":"2830187","message":"FAIL 102: 'FTP RETR PASV' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:51.611Z","priority":"6","pid":"2830187","message":"FAIL 103: 'FTP RETR PORT with CWD' FTP, PORT, RETR"}

data: {"time":"2026-09-19T16:24:51.612Z","priority":"6","pid":"2830187","message":"FAIL 104: 'FTP --head to get file size only' FTP, NOBODY"}

data: {"time":"2026-09-19T16:24:51.612Z","priority":"6","pid":"2830187","message":"FAIL 105: 'FTP user+password in URL and ASCII transfer' FTP, PASV, TYPE A, RETR"}

data: {"time":"2026-09-19T16:24:51.613Z","priority":"6","pid":"2830187","message":"FAIL 106: 'FTP GET with type=A style ASCII URL using %20 codes' FTP, EPSV, TYPE A, RETR, type="}

data: {"time":"2026-09-19T16:24:51.613Z","priority":"6","pid":"2830187","message":"FAIL 107: 'FTP PASV upload file' FTP, EPSV, STOR"}

data: {"time":"2026-09-19T16:24:51.613Z","priority":"6","pid":"2830187","message":"FAIL 108: 'FTP PORT upload with CWD' FTP, PORT, STOR"}

data: {"time":"2026-09-19T16:24:51.614Z","priority":"6","pid":"2830187","message":"FAIL 109: 'FTP PASV upload append' FTP, EPSV, APPE"}

data: {"time":"2026-09-19T16:24:51.614Z","priority":"6","pid":"2830187","message":"FAIL 110: 'FTP download resume with set limit' FTP, PASV, RETR, Resume"}

data: {"time":"2026-09-19T16:24:51.615Z","priority":"6","pid":"2830187","message":"FAIL 111: 'FTP download resume beyond file size' FTP, EPSV, Resume"}

data: {"time":"2026-09-19T16:24:51.615Z","priority":"6","pid":"2830187","message":"FAIL 112: 'FTP PASV upload resume' FTP, EPSV, APPE, Resume"}

data: {"time":"2026-09-19T16:24:51.615Z","priority":"6","pid":"2830187","message":"FAIL 113: 'FTP download, failed login: USER not valid' FTP"}

data: {"time":"2026-09-19T16:24:51.616Z","priority":"6","pid":"2830187","message":"FAIL 114: 'FTP download, failed login: PASS not valid' FTP"}

data: {"time":"2026-09-19T16:24:51.616Z","priority":"6","pid":"2830187","message":"FAIL 115: 'FTP download, failed PASV' FTP, PASV"}

data: {"time":"2026-09-19T16:24:51.617Z","priority":"6","pid":"2830187","message":"FAIL 116: 'FTP download, failed PORT' FTP, EPRT, PORT, EPRT refused"}

data: {"time":"2026-09-19T16:24:51.617Z","priority":"6","pid":"2830187","message":"FAIL 117: 'FTP download, failed TYPE' FTP"}

data: {"time":"2026-09-19T16:24:51.617Z","priority":"6","pid":"2830187","message":"FAIL 118: 'FTP download, failed RETR' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:51.618Z","priority":"6","pid":"2830187","message":"FAIL 119: 'FTP download, failed RETR with PORT' FTP, PORT, RETR"}

data: {"time":"2026-09-19T16:24:51.618Z","priority":"6","pid":"2830187","message":"FAIL 120: 'ftp download with post-quote delete operation' FTP, PASV, RETR, post-quote"}

data: {"time":"2026-09-19T16:24:51.619Z","priority":"6","pid":"2830187","message":"FAIL 121: 'ftp download with post- and pre-transfer delete operations' FTP, EPSV, RETR, post-quote, pre-quote"}

data: {"time":"2026-09-19T16:24:51.619Z","priority":"6","pid":"2830187","message":"FAIL 122: 'FTP download resume with whole file already downloaded' FTP, PASV, Resume"}

data: {"time":"2026-09-19T16:24:51.620Z","priority":"6","pid":"2830187","message":"FAIL 123: 'FTP upload resume with whole file already downloaded' FTP, EPSV, Resume"}

data: {"time":"2026-09-19T16:24:51.620Z","priority":"6","pid":"2830187","message":"FAIL 124: 'FTP download, failed PWD' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:51.620Z","priority":"6","pid":"2830187","message":"FAIL 125: 'FTP download, failed CWD' FTP"}

data: {"time":"2026-09-19T16:24:51.621Z","priority":"6","pid":"2830187","message":"FAIL 126: 'FTP download with multiple replies at once in RETR' FTP, EPSV, RETR, RETRWEIRDO"}

data: {"time":"2026-09-19T16:24:51.622Z","priority":"6","pid":"2830187","message":"FAIL 127: 'FTP --disable-epsv' FTP, PASV, RETR, --disable-epsv"}

data: {"time":"2026-09-19T16:24:51.622Z","priority":"6","pid":"2830187","message":"FAIL 128: 'FTP upload with --crlf' FTP, EPSV, STOR, --crlf"}

data: {"time":"2026-09-19T16:24:51.622Z","priority":"6","pid":"2830187","message":"FAIL 129: 'HTTP/1.2 is rejected' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.622Z","priority":"6","pid":"2830187","message":"FAIL 130: 'FTP (optional .netrc; no user/pass) dir list PASV' FTP, EPSV, LIST, netrc"}

data: {"time":"2026-09-19T16:24:51.622Z","priority":"6","pid":"2830187","message":"FAIL 131: 'FTP (optional .netrc; user/no pass) dir list PASV' FTP, EPSV, LIST, netrc"}

data: {"time":"2026-09-19T16:24:51.623Z","priority":"6","pid":"2830187","message":"FAIL 132: 'FTP (optional .netrc; user/passwd supplied) dir list PASV' FTP, EPSV, LIST, netrc"}

data: {"time":"2026-09-19T16:24:51.623Z","priority":"6","pid":"2830187","message":"FAIL 133: 'FTP compulsory .netrc; ignore passwd in URL' FTP, EPSV, LIST, netrc"}

data: {"time":"2026-09-19T16:24:51.623Z","priority":"6","pid":"2830187","message":"FAIL 134: 'FTP (optional .netrc; programmatic user/passwd) dir list PASV' FTP, EPSV, LIST, netrc"}

data: {"time":"2026-09-19T16:24:51.624Z","priority":"6","pid":"2830187","message":"FAIL 135: 'FTP retrieve a byte-range' FTP, EPSV, RETR, Range"}

data: {"time":"2026-09-19T16:24:51.624Z","priority":"6","pid":"2830187","message":"FAIL 136: 'FTP with user and no password' FTP, EPSV, RETR"}

data: {"time":"2026-09-19T16:24:51.624Z","priority":"6","pid":"2830187","message":"FAIL 137: 'FTP download without size in RETR string' FTP, RETR, --data-binary"}

data: {"time":"2026-09-19T16:24:51.625Z","priority":"6","pid":"2830187","message":"FAIL 138: 'FTP download without size in RETR string and no SIZE command' FTP, RETR"}

data: {"time":"2026-09-19T16:24:51.625Z","priority":"6","pid":"2830187","message":"FAIL 139: 'FTP download a newer file with -z' FTP, RETR, -z"}

data: {"time":"2026-09-19T16:24:51.626Z","priority":"6","pid":"2830187","message":"FAIL 140: 'FTP download file with -z, expected to not transfer' FTP, -z, --data-binary"}

data: {"time":"2026-09-19T16:24:51.626Z","priority":"6","pid":"2830187","message":"FAIL 141: 'FTP download info with -I' FTP, NOBODY"}

data: {"time":"2026-09-19T16:24:51.627Z","priority":"6","pid":"2830187","message":"FAIL 142: 'FTP URL with 150 dir levels' FTP"}

data: {"time":"2026-09-19T16:24:51.627Z","priority":"6","pid":"2830187","message":"FAIL 143: 'FTP URL with type=a' FTP, RETR, type="}

data: {"time":"2026-09-19T16:24:51.628Z","priority":"6","pid":"2830187","message":"FAIL 144: 'FTP NLST dir list without contents, using PORT' FTP, PORT, NLST, --data-binary"}

data: {"time":"2026-09-19T16:24:51.628Z","priority":"6","pid":"2830187","message":"FAIL 145: 'FTP NLST dir list with weird reply code, using PORT' FTP, NLST, PORT"}

data: {"time":"2026-09-19T16:24:51.629Z","priority":"6","pid":"2830187","message":"FAIL 146: 'persistent FTP with different paths' FTP, RETR, persistent connection"}

data: {"time":"2026-09-19T16:24:51.629Z","priority":"6","pid":"2830187","message":"FAIL 147: 'FTP with --ftp-create-dirs (failing CWD)' FTP"}

data: {"time":"2026-09-19T16:24:51.630Z","priority":"6","pid":"2830187","message":"FAIL 148: 'FTP with --ftp-create-dirs (failing MKD)' FTP"}

data: {"time":"2026-09-19T16:24:51.631Z","priority":"6","pid":"2830187","message":"FAIL 149: 'FTP with multiple uploads' FTP"}

data: {"time":"2026-09-19T16:24:51.631Z","priority":"6","pid":"2830187","message":"FAIL 151: 'HTTP GET with an error code that might trick authentication' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.631Z","priority":"6","pid":"2830187","message":"FAIL 152: 'HTTP GET with an error code that might trick authentication and --fail' HTTP, HTTP GET, --fail"}

data: {"time":"2026-09-19T16:24:51.632Z","priority":"6","pid":"2830187","message":"FAIL 153: 'HTTP with Digest authorization with stale=true' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.632Z","priority":"6","pid":"2830187","message":"FAIL 154: 'HTTP PUT with --anyauth authorization (picking Digest)' HTTP, HTTP PUT, HTTP Digest auth, --anyauth"}

data: {"time":"2026-09-19T16:24:51.633Z","priority":"6","pid":"2830187","message":"FAIL 156: 'HTTP PUT with --anyauth (when the server requires none)' HTTP, HTTP PUT, --anyauth"}

data: {"time":"2026-09-19T16:24:51.633Z","priority":"6","pid":"2830187","message":"FAIL 157: 'HTTP GET with --anyauth (when the server requires none)' HTTP, HTTP GET, --anyauth"}

data: {"time":"2026-09-19T16:24:51.634Z","priority":"6","pid":"2830187","message":"FAIL 158: 'HTTP multipart formpost with only a 100 reply' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.635Z","priority":"6","pid":"2830187","message":"FAIL 160: 'HTTP with delayed close, conn reuse, connection reset and retry' HTTP, HTTP GET, DELAY"}

data: {"time":"2026-09-19T16:24:51.635Z","priority":"6","pid":"2830187","message":"FAIL 161: 'FTP RETR partial file' FTP, CURLE_PARTIAL_FILE, RETR, PASV"}

data: {"time":"2026-09-19T16:24:51.636Z","priority":"6","pid":"2830187","message":"FAIL 163: 'HTTP multipart formpost with contents from a file' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.636Z","priority":"6","pid":"2830187","message":"FAIL 164: 'HTTP range with multiple ranges' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.636Z","priority":"6","pid":"2830187","message":"FAIL 165: 'HTTP over proxy with IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN"}

data: {"time":"2026-09-19T16:24:51.636Z","priority":"6","pid":"2830187","message":"FAIL 166: 'HTTP formpost a file with spaces in name' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.637Z","priority":"6","pid":"2830187","message":"FAIL 167: 'HTTP with proxy-requiring-Basic to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.638Z","priority":"6","pid":"2830187","message":"FAIL 168: 'HTTP with proxy-requiring-Digest to site-requiring-Digest' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.638Z","priority":"6","pid":"2830187","message":"FAIL 171: 'HTTP, get cookie with dot prefixed full domain' HTTP, HTTP GET, HTTP proxy, cookies"}

data: {"time":"2026-09-19T16:24:51.639Z","priority":"6","pid":"2830187","message":"FAIL 172: 'HTTP with cookies file and custom added cookie' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:51.639Z","priority":"6","pid":"2830187","message":"FAIL 173: 'HTTP RFC1867-formpost a file from stdin with \"faked\" filename' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.640Z","priority":"6","pid":"2830187","message":"FAIL 174: 'HTTP POST --anyauth to server not requiring any auth at all' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.640Z","priority":"6","pid":"2830187","message":"FAIL 175: 'HTTP POST --digest to server not requiring any auth at all' HTTP, HTTP POST, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.641Z","priority":"6","pid":"2830187","message":"FAIL 177: 'HTTP POST --digest to server doing a 302-location response' HTTP, HTTP POST, HTTP Digest auth, followlocation"}

data: {"time":"2026-09-19T16:24:51.641Z","priority":"6","pid":"2830187","message":"FAIL 178: 'HTTP response with negative Content-Length' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.642Z","priority":"6","pid":"2830187","message":"FAIL 179: 'HTTP using proxy and cookies with path checks' HTTP, HTTP GET, HTTP proxy, cookies"}

data: {"time":"2026-09-19T16:24:51.642Z","priority":"6","pid":"2830187","message":"FAIL 180: 'HTTP 1.0 PUT' HTTP, HTTP PUT, HTTP/1.0"}

data: {"time":"2026-09-19T16:24:51.643Z","priority":"6","pid":"2830187","message":"FAIL 181: 'HTTP 1.0 POST' HTTP, HTTP POST, HTTP/1.0"}

data: {"time":"2026-09-19T16:24:51.644Z","priority":"6","pid":"2830187","message":"FAIL 182: 'FTP download an empty file' FTP"}

data: {"time":"2026-09-19T16:24:51.644Z","priority":"6","pid":"2830187","message":"FAIL 183: 'HTTP GET two URLs over a single proxy with persistent connection' HTTP, HTTP GET, HTTP proxy, persistent connection"}

data: {"time":"2026-09-19T16:24:51.646Z","priority":"6","pid":"2830187","message":"FAIL 184: 'HTTP replace Host: when following Location: to new host' HTTP, HTTP GET, HTTP proxy, followlocation"}

data: {"time":"2026-09-19T16:24:51.647Z","priority":"6","pid":"2830187","message":"FAIL 185: 'HTTP replace Host: when following Location: on the same host' HTTP, HTTP GET, HTTP proxy, followlocation"}

data: {"time":"2026-09-19T16:24:51.648Z","priority":"6","pid":"2830187","message":"FAIL 186: 'HTTP RFC1867-type formposting with types on text fields' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.649Z","priority":"6","pid":"2830187","message":"FAIL 187: 'HTTP redirect with bad hostname separation and slash in parameters' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.649Z","priority":"6","pid":"2830187","message":"FAIL 188: 'HTTP GET with resume and redirect' HTTP, HTTP GET, Content-Range, Resume, followlocation"}

data: {"time":"2026-09-19T16:24:51.650Z","priority":"6","pid":"2830187","message":"FAIL 189: 'HTTP GET with resume and redirect (to a page that does not resume)' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.651Z","priority":"6","pid":"2830187","message":"FAIL 190: 'FTP download with strict timeout and slow CWD' FTP, timeout, DELAY"}

data: {"time":"2026-09-19T16:24:51.711Z","priority":"6","pid":"2830187","message":"FAIL 191: 'FTP URL with ?-letters in username and password' FTP"}

data: {"time":"2026-09-19T16:24:51.712Z","priority":"6","pid":"2830187","message":"FAIL 192: 'HTTP GET -w num_connects with one simple connect' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.713Z","priority":"6","pid":"2830187","message":"FAIL 193: 'HTTP GET -w num_connects with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:51.714Z","priority":"6","pid":"2830187","message":"FAIL 194: 'HTTP resume transfer with the whole file already downloaded and --fail' HTTP, HTTP GET, Content-Range, Resume"}

data: {"time":"2026-09-19T16:24:51.714Z","priority":"6","pid":"2830187","message":"FAIL 195: 'FTP response 530 after PASS, temporarily not allowed access' FTP"}

data: {"time":"2026-09-19T16:24:51.715Z","priority":"6","pid":"2830187","message":"FAIL 196: 'FTP transient error, retry request once' FTP, retry"}

data: {"time":"2026-09-19T16:24:51.715Z","priority":"6","pid":"2830187","message":"FAIL 197: 'HTTP GET --retry on 503 error with output to stdout' HTTP, HTTP GET, retry"}

data: {"time":"2026-09-19T16:24:51.716Z","priority":"6","pid":"2830187","message":"FAIL 198: 'HTTP GET --retry on 503 error with output to file' HTTP, HTTP GET, retry"}

data: {"time":"2026-09-19T16:24:51.716Z","priority":"6","pid":"2830187","message":"FAIL 199: 'HTTP with -d, -G and {}' HTTP, HTTP GET, globbing"}

data: {"time":"2026-09-19T16:24:51.716Z","priority":"6","pid":"2830187","message":"FAIL 200: 'basic file:// file' FILE"}

data: {"time":"2026-09-19T16:24:51.717Z","priority":"6","pid":"2830187","message":"FAIL 201: 'missing file:// file' FILE"}

data: {"time":"2026-09-19T16:24:51.717Z","priority":"6","pid":"2830187","message":"FAIL 202: 'two file:// URLs to stdout' FILE"}

data: {"time":"2026-09-19T16:24:51.717Z","priority":"6","pid":"2830187","message":"FAIL 203: 'file:/path URL with a single slash' FILE"}

data: {"time":"2026-09-19T16:24:51.718Z","priority":"6","pid":"2830187","message":"FAIL 204: '\"upload\" with file://' FILE"}

data: {"time":"2026-09-19T16:24:51.718Z","priority":"6","pid":"2830187","message":"FAIL 205: '\"upload\" nonexisting with file://' FILE"}

data: {"time":"2026-09-19T16:24:51.719Z","priority":"6","pid":"2830187","message":"FAIL 206: 'HTTP proxy CONNECT auth Digest' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth"}

data: {"time":"2026-09-19T16:24:51.719Z","priority":"6","pid":"2830187","message":"FAIL 207: 'HTTP GET with chunked Transfer-Encoding closed prematurely' HTTP, HTTP GET, CURLE_PARTIAL_FILE, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.720Z","priority":"6","pid":"2830187","message":"FAIL 208: 'HTTP PUT to an FTP URL with username+password - over HTTP proxy' FTP, HTTP, HTTP PUT, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.720Z","priority":"6","pid":"2830187","message":"FAIL 210: 'Get two FTP files from the same remote dir: no second CWD' FTP"}

data: {"time":"2026-09-19T16:24:51.721Z","priority":"6","pid":"2830187","message":"FAIL 211: 'Get two FTP files with no remote EPSV support' FTP"}

data: {"time":"2026-09-19T16:24:51.721Z","priority":"6","pid":"2830187","message":"FAIL 212: 'Get two FTP files with no remote EPRT support' FTP, EPRT"}

data: {"time":"2026-09-19T16:24:51.721Z","priority":"6","pid":"2830187","message":"FAIL 214: 'HTTP URL with escaped { and }' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.722Z","priority":"6","pid":"2830187","message":"FAIL 215: 'Get two FTP dir listings from the same remote dir: no second CWD' FTP"}

data: {"time":"2026-09-19T16:24:51.722Z","priority":"6","pid":"2830187","message":"FAIL 216: 'FTP upload two files to the same dir' FTP"}

data: {"time":"2026-09-19T16:24:51.723Z","priority":"6","pid":"2830187","message":"FAIL 217: 'HTTP proxy CONNECT to proxy returning 405' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:51.724Z","priority":"6","pid":"2830187","message":"FAIL 218: 'HTTP PUT from a file but enforce chunked transfer-encoding' HTTP, HTTP PUT, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.724Z","priority":"6","pid":"2830187","message":"FAIL 219: 'try using proxy with unsupported scheme' proxy, unsupported scheme"}

data: {"time":"2026-09-19T16:24:51.724Z","priority":"6","pid":"2830187","message":"FAIL 220: 'HTTP GET gzip compressed content' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.725Z","priority":"6","pid":"2830187","message":"FAIL 221: 'HTTP GET gzip compressed content with broken gzip header' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.725Z","priority":"6","pid":"2830187","message":"FAIL 222: 'HTTP GET deflate compressed content' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.726Z","priority":"6","pid":"2830187","message":"FAIL 223: 'HTTP GET deflate compressed content with broken deflate header' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.726Z","priority":"6","pid":"2830187","message":"FAIL 224: 'HTTP GET gzip compressed content with huge comment and extra field' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.727Z","priority":"6","pid":"2830187","message":"FAIL 225: 'FTP %0a-code in URL's name part' FTP"}

data: {"time":"2026-09-19T16:24:51.727Z","priority":"6","pid":"2830187","message":"FAIL 226: 'FTP %0d-code in URL's CWD part' FTP"}

data: {"time":"2026-09-19T16:24:51.727Z","priority":"6","pid":"2830187","message":"FAIL 227: 'FTP with quote ops' FTP, post-quote, pre-quote"}

data: {"time":"2026-09-19T16:24:51.728Z","priority":"6","pid":"2830187","message":"FAIL 228: 'FTP RETR with ACCT' FTP, ACCT"}

data: {"time":"2026-09-19T16:24:51.728Z","priority":"6","pid":"2830187","message":"FAIL 229: 'FTP RETR with bad ACCT' FTP, ACCT"}

data: {"time":"2026-09-19T16:24:51.729Z","priority":"6","pid":"2830187","message":"FAIL 230: 'HTTP GET multiply compressed content' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.729Z","priority":"6","pid":"2830187","message":"FAIL 231: 'file:// with resume' FILE"}

data: {"time":"2026-09-19T16:24:51.729Z","priority":"6","pid":"2830187","message":"FAIL 232: 'HTTP GET deflate raw-compressed content' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.730Z","priority":"6","pid":"2830187","message":"FAIL 233: 'HTTP, proxy, site+proxy auth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation"}

data: {"time":"2026-09-19T16:24:51.730Z","priority":"6","pid":"2830187","message":"FAIL 234: 'HTTP, proxy, site+proxy auth and Location: --location-trusted' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth, followlocation, --location-trusted"}

data: {"time":"2026-09-19T16:24:51.731Z","priority":"6","pid":"2830187","message":"FAIL 235: 'FTP resumed upload but no file present remotely' FTP, STOR"}

data: {"time":"2026-09-19T16:24:51.731Z","priority":"6","pid":"2830187","message":"FAIL 236: 'FTP resume upload but denied access to remote file' FTP"}

data: {"time":"2026-09-19T16:24:51.732Z","priority":"6","pid":"2830187","message":"FAIL 237: 'FTP getting bad host in 227-response to PASV' FTP"}

data: {"time":"2026-09-19T16:24:51.732Z","priority":"6","pid":"2830187","message":"FAIL 238: 'FTP getting bad port in response to EPSV' FTP"}

data: {"time":"2026-09-19T16:24:51.733Z","priority":"6","pid":"2830187","message":"FAIL 240: 'HTTP-IPv6 GET' HTTP, HTTP GET, IPv6"}

data: {"time":"2026-09-19T16:24:51.733Z","priority":"6","pid":"2830187","message":"FAIL 241: 'HTTP-IPv6 GET (using ip6-localhost)' HTTP, HTTP GET, IPv6, IPv6-hostname"}

data: {"time":"2026-09-19T16:24:51.734Z","priority":"6","pid":"2830187","message":"FAIL 242: 'HTTP-IPv6 GET with username+password in URL' HTTP, HTTP GET, IPv6, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:51.734Z","priority":"6","pid":"2830187","message":"FAIL 244: 'FTP dir listing with nocwd and URL encoded path' FTP, PASV, CWD, --ftp-method, nocwd"}

data: {"time":"2026-09-19T16:24:51.735Z","priority":"6","pid":"2830187","message":"FAIL 245: 'HTTP POST --digest' HTTP, HTTP POST, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.736Z","priority":"6","pid":"2830187","message":"FAIL 246: 'HTTP POST --digest with server doing a 100 before 401 response' HTTP, HTTP POST, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.736Z","priority":"6","pid":"2830187","message":"FAIL 247: 'FTP upload time condition evaluates TRUE => skip upload' FTP, MDTM"}

data: {"time":"2026-09-19T16:24:51.737Z","priority":"6","pid":"2830187","message":"FAIL 248: 'FTP upload time condition evaluates FALSE => upload anyway' FTP, STOR, MDTM"}

data: {"time":"2026-09-19T16:24:51.737Z","priority":"6","pid":"2830187","message":"FAIL 249: 'HTTP 304 response with \"illegal\" Content-Length: header' HTTP, HTTP GET, -z"}

data: {"time":"2026-09-19T16:24:51.738Z","priority":"6","pid":"2830187","message":"FAIL 250: 'FTP dir list PASV with slow response' FTP, SLOWDOWN"}

data: {"time":"2026-09-19T16:24:51.738Z","priority":"6","pid":"2830187","message":"FAIL 251: 'FTP dir list, PORT with specified IP and slow response' FTP, SLOWDOWN"}

data: {"time":"2026-09-19T16:24:51.739Z","priority":"6","pid":"2830187","message":"FAIL 252: 'FTP IPv6 dir list PASV' FTP, FTP-ipv6, IPv6, EPSV"}

data: {"time":"2026-09-19T16:24:51.739Z","priority":"6","pid":"2830187","message":"FAIL 253: 'FTP IPv6 dir list with EPRT' FTP, FTP-ipv6, IPv6, EPRT"}

data: {"time":"2026-09-19T16:24:51.740Z","priority":"6","pid":"2830187","message":"FAIL 254: 'FTP IPv6 dir list PASV and --disable-epsv' FTP, FTP-ipv6, IPv6, EPSV, --disable-epsv"}

data: {"time":"2026-09-19T16:24:51.740Z","priority":"6","pid":"2830187","message":"FAIL 255: 'FTP IPv6 dir list with EPRT and --disable-eprt' FTP, FTP-ipv6, IPv6, EPRT, --disable-eprt"}

data: {"time":"2026-09-19T16:24:51.741Z","priority":"6","pid":"2830187","message":"FAIL 256: 'HTTP resume request over proxy with auth without server supporting it' HTTP, HTTP GET, HTTP proxy, Resume"}

data: {"time":"2026-09-19T16:24:51.742Z","priority":"6","pid":"2830187","message":"FAIL 257: 'HTTP Location: following with --netrc-optional' HTTP, HTTP GET, HTTP proxy, HTTP Basic auth, followlocation, netrc"}

data: {"time":"2026-09-19T16:24:51.742Z","priority":"6","pid":"2830187","message":"FAIL 258: 'HTTP multipart POST without Expect: using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP replaced headers, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth"}

data: {"time":"2026-09-19T16:24:51.743Z","priority":"6","pid":"2830187","message":"FAIL 259: 'HTTP POST multipart with Expect: header using proxy anyauth (Digest)' HTTP, HTTP FORMPOST, HTTP proxy, HTTP proxy Digest auth, --proxy-anyauth"}

data: {"time":"2026-09-19T16:24:51.744Z","priority":"6","pid":"2830187","message":"FAIL 260: 'HTTP GET URL without slash but with question mark' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.744Z","priority":"6","pid":"2830187","message":"FAIL 261: 'FTP RETR with 226 response code to TYPE' FTP, EPSV, RETR"}

data: {"time":"2026-09-19T16:24:51.745Z","priority":"6","pid":"2830187","message":"FAIL 262: 'Reject HTTP response with binary zero in header' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.745Z","priority":"6","pid":"2830187","message":"FAIL 263: 'HTTP-IPv6 GET with proxy specified using IPv6-numerical address' HTTP, HTTP GET, IPv6, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.746Z","priority":"6","pid":"2830187","message":"FAIL 264: 'HTTP with proxy string including http:// and user+password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth"}

data: {"time":"2026-09-19T16:24:51.747Z","priority":"6","pid":"2830187","message":"FAIL 266: 'HTTP GET with chunked Transfer-Encoding and chunked trailer' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY"}

data: {"time":"2026-09-19T16:24:51.747Z","priority":"6","pid":"2830187","message":"FAIL 268: 'JSON encoding of Unicode string' HTTP, variables"}

data: {"time":"2026-09-19T16:24:51.748Z","priority":"6","pid":"2830187","message":"FAIL 269: 'HTTP --ignore-content-length' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.748Z","priority":"6","pid":"2830187","message":"FAIL 270: 'FTP RETR PASV --ftp-skip-pasv-ip' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:51.749Z","priority":"6","pid":"2830187","message":"FAIL 271: 'TFTP retrieve' TFTP, TFTP RRQ"}

data: {"time":"2026-09-19T16:24:51.749Z","priority":"6","pid":"2830187","message":"FAIL 272: 'FTP timed conditioned get file with identical time stamp' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:51.750Z","priority":"6","pid":"2830187","message":"FAIL 273: 'HTTP with two Digest authorization headers' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.750Z","priority":"6","pid":"2830187","message":"FAIL 274: 'HTTP Location: following with --max-redirs 0' HTTP, HTTP GET, followlocation, --max-redirs"}

data: {"time":"2026-09-19T16:24:51.751Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:51.752Z","priority":"6","pid":"2830187","message":"FAIL 276: 'HTTP Location: following with multiple question marks in URLs' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:51.752Z","priority":"6","pid":"2830187","message":"FAIL 277: 'HTTP RFC1867-type formposting with custom Content-Type' HTTP, HTTP FORMPOST"}

data: {"time":"2026-09-19T16:24:51.753Z","priority":"6","pid":"2830187","message":"FAIL 278: 'HTTP with proxy string including http:// and user+empty password' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth"}

data: {"time":"2026-09-19T16:24:51.754Z","priority":"6","pid":"2830187","message":"FAIL 279: 'HTTP with proxy string including http:// and user only' HTTP, HTTP GET, HTTP proxy, HTTP proxy Basic auth"}

data: {"time":"2026-09-19T16:24:51.754Z","priority":"6","pid":"2830187","message":"FAIL 280: 'FTP --ftp-alternative-to-user on USER failure' FTP, PASV, LIST, --ftp-alternative-to-user"}

data: {"time":"2026-09-19T16:24:51.755Z","priority":"6","pid":"2830187","message":"FAIL 281: 'HTTP PUT from file with 100 + 401 responses and -f without auth given' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:51.756Z","priority":"6","pid":"2830187","message":"FAIL 282: 'HTTP GET with no response body or headers' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.756Z","priority":"6","pid":"2830187","message":"FAIL 283: 'TFTP retrieve on invalid file' TFTP, TFTP RRQ"}

data: {"time":"2026-09-19T16:24:51.756Z","priority":"6","pid":"2830187","message":"FAIL 284: 'TFTP retrieve of boundary case 512-byte file' TFTP, TFTP RRQ"}

data: {"time":"2026-09-19T16:24:51.757Z","priority":"6","pid":"2830187","message":"FAIL 285: 'TFTP send' TFTP, TFTP WRQ"}

data: {"time":"2026-09-19T16:24:51.757Z","priority":"6","pid":"2830187","message":"FAIL 286: 'TFTP send of boundary case 512-byte file' TFTP, TFTP WRQ"}

data: {"time":"2026-09-19T16:24:51.757Z","priority":"6","pid":"2830187","message":"FAIL 287: 'HTTP proxy CONNECT with custom User-Agent header' HTTP, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:51.758Z","priority":"6","pid":"2830187","message":"FAIL 288: 'file:// with (unsupported) proxy, authentication and range' FILE"}

data: {"time":"2026-09-19T16:24:51.758Z","priority":"6","pid":"2830187","message":"FAIL 289: 'FTP resume upload but denied access to local file' FTP, STOR, Resume"}

data: {"time":"2026-09-19T16:24:51.758Z","priority":"6","pid":"2830187","message":"FAIL 290: 'FTP download maximum filesize exceeded' FTP, --max-filesize"}

data: {"time":"2026-09-19T16:24:51.759Z","priority":"6","pid":"2830187","message":"FAIL 291: 'FTP download maximum filesize not exceeded' FTP, RETR, --max-filesize"}

data: {"time":"2026-09-19T16:24:51.759Z","priority":"6","pid":"2830187","message":"FAIL 292: 'HTTP GET with maximum filesize not exceeded' HTTP, HTTP GET, --max-filesize"}

data: {"time":"2026-09-19T16:24:51.760Z","priority":"6","pid":"2830187","message":"FAIL 293: 'HTTP GET with maximum filesize exceeded' HTTP, HTTP GET, --max-filesize"}

data: {"time":"2026-09-19T16:24:51.761Z","priority":"6","pid":"2830187","message":"FAIL 294: 'FTP --ftp-account on ACCT request' FTP, PASV, LIST, ACCT, --ftp-account"}

data: {"time":"2026-09-19T16:24:51.801Z","priority":"6","pid":"2830187","message":"FAIL 295: 'FTP ACCT request without --ftp-account' FTP, PASV, LIST, ACCT"}

data: {"time":"2026-09-19T16:24:51.801Z","priority":"6","pid":"2830187","message":"FAIL 296: 'FTP CWD with --ftp-method multicwd' FTP, PASV, CWD, --ftp-method, multicwd"}

data: {"time":"2026-09-19T16:24:51.801Z","priority":"6","pid":"2830187","message":"FAIL 297: 'FTP CWD with --ftp-method singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd"}

data: {"time":"2026-09-19T16:24:51.801Z","priority":"6","pid":"2830187","message":"FAIL 298: 'FTP CWD with --ftp-method nocwd' FTP, PASV, CWD, --ftp-method, nocwd"}

data: {"time":"2026-09-19T16:24:51.802Z","priority":"6","pid":"2830187","message":"FAIL 299: 'FTP over HTTP proxy with user:pass not in url' FTP, HTTP, CURLOPT_USERPWD, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.802Z","priority":"6","pid":"2830187","message":"FAIL 314: 'HTTP GET brotli compressed content' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.803Z","priority":"6","pid":"2830187","message":"FAIL 315: 'HTTP GET brotli compressed content with broken header' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.803Z","priority":"6","pid":"2830187","message":"FAIL 316: 'HTTP brotli compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.804Z","priority":"6","pid":"2830187","message":"FAIL 317: 'HTTP with custom Authorization: and redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation"}

data: {"time":"2026-09-19T16:24:51.804Z","priority":"6","pid":"2830187","message":"FAIL 318: 'HTTP with custom Authorization: then trusted redirect to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation"}

data: {"time":"2026-09-19T16:24:51.805Z","priority":"6","pid":"2830187","message":"FAIL 319: 'HTTP GET gobbledigook transfer-encoded data in raw mode' HTTP, HTTP GET, Transfer-Encoding, --raw"}

data: {"time":"2026-09-19T16:24:51.805Z","priority":"6","pid":"2830187","message":"FAIL 320: 'Load cookies from file for localhost' HTTP, cookies"}

data: {"time":"2026-09-19T16:24:51.805Z","priority":"6","pid":"2830187","message":"FAIL 321: '--etag-save to stdout append to file' etags"}

data: {"time":"2026-09-19T16:24:51.805Z","priority":"6","pid":"2830187","message":"FAIL 322: '--proto with multiple modifiers' --proto"}

data: {"time":"2026-09-19T16:24:51.806Z","priority":"6","pid":"2830187","message":"FAIL 326: 'HTTP GET chunked data in raw mode' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.806Z","priority":"6","pid":"2830187","message":"FAIL 327: 'HTTP with cookiejar without cookies left' HTTP, HTTP GET, cookies, header dump"}

data: {"time":"2026-09-19T16:24:51.806Z","priority":"6","pid":"2830187","message":"FAIL 328: 'HTTP with \"Content-Encoding: none' HTTP, HTTP GET, Content-Encoding"}

data: {"time":"2026-09-19T16:24:51.807Z","priority":"6","pid":"2830187","message":"FAIL 329: 'HTTP cookie with Max-Age=0' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:51.807Z","priority":"6","pid":"2830187","message":"FAIL 330: 'HTTP with custom Cookie: and redirect to new host' HTTP, HTTP proxy, followlocation, cookies"}

data: {"time":"2026-09-19T16:24:51.808Z","priority":"6","pid":"2830187","message":"FAIL 331: 'HTTP with cookie using hostname 'moo'' HTTP, HTTP GET, HTTP proxy, cookies"}

data: {"time":"2026-09-19T16:24:51.808Z","priority":"6","pid":"2830187","message":"FAIL 332: 'TFTP retrieve with blksize 400' TFTP, TFTP RRQ"}

data: {"time":"2026-09-19T16:24:51.808Z","priority":"6","pid":"2830187","message":"FAIL 333: 'Try a non-boolean command line option with --no-' cmdline"}

data: {"time":"2026-09-19T16:24:51.809Z","priority":"6","pid":"2830187","message":"FAIL 334: 'HTTP 204 No content with chunked header' HTTP, 204"}

data: {"time":"2026-09-19T16:24:51.810Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:51.810Z","priority":"6","pid":"2830187","message":"FAIL 336: 'FTP range download when SIZE does not work' FTP, PASV, TYPE A, RETR"}

data: {"time":"2026-09-19T16:24:51.810Z","priority":"6","pid":"2830187","message":"FAIL 337: 'FTP range download with SIZE returning extra crap' FTP, PASV, TYPE A, RETR"}

data: {"time":"2026-09-19T16:24:51.811Z","priority":"6","pid":"2830187","message":"FAIL 338: 'ANYAUTH connection reuse of non-authed connection' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.811Z","priority":"6","pid":"2830187","message":"FAIL 339: 'Check if --etag-save saved correct etag to a file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.811Z","priority":"6","pid":"2830187","message":"FAIL 340: 'FTP using %00 in path with singlecwd' FTP, PASV, CWD, --ftp-method, singlecwd"}

data: {"time":"2026-09-19T16:24:51.812Z","priority":"6","pid":"2830187","message":"FAIL 341: 'A non existing file with --etag-compare is a blank' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.812Z","priority":"6","pid":"2830187","message":"FAIL 342: 'Check if --etag-compare set correct etag in header' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.813Z","priority":"6","pid":"2830187","message":"FAIL 343: 'Both --etag-compare and --etag-save to save new Etag' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.813Z","priority":"6","pid":"2830187","message":"FAIL 344: 'Both --etag-compare and -save store new Etag using non-existing file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.814Z","priority":"6","pid":"2830187","message":"FAIL 345: 'Both --etag-compare and -save store new Etag in pre-existing file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.814Z","priority":"6","pid":"2830187","message":"FAIL 346: 'HTTP GET over proxy with credentials using blank passwords' HTTP, proxy"}

data: {"time":"2026-09-19T16:24:51.814Z","priority":"6","pid":"2830187","message":"FAIL 347: '--etag-save with blank incoming header' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.815Z","priority":"6","pid":"2830187","message":"FAIL 348: 'FTP upload file with 552 disk full response' FTP, EPSV, STOR"}

data: {"time":"2026-09-19T16:24:51.815Z","priority":"6","pid":"2830187","message":"FAIL 349: 'HTTP GET --fail-with-body on HTTP error return' HTTP, HTTP GET, --fail-with-body"}

data: {"time":"2026-09-19T16:24:51.815Z","priority":"6","pid":"2830187","message":"FAIL 350: 'FTP root dir list multicwd' FTP, PASV, LIST"}

data: {"time":"2026-09-19T16:24:51.816Z","priority":"6","pid":"2830187","message":"FAIL 351: 'FTP root dir list nocwd' FTP, PASV, LIST"}

data: {"time":"2026-09-19T16:24:51.816Z","priority":"6","pid":"2830187","message":"FAIL 352: 'FTP root dir list singlecwd' FTP, PASV, LIST"}

data: {"time":"2026-09-19T16:24:51.816Z","priority":"6","pid":"2830187","message":"FAIL 353: 'FTP home dir list singlecwd' FTP, PASV, LIST"}

data: {"time":"2026-09-19T16:24:51.817Z","priority":"6","pid":"2830187","message":"FAIL 354: 'FTP without password' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:51.817Z","priority":"6","pid":"2830187","message":"FAIL 357: 'HTTP PUT with Expect: 100-continue and 417 response' HTTP, HTTP PUT, Expect: 100-continue"}

data: {"time":"2026-09-19T16:24:51.817Z","priority":"6","pid":"2830187","message":"FAIL 360: 'Error on both --fail-with-body and --fail' --fail, --fail-with-body"}

data: {"time":"2026-09-19T16:24:51.818Z","priority":"6","pid":"2830187","message":"FAIL 361: 'HTTP GET --fail-with-body on HTTP error return - twice' HTTP, HTTP GET, --fail-with-body"}

data: {"time":"2026-09-19T16:24:51.819Z","priority":"6","pid":"2830187","message":"FAIL 362: 'FTP resume upload file with nothing to start from' FTP, EPSV, STOR"}

data: {"time":"2026-09-19T16:24:51.819Z","priority":"6","pid":"2830187","message":"FAIL 365: 'HTTP/1.1 with chunked AND Content-Length headers' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.819Z","priority":"6","pid":"2830187","message":"FAIL 366: 'HTTP --retry-max-time with too long Retry-After' HTTP, HTTP GET, retry"}

data: {"time":"2026-09-19T16:24:51.819Z","priority":"6","pid":"2830187","message":"FAIL 367: 'Empty username provided in URL' HTTP, HTTP GET, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:51.820Z","priority":"6","pid":"2830187","message":"FAIL 368: 'Append dash if -r range specified without one' HTTP, HTTP GET, Range"}

data: {"time":"2026-09-19T16:24:51.820Z","priority":"6","pid":"2830187","message":"FAIL 369: '--etag-save with bad path then working transfer' HTTP, HTTP GET, etag"}

data: {"time":"2026-09-19T16:24:51.820Z","priority":"6","pid":"2830187","message":"FAIL 370: '--etag-save with bad path - no transfer' HTTP, HTTP GET, etag"}

data: {"time":"2026-09-19T16:24:51.821Z","priority":"6","pid":"2830187","message":"FAIL 371: 'using more -o than URLs in the command line' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.821Z","priority":"6","pid":"2830187","message":"FAIL 372: 'Binary zero in data element.' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.821Z","priority":"6","pid":"2830187","message":"FAIL 373: 'Chunked transfer encoding - Multiple valid chunks with binary zeros.' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.822Z","priority":"6","pid":"2830187","message":"FAIL 374: 'Valid gif with two frames. No new line in data section.' HTTP, HTTP GET, gif data"}

data: {"time":"2026-09-19T16:24:51.822Z","priority":"6","pid":"2830187","message":"FAIL 376: '--remove-on-error' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.822Z","priority":"6","pid":"2830187","message":"FAIL 378: 'Reject using -T and -d at once' HTTP PUT, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.823Z","priority":"6","pid":"2830187","message":"FAIL 379: '--remove-on-error with --no-clobber and an added number' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.823Z","priority":"6","pid":"2830187","message":"FAIL 380: 'pick netrc password based on username in URL' FTP, EPSV, LIST, netrc"}

data: {"time":"2026-09-19T16:24:51.824Z","priority":"6","pid":"2830187","message":"FAIL 381: 'netrc-optional lets URL creds override netrc' FTP, EPSV, LIST, netrc"}

data: {"time":"2026-09-19T16:24:51.824Z","priority":"6","pid":"2830187","message":"FAIL 383: 'HTTP with --json' HTTP, HTTP POST, --json"}

data: {"time":"2026-09-19T16:24:51.824Z","priority":"6","pid":"2830187","message":"FAIL 384: 'HTTP with --json from stdin' HTTP, HTTP POST, --json"}

data: {"time":"2026-09-19T16:24:51.825Z","priority":"6","pid":"2830187","message":"FAIL 385: 'HTTP with --json x 2' HTTP, HTTP POST, --json"}

data: {"time":"2026-09-19T16:24:51.825Z","priority":"6","pid":"2830187","message":"FAIL 386: 'HTTP with --json + --next' HTTP, HTTP POST, --json"}

data: {"time":"2026-09-19T16:24:51.825Z","priority":"6","pid":"2830187","message":"FAIL 387: 'Response with overly long compression chain' HTTP, gzip"}

data: {"time":"2026-09-19T16:24:51.826Z","priority":"6","pid":"2830187","message":"FAIL 388: 'HTTP with Digest and multiple qop values with leading space' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.826Z","priority":"6","pid":"2830187","message":"FAIL 389: '*.localhost is a local host' HTTP, .localhost"}

data: {"time":"2026-09-19T16:24:51.826Z","priority":"6","pid":"2830187","message":"FAIL 390: 'curl HTTP, FILE and FTP in parallel' HTTP, FILE, FTP, parallel"}

data: {"time":"2026-09-19T16:24:51.827Z","priority":"6","pid":"2830187","message":"FAIL 391: '--path-as-is with redirect, keeping dotdots' HTTP, HTTP GET, --path-as-is"}

data: {"time":"2026-09-19T16:24:51.827Z","priority":"6","pid":"2830187","message":"FAIL 392: 'HTTP secure cookies over localhost' HTTP, HTTP GET, cookies, secure"}

data: {"time":"2026-09-19T16:24:51.827Z","priority":"6","pid":"2830187","message":"FAIL 393: 'HTTP max-filesize and out-of-range Content-Length' HTTP, HTTP GET, --max-filesize"}

data: {"time":"2026-09-19T16:24:51.828Z","priority":"6","pid":"2830187","message":"FAIL 394: 'HTTP with rubbish in Content-Length' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.828Z","priority":"6","pid":"2830187","message":"FAIL 395: 'HTTP and out-of-range Content-Length' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.828Z","priority":"6","pid":"2830187","message":"FAIL 396: 'HTTP GET zstd compressed content' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.829Z","priority":"6","pid":"2830187","message":"FAIL 397: 'HTTP GET zstd compressed content of size more than CURL_MAX_WRITE_SIZE' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:51.829Z","priority":"6","pid":"2830187","message":"FAIL 398: 'Reject HTTP/1.1 response with colon-less header' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.830Z","priority":"6","pid":"2830187","message":"FAIL 399: '65536-byte-long hostname in URL' URL"}

data: {"time":"2026-09-19T16:24:51.830Z","priority":"6","pid":"2830187","message":"FAIL 402: 'FTP SSL required on non-SSL server' FTP, FTPS"}

data: {"time":"2026-09-19T16:24:51.830Z","priority":"6","pid":"2830187","message":"FAIL 405: 'FTPS operation to FTP port' FTP, FTPS"}

data: {"time":"2026-09-19T16:24:51.831Z","priority":"6","pid":"2830187","message":"FAIL 409: 'Load cookies from file where some are PSL domains' HTTP, cookies"}

data: {"time":"2026-09-19T16:24:51.831Z","priority":"6","pid":"2830187","message":"FAIL 411: '-K with missing file causes error' -K"}

data: {"time":"2026-09-19T16:24:51.831Z","priority":"6","pid":"2830187","message":"FAIL 415: 'HTTP response with control code then negative Content-Length' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.832Z","priority":"6","pid":"2830187","message":"FAIL 416: 'FTP growing file support' FTP, EPSV, RETR, Range"}

data: {"time":"2026-09-19T16:24:51.832Z","priority":"6","pid":"2830187","message":"FAIL 418: 'Response with multiple Transfer-Encoding headers' HTTP, gzip"}

data: {"time":"2026-09-19T16:24:51.833Z","priority":"6","pid":"2830187","message":"FAIL 419: '--dump-header to file that cannot be created' --dump-header"}

data: {"time":"2026-09-19T16:24:51.833Z","priority":"6","pid":"2830187","message":"FAIL 420: 'Setting cookies set with expired dates that were loaded from jar' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:51.833Z","priority":"6","pid":"2830187","message":"FAIL 421: 'HTTP GET multiple headers and %{header_json}' header_json"}

data: {"time":"2026-09-19T16:24:51.834Z","priority":"6","pid":"2830187","message":"FAIL 422: 'use --next with missing URL before it' cmdline, --next"}

data: {"time":"2026-09-19T16:24:51.834Z","priority":"6","pid":"2830187","message":"FAIL 423: '-w with url.* variables' -w, --write-out"}

data: {"time":"2026-09-19T16:24:51.834Z","priority":"6","pid":"2830187","message":"FAIL 424: '-w with urle.* variables' -w, --write-out"}

data: {"time":"2026-09-19T16:24:51.834Z","priority":"6","pid":"2830187","message":"FAIL 425: 'HTTP PUT with path ending with slash + query' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:51.835Z","priority":"6","pid":"2830187","message":"FAIL 426: 'try --data with --continue-at' Resume, error detection"}

data: {"time":"2026-09-19T16:24:51.835Z","priority":"6","pid":"2830187","message":"FAIL 427: 'Keep Cookie: header within 8190 bytes' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:51.836Z","priority":"6","pid":"2830187","message":"FAIL 428: 'Expand environment variables within config file' HTTP, variables, --config"}

data: {"time":"2026-09-19T16:24:51.836Z","priority":"6","pid":"2830187","message":"FAIL 429: 'Expand environment variable in config file - too long name' HTTP, HTTP POST, variables"}

data: {"time":"2026-09-19T16:24:51.836Z","priority":"6","pid":"2830187","message":"FAIL 430: 'Three -K uses with --next and --data in each' --next, --config, POST"}

data: {"time":"2026-09-19T16:24:51.837Z","priority":"6","pid":"2830187","message":"FAIL 431: 'Two -K uses with --next and then one on cmdline' --next, --config, POST"}

data: {"time":"2026-09-19T16:24:51.837Z","priority":"6","pid":"2830187","message":"FAIL 432: 'Use -K with --next and --config from within' --next, --config, POST"}

data: {"time":"2026-09-19T16:24:51.837Z","priority":"6","pid":"2830187","message":"FAIL 434: '-K with a single line without newline' HTTP, --config"}

data: {"time":"2026-09-19T16:24:51.838Z","priority":"6","pid":"2830187","message":"FAIL 435: 'verify -w local/remote port+ip after connection reuse' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.838Z","priority":"6","pid":"2830187","message":"FAIL 436: 'Find .curlrc in .config/curlrc via CURL_HOME' --config"}

data: {"time":"2026-09-19T16:24:51.838Z","priority":"6","pid":"2830187","message":"FAIL 440: 'HSTS with trailing-dot hostname in URL but none in hsts file' HTTP, HTTP proxy, HSTS, trailing-dot"}

data: {"time":"2026-09-19T16:24:51.839Z","priority":"6","pid":"2830187","message":"FAIL 441: 'HSTS with no t-dot hostname in URL but t-dot in file' HTTP, HTTP proxy, HSTS, trailing-dot"}

data: {"time":"2026-09-19T16:24:51.859Z","priority":"6","pid":"2830187","message":"FAIL 442: 'Send capped huge number of matching cookies' HTTP, cookies, --resolve"}

data: {"time":"2026-09-19T16:24:51.860Z","priority":"6","pid":"2830187","message":"FAIL 443: 'Cookie header in request no longer than 8K' HTTP, cookies, --resolve"}

data: {"time":"2026-09-19T16:24:51.860Z","priority":"6","pid":"2830187","message":"FAIL 444: 'Many Set-Cookie response headers' HTTP, cookies, --resolve"}

data: {"time":"2026-09-19T16:24:51.861Z","priority":"6","pid":"2830187","message":"FAIL 448: 'Environment variables within config file, unbalanced braces' HTTP, variables, --config"}

data: {"time":"2026-09-19T16:24:51.861Z","priority":"6","pid":"2830187","message":"FAIL 449: 'Environment variables in config file w/o [expand]' HTTP, variables, --config"}

data: {"time":"2026-09-19T16:24:51.861Z","priority":"6","pid":"2830187","message":"FAIL 450: 'Variable from file that is trimmed and URL encoded' HTTP, variables"}

data: {"time":"2026-09-19T16:24:51.861Z","priority":"6","pid":"2830187","message":"FAIL 451: 'Variable from file that is JSON and URL encoded (with null byte)' HTTP, variables"}

data: {"time":"2026-09-19T16:24:51.862Z","priority":"6","pid":"2830187","message":"FAIL 452: 'Variable using illegal function in expansion' variables"}

data: {"time":"2026-09-19T16:24:51.862Z","priority":"6","pid":"2830187","message":"FAIL 453: 'Variable output containing null byte' HTTP, variables"}

data: {"time":"2026-09-19T16:24:51.862Z","priority":"6","pid":"2830187","message":"FAIL 454: 'Variable using illegal function separator' variables"}

data: {"time":"2026-09-19T16:24:51.863Z","priority":"6","pid":"2830187","message":"FAIL 455: 'Variable using base64' variables"}

data: {"time":"2026-09-19T16:24:51.863Z","priority":"6","pid":"2830187","message":"FAIL 456: 'Variable output starting with null byte' HTTP, variables"}

data: {"time":"2026-09-19T16:24:51.863Z","priority":"6","pid":"2830187","message":"FAIL 457: 'chunked Transfer-Encoding with --max-filesize' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.864Z","priority":"6","pid":"2830187","message":"FAIL 458: 'variable expand the filename with --expand-output' HTTP, variables"}

data: {"time":"2026-09-19T16:24:51.864Z","priority":"6","pid":"2830187","message":"FAIL 459: 'config file with argument using whitespace missing quotes' HTTP, --config"}

data: {"time":"2026-09-19T16:24:51.864Z","priority":"6","pid":"2830187","message":"FAIL 460: 'try --expand without an argument' variables, expand"}

data: {"time":"2026-09-19T16:24:51.865Z","priority":"6","pid":"2830187","message":"FAIL 461: 'disable Host: when specified as lower case' HTTP, HTTP GET, --header"}

data: {"time":"2026-09-19T16:24:51.865Z","priority":"6","pid":"2830187","message":"FAIL 462: 'Missing environment variables in config file' variables, --config"}

data: {"time":"2026-09-19T16:24:51.865Z","priority":"6","pid":"2830187","message":"FAIL 463: 'HTTP with -d @file with file containing CR, LF and null byte' HTTP, HTTP POST, -d"}

data: {"time":"2026-09-19T16:24:51.866Z","priority":"6","pid":"2830187","message":"FAIL 467: 'non-existing short option letter (after one that exists)' cmdline"}

data: {"time":"2026-09-19T16:24:51.866Z","priority":"6","pid":"2830187","message":"FAIL 468: 'set -w in config, then reset -w to blank on cmdline' HTTP, --write-out, --config"}

data: {"time":"2026-09-19T16:24:51.866Z","priority":"6","pid":"2830187","message":"FAIL 469: 'warn about Unicode quote character' HTTP"}

data: {"time":"2026-09-19T16:24:51.867Z","priority":"6","pid":"2830187","message":"FAIL 470: 'warn about Unicode quote character read from config file' HTTP"}

data: {"time":"2026-09-19T16:24:51.867Z","priority":"6","pid":"2830187","message":"FAIL 471: 'Reject HTTP/1.1 to HTTP/2 switch on the same connection' HTTP, HTTP GET, globbing, {} list"}

data: {"time":"2026-09-19T16:24:51.868Z","priority":"6","pid":"2830187","message":"FAIL 473: 'Check if --etag-save saved correct etag to a file on 301' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.868Z","priority":"6","pid":"2830187","message":"FAIL 475: 'FTP PASV upload ASCII file' FTP, EPSV, STOR, TYPE A"}

data: {"time":"2026-09-19T16:24:51.869Z","priority":"6","pid":"2830187","message":"FAIL 476: 'FTP PASV upload ASCII file already using CRLF' FTP, EPSV, STOR, TYPE A"}

data: {"time":"2026-09-19T16:24:51.869Z","priority":"6","pid":"2830187","message":"FAIL 477: 'HTTP GET with maximum filesize with a redirect sending data' HTTP, HTTP GET, --max-filesize"}

data: {"time":"2026-09-19T16:24:51.870Z","priority":"6","pid":"2830187","message":"FAIL 478: '.netrc with multiple accounts for same host' netrc, HTTP"}

data: {"time":"2026-09-19T16:24:51.870Z","priority":"6","pid":"2830187","message":"FAIL 479: '.netrc with redirect and default without password' netrc, HTTP"}

data: {"time":"2026-09-19T16:24:51.870Z","priority":"6","pid":"2830187","message":"FAIL 480: 'Reject .netrc with credentials using CRLF for POP3' netrc, POP3"}

data: {"time":"2026-09-19T16:24:51.871Z","priority":"6","pid":"2830187","message":"FAIL 481: '--no-clobber with --continue-at' HTTP, HTTP GET, --no-clobber, --continue-at"}

data: {"time":"2026-09-19T16:24:51.871Z","priority":"6","pid":"2830187","message":"FAIL 482: '--remove-on-error with --continue-at' HTTP, --remove-on-error, --continue-at"}

data: {"time":"2026-09-19T16:24:51.872Z","priority":"6","pid":"2830187","message":"FAIL 483: 'HTTP cookies with long expire dates' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:51.872Z","priority":"6","pid":"2830187","message":"FAIL 484: 'Use --etag-compare and -save with more than one URL' HTTP, etag"}

data: {"time":"2026-09-19T16:24:51.872Z","priority":"6","pid":"2830187","message":"FAIL 485: '--etag-compare and -save with more than one URL, URLs specified first' HTTP, etag"}

data: {"time":"2026-09-19T16:24:51.873Z","priority":"6","pid":"2830187","message":"FAIL 486: '.netrc with redirect and \"default\" with no password or login' netrc, HTTP"}

data: {"time":"2026-09-19T16:24:51.873Z","priority":"6","pid":"2830187","message":"FAIL 487: 'Variable using 64dec with bad base64' variables"}

data: {"time":"2026-09-19T16:24:51.874Z","priority":"6","pid":"2830187","message":"FAIL 488: 'Download two URLs provided on stdin' HTTP, HTTP GET, --url"}

data: {"time":"2026-09-19T16:24:51.874Z","priority":"6","pid":"2830187","message":"FAIL 489: 'Download two URLs provided in a file' HTTP, HTTP GET, --url"}

data: {"time":"2026-09-19T16:24:51.874Z","priority":"6","pid":"2830187","message":"FAIL 490: 'Two globbed HTTP PUTs' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:51.874Z","priority":"6","pid":"2830187","message":"FAIL 491: 'Two globbed HTTP PUTs, the second upload file is missing' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:51.875Z","priority":"6","pid":"2830187","message":"FAIL 492: 'Two globbed HTTP PUTs to two globbed URLs' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:51.875Z","priority":"6","pid":"2830187","message":"FAIL 493: 'HSTS and %{url_effective} after upgrade' HTTP, HTTP proxy, HSTS, url_effective"}

data: {"time":"2026-09-19T16:24:51.875Z","priority":"6","pid":"2830187","message":"FAIL 494: 'skip 'macdef' when parsing netrc' FTP, EPSV, netrc, macdef"}

data: {"time":"2026-09-19T16:24:51.876Z","priority":"6","pid":"2830187","message":"FAIL 495: 'user+password in URL with optional netrc' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:51.876Z","priority":"6","pid":"2830187","message":"FAIL 496: 'parallel upload missing file' curl tool, cmdline, parallel"}

data: {"time":"2026-09-19T16:24:51.877Z","priority":"6","pid":"2830187","message":"FAIL 497: 'Reject too large accumulated HTTP response headers' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.877Z","priority":"6","pid":"2830187","message":"FAIL 498: 'Reject too large HTTP response headers on endless redirects' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.877Z","priority":"6","pid":"2830187","message":"FAIL 499: 'HTTP HEAD to server still sending a body' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.878Z","priority":"6","pid":"2830187","message":"FAIL 500: 'simple libcurl HTTP GET tool' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.878Z","priority":"6","pid":"2830187","message":"FAIL 501: 'simple libcurl attempt operation without URL set' missing URL"}

data: {"time":"2026-09-19T16:24:51.878Z","priority":"6","pid":"2830187","message":"FAIL 502: 'simple multi file:// get' FILE"}

data: {"time":"2026-09-19T16:24:51.879Z","priority":"6","pid":"2830187","message":"FAIL 503: 'simple multi http:// through proxytunnel with authentication info' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, HTTP proxy Basic auth, proxytunnel, multi"}

data: {"time":"2026-09-19T16:24:51.879Z","priority":"6","pid":"2830187","message":"FAIL 504: 'simple multi through local proxy without listener' HTTP, HTTP GET, HTTP proxy, multi, connect to non-listen"}

data: {"time":"2026-09-19T16:24:51.879Z","priority":"6","pid":"2830187","message":"FAIL 505: 'FTP upload with rename after transfer' FTP, STOR"}

data: {"time":"2026-09-19T16:24:51.880Z","priority":"6","pid":"2830187","message":"FAIL 507: 'multi interface get with non-existing hostname' HTTP, multi, non-existing host"}

data: {"time":"2026-09-19T16:24:51.880Z","priority":"6","pid":"2830187","message":"FAIL 508: 'send HTTP POST using read callback' HTTP, POST, POST callback"}

data: {"time":"2026-09-19T16:24:51.881Z","priority":"6","pid":"2830187","message":"FAIL 509: 'initialization with memory callbacks and actual usage' memory callbacks"}

data: {"time":"2026-09-19T16:24:51.881Z","priority":"6","pid":"2830187","message":"FAIL 510: 'send HTTP POST using read callback, using chunked transfer-encoding' HTTP, HTTP POST, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.882Z","priority":"6","pid":"2830187","message":"FAIL 511: 'FTP with FILETIME and NOBODY but missing file' FTP"}

data: {"time":"2026-09-19T16:24:51.882Z","priority":"6","pid":"2830187","message":"FAIL 512: 'simple curl_easy_duplicate() test' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.882Z","priority":"6","pid":"2830187","message":"FAIL 513: 'send HTTP POST using read callback that returns CURL_READFUNC_ABORT' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.882Z","priority":"6","pid":"2830187","message":"FAIL 514: 'First set options to POST and then to make HEAD' HTTP, HTTP HEAD"}

data: {"time":"2026-09-19T16:24:51.883Z","priority":"6","pid":"2830187","message":"FAIL 515: 'make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.883Z","priority":"6","pid":"2830187","message":"FAIL 516: 'make an HTTPPOST set to NULL' HTTP, HTTP POST, FORM"}

data: {"time":"2026-09-19T16:24:51.884Z","priority":"6","pid":"2830187","message":"FAIL 517: 'curl_getdate() testing' getdate, unittest"}

data: {"time":"2026-09-19T16:24:51.884Z","priority":"6","pid":"2830187","message":"FAIL 519: 'GET same URL twice with different users' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.884Z","priority":"6","pid":"2830187","message":"FAIL 520: 'FTP RETR with FILETIME' FTP"}

data: {"time":"2026-09-19T16:24:51.884Z","priority":"6","pid":"2830187","message":"FAIL 521: 'FTP dir list PASV with CURLOPT_PORT' FTP, PASV, CURLOPT_PORT"}

data: {"time":"2026-09-19T16:24:51.885Z","priority":"6","pid":"2830187","message":"FAIL 522: 'HTTP GET with CURLOPT_PORT' HTTP, HTTP GET, CURLOPT_PORT"}

data: {"time":"2026-09-19T16:24:51.885Z","priority":"6","pid":"2830187","message":"FAIL 523: 'HTTP GET with proxy and CURLOPT_PORT' HTTP, HTTP GET, HTTP proxy, CURLOPT_PORT, CURLOPT_PROXY"}

data: {"time":"2026-09-19T16:24:51.886Z","priority":"6","pid":"2830187","message":"FAIL 524: 'FTP upload with target URL ending with slash' FTP, UPLOAD"}

data: {"time":"2026-09-19T16:24:51.886Z","priority":"6","pid":"2830187","message":"FAIL 525: 'FTP PORT upload using multi interface' FTP, PORT, STOR, multi"}

data: {"time":"2026-09-19T16:24:51.887Z","priority":"6","pid":"2830187","message":"FAIL 526: 'FTP RETR same file using different handles but same connection' FTP, PASV, RETR, multi"}

data: {"time":"2026-09-19T16:24:51.887Z","priority":"6","pid":"2830187","message":"FAIL 527: 'FTP RETR same file using different handles and closed connections' FTP, PASV, RETR, multi"}

data: {"time":"2026-09-19T16:24:51.888Z","priority":"6","pid":"2830187","message":"FAIL 528: 'HTTP GET same file using different handles but same connection' HTTP, HTTP GET, multi"}

data: {"time":"2026-09-19T16:24:51.889Z","priority":"6","pid":"2830187","message":"FAIL 529: 'FTP PORT upload using multi interface (weird cleanup function seq)' FTP, PORT, STOR, multi"}

data: {"time":"2026-09-19T16:24:51.889Z","priority":"6","pid":"2830187","message":"FAIL 530: 'multi_socket interface transfer with callbacks returning error' multi, HTTP"}

data: {"time":"2026-09-19T16:24:51.890Z","priority":"6","pid":"2830187","message":"FAIL 531: 'FTP PORT upload using multi interface and get 425 response' FTP, PORT, STOR, multi"}

data: {"time":"2026-09-19T16:24:51.890Z","priority":"6","pid":"2830187","message":"FAIL 532: 'FTP RETR same file using reset handles between each transfer' FTP, PASV, RETR, multi"}

data: {"time":"2026-09-19T16:24:51.891Z","priority":"6","pid":"2830187","message":"FAIL 533: 'FTP RETR a non-existing file twice using the multi interface' FTP, PASV, RETR, multi"}

data: {"time":"2026-09-19T16:24:51.892Z","priority":"6","pid":"2830187","message":"FAIL 534: 'FTP RETR twice using multi: non-existing host and non-existing file' FTP, PASV, RETR, multi, non-existing host"}

data: {"time":"2026-09-19T16:24:51.893Z","priority":"6","pid":"2830187","message":"FAIL 535: 'HTTP GET multi two files with FAILONERROR' HTTP, HTTP GET, multi"}

data: {"time":"2026-09-19T16:24:51.894Z","priority":"6","pid":"2830187","message":"FAIL 536: 'CURLINFO_USED_PROXY' HTTP, HTTP GET, HTTP proxy, CURLOPT_PROXY, CURLOPT_NOBODY, CURLINFO_USED_PROXY"}

data: {"time":"2026-09-19T16:24:51.894Z","priority":"6","pid":"2830187","message":"FAIL 537: 'HTTP GET with a HUGE number of file descriptors open' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.894Z","priority":"6","pid":"2830187","message":"FAIL 538: 'FTP multi-interface download, failed login: PASS not valid' FTP, multi"}

data: {"time":"2026-09-19T16:24:51.896Z","priority":"6","pid":"2830187","message":"FAIL 539: 'Two FTP fetches using different CURLOPT_FTP_FILEMETHOD' FTP"}

data: {"time":"2026-09-19T16:24:51.896Z","priority":"6","pid":"2830187","message":"FAIL 540: 'HTTP proxy auth Digest multi API reusing connection' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, multi"}

data: {"time":"2026-09-19T16:24:51.897Z","priority":"6","pid":"2830187","message":"FAIL 541: 'FTP upload and upload same file again without rewind' FTP, STOR"}

data: {"time":"2026-09-19T16:24:51.899Z","priority":"6","pid":"2830187","message":"FAIL 542: 'FTP a file with NOBODY yes and HEADER no' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:51.899Z","priority":"6","pid":"2830187","message":"FAIL 543: 'curl_easy_escape' curl_easy_escape"}

data: {"time":"2026-09-19T16:24:51.899Z","priority":"6","pid":"2830187","message":"FAIL 544: 'HTTP POST text data using CURLOPT_COPYPOSTFIELDS' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.900Z","priority":"6","pid":"2830187","message":"FAIL 545: 'HTTP POST binary with embedded zero and no trailing zero' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.901Z","priority":"6","pid":"2830187","message":"FAIL 546: 'FTP RETR non-existing file then a found one using multi' FTP, PASV, RETR, multi"}

data: {"time":"2026-09-19T16:24:51.902Z","priority":"6","pid":"2830187","message":"FAIL 549: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE' FTP, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.903Z","priority":"6","pid":"2830187","message":"FAIL 550: 'FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE using ASCII' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY"}

data: {"time":"2026-09-19T16:24:51.905Z","priority":"6","pid":"2830187","message":"FAIL 551: 'HTTP proxy auth Digest with POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth"}

data: {"time":"2026-09-19T16:24:51.906Z","priority":"6","pid":"2830187","message":"FAIL 552: 'HTTP proxy auth Digest with 70K POST data from read callback' HTTP, HTTP POST, POST callback, HTTP proxy, HTTP proxy Digest auth"}

data: {"time":"2026-09-19T16:24:51.949Z","priority":"6","pid":"2830187","message":"FAIL 553: 'HTTP post with huge request headers and post data from callback' HTTP, HTTP POST, POST callback, huge request header"}

data: {"time":"2026-09-19T16:24:51.950Z","priority":"6","pid":"2830187","message":"FAIL 554: 'HTTP multi-part formpost using read callback for the file part' HTTP, HTTP POST, FORM"}

data: {"time":"2026-09-19T16:24:51.951Z","priority":"6","pid":"2830187","message":"FAIL 556: 'send and recv HTTP' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.951Z","priority":"6","pid":"2830187","message":"FAIL 557: 'curl_mprintf() testing' printf, unittest"}

data: {"time":"2026-09-19T16:24:51.951Z","priority":"6","pid":"2830187","message":"FAIL 559: 'use tiny CURLOPT_BUFFERSIZE' CURLOPT_BUFFERSIZE, HTTP"}

data: {"time":"2026-09-19T16:24:51.952Z","priority":"6","pid":"2830187","message":"FAIL 561: 'FTP RETR with CURLOPT_PROXY_TRANSFER_MODE, ASCII transfer and type=i' FTP, HTTP proxy, CURLOPT_PROXY_TRANSFER_MODE, CURLOPT_PROXY, type="}

data: {"time":"2026-09-19T16:24:51.952Z","priority":"6","pid":"2830187","message":"FAIL 562: 'FTP a type=A URL and CURLOPT_PORT set' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:51.953Z","priority":"6","pid":"2830187","message":"FAIL 563: 'FTP type=A URL and CURLOPT_PORT set and proxy' FTP, CURLOPT_PORT, HTTP proxy"}

data: {"time":"2026-09-19T16:24:51.953Z","priority":"6","pid":"2830187","message":"FAIL 564: 'FTP RETR a file over a SOCKS proxy using the multi interface' FTP, PASV, RETR, multi, SOCKS4"}

data: {"time":"2026-09-19T16:24:51.954Z","priority":"6","pid":"2830187","message":"FAIL 565: 'HTTP POST using read callback, chunked transfer-encoding and Digest' HTTP, HTTP POST, HTTP Digest auth, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.954Z","priority":"6","pid":"2830187","message":"FAIL 566: 'HTTP GET with CURLINFO_CONTENT_LENGTH_DOWNLOAD and 0 bytes transfer' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.954Z","priority":"6","pid":"2830187","message":"FAIL 567: 'simple RTSP OPTIONS command' RTSP, OPTIONS"}

data: {"time":"2026-09-19T16:24:51.955Z","priority":"6","pid":"2830187","message":"FAIL 568: 'RTSP Announce (PUT and POST style) test' RTSP, ANNOUNCE"}

data: {"time":"2026-09-19T16:24:51.955Z","priority":"6","pid":"2830187","message":"FAIL 569: 'RTSP Session ID parsing' RTSP, SESSION_ID"}

data: {"time":"2026-09-19T16:24:51.956Z","priority":"6","pid":"2830187","message":"FAIL 570: 'RTSP CSeq and Session Mismatch checks' RTSP, Mismatch checking"}

data: {"time":"2026-09-19T16:24:51.956Z","priority":"6","pid":"2830187","message":"FAIL 571: 'RTSP RTP Interleaving Test' RTSP, RTP"}

data: {"time":"2026-09-19T16:24:51.956Z","priority":"6","pid":"2830187","message":"FAIL 572: 'RTSP GET_PARAMETER (Put/Heartbeat/Post)' RTSP, GET_PARAMETER"}

data: {"time":"2026-09-19T16:24:51.956Z","priority":"6","pid":"2830187","message":"FAIL 574: 'FTP wildcard download - changed fnmatch, 2x perform (Unix LIST)' FTP, LIST, RETR, wildcardmatch, ftplistparser"}

data: {"time":"2026-09-19T16:24:51.957Z","priority":"6","pid":"2830187","message":"FAIL 575: 'FTP wildcard download - dup_handle and multi interface' FTP, RETR, multi, wildcardmatch, ftplistparser"}

data: {"time":"2026-09-19T16:24:51.957Z","priority":"6","pid":"2830187","message":"FAIL 576: 'FTP wildcard - skip/parser_correctness/CURLOPT_FNMATCH_FUNCTION (Unix)' FTP, wildcardmatch, ftplistparser"}

data: {"time":"2026-09-19T16:24:51.958Z","priority":"6","pid":"2830187","message":"FAIL 577: 'Funny RTSP version in response' RTSP, OPTIONS"}

data: {"time":"2026-09-19T16:24:51.958Z","priority":"6","pid":"2830187","message":"FAIL 578: 'HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:51.959Z","priority":"6","pid":"2830187","message":"FAIL 579: 'small chunked HTTP POSTs with digest auth and progress callback' HTTP, HTTP POST, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:51.959Z","priority":"6","pid":"2830187","message":"FAIL 580: 'multi interface, multiple Location: headers' HTTP, HTTP GET, multi, Duplicate-header"}

data: {"time":"2026-09-19T16:24:51.959Z","priority":"6","pid":"2830187","message":"FAIL 581: 'multi interface, multiple Content-Type: headers' HTTP, HTTP GET, multi, Duplicate-header"}

data: {"time":"2026-09-19T16:24:51.960Z","priority":"6","pid":"2830187","message":"FAIL 584: 'CURLOPT_MIMEPOST first set then set to NULL' HTTP, HTTP POST, HTTP MIME"}

data: {"time":"2026-09-19T16:24:51.961Z","priority":"6","pid":"2830187","message":"FAIL 585: 'socket open/close callbacks' HTTP, HTTP GET, multi, CURLOPT_OPENSOCKETFUNCTION, CURLOPT_CLOSESOCKETFUNCTION"}

data: {"time":"2026-09-19T16:24:51.961Z","priority":"6","pid":"2830187","message":"FAIL 586: 'FTP and open/close socket callbacks' FTP, PASV, CURLOPT_PORT"}

data: {"time":"2026-09-19T16:24:51.961Z","priority":"6","pid":"2830187","message":"FAIL 588: 'FTP PORT upload using multi interface, EPRT does not work' FTP, PORT, STOR, multi, EPRT refused"}

data: {"time":"2026-09-19T16:24:51.962Z","priority":"6","pid":"2830187","message":"FAIL 589: 'make an HTTP MIME POST set to NULL' HTTP, HTTP POST, HTTP MIME"}

data: {"time":"2026-09-19T16:24:51.962Z","priority":"6","pid":"2830187","message":"FAIL 591: 'FTP multi PORT and 425 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN425"}

data: {"time":"2026-09-19T16:24:51.962Z","priority":"6","pid":"2830187","message":"FAIL 592: 'FTP multi PORT and 421 on upload' FTP, PORT, STOR, multi, EPRT refused, NODATACONN421"}

data: {"time":"2026-09-19T16:24:51.963Z","priority":"6","pid":"2830187","message":"FAIL 593: 'FTP multi PORT upload, no data conn and no transient neg. reply' FTP, PORT, STOR, multi, EPRT refused, NODATACONN150"}

data: {"time":"2026-09-19T16:24:51.963Z","priority":"6","pid":"2830187","message":"FAIL 595: 'verify close callbacks with passive FTP' FTP"}

data: {"time":"2026-09-19T16:24:51.964Z","priority":"6","pid":"2830187","message":"FAIL 596: 'verify close callbacks with active FTP' FTP"}

data: {"time":"2026-09-19T16:24:51.964Z","priority":"6","pid":"2830187","message":"FAIL 597: 'FTP connect only option' FTP, CONNECT_ONLY"}

data: {"time":"2026-09-19T16:24:51.964Z","priority":"6","pid":"2830187","message":"FAIL 598: 'curl_easy_reset with referer and other strings set' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset"}

data: {"time":"2026-09-19T16:24:51.965Z","priority":"6","pid":"2830187","message":"FAIL 599: 'HTTP GET with progress callback and redirects changing content sizes' HTTP, HTTP POST, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:51.966Z","priority":"6","pid":"2830187","message":"FAIL 632: 'SFTP syntactically invalid host key' SFTP, server key check"}

data: {"time":"2026-09-19T16:24:51.966Z","priority":"6","pid":"2830187","message":"FAIL 643: 'HTTP multi-part mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST"}

data: {"time":"2026-09-19T16:24:51.967Z","priority":"6","pid":"2830187","message":"FAIL 645: 'HTTP multi-part chunked mimepost using read callback for the file part' HTTP, HTTP POST, HTTP MIME POST"}

data: {"time":"2026-09-19T16:24:51.967Z","priority":"6","pid":"2830187","message":"FAIL 646: 'SMTP multipart using mime API' SMTP, MULTIPART"}

data: {"time":"2026-09-19T16:24:51.969Z","priority":"6","pid":"2830187","message":"FAIL 647: 'IMAP APPEND multipart using mime API' IMAP, APPEND, UPLOAD, MULTIPART"}

data: {"time":"2026-09-19T16:24:51.969Z","priority":"6","pid":"2830187","message":"FAIL 648: 'SMTP multipart with transfer content encoders' SMTP, MULTIPART"}

data: {"time":"2026-09-19T16:24:51.969Z","priority":"6","pid":"2830187","message":"FAIL 649: 'SMTP multipart with 7-bit encoder error' SMTP, MULTIPART"}

data: {"time":"2026-09-19T16:24:51.969Z","priority":"6","pid":"2830187","message":"FAIL 650: 'HTTP formpost using form API - with redirect and re-POST' HTTP, HTTP POST, FORM"}

data: {"time":"2026-09-19T16:24:51.970Z","priority":"6","pid":"2830187","message":"FAIL 651: 'curl_formadd with huge COPYCONTENTS' HTTP, HTTP POST, FORM"}

data: {"time":"2026-09-19T16:24:51.971Z","priority":"6","pid":"2830187","message":"FAIL 652: 'SMTP with encoded huge mime data contents' SMTP, MIME"}

data: {"time":"2026-09-19T16:24:51.971Z","priority":"6","pid":"2830187","message":"FAIL 653: 'Reuse of handle after altering mime data' HTTP, HTTP POST, MIME"}

data: {"time":"2026-09-19T16:24:51.972Z","priority":"6","pid":"2830187","message":"FAIL 654: 'HTTP duplicate easy handle with mime data' HTTP, HTTP POST, HTTP MIME POST"}

data: {"time":"2026-09-19T16:24:51.972Z","priority":"6","pid":"2830187","message":"FAIL 655: 'resolver start callback' HTTP"}

data: {"time":"2026-09-19T16:24:51.972Z","priority":"6","pid":"2830187","message":"FAIL 658: 'Pass URL to libcurl with CURLOPT_CURLU' HTTP, HTTP GET, CURLOPT_CURLU"}

data: {"time":"2026-09-19T16:24:51.973Z","priority":"6","pid":"2830187","message":"FAIL 659: 'CURLOPT_CURLU without the path set - over proxy' HTTP, HTTP GET, CURLOPT_CURLU, proxy"}

data: {"time":"2026-09-19T16:24:51.973Z","priority":"6","pid":"2830187","message":"FAIL 660: 'IMAP CONNECT_ONLY option' IMAP, CONNECT_ONLY"}

data: {"time":"2026-09-19T16:24:51.974Z","priority":"6","pid":"2830187","message":"FAIL 661: 'Avoid redundant CWDs' FTP"}

data: {"time":"2026-09-19T16:24:51.974Z","priority":"6","pid":"2830187","message":"FAIL 662: 'HTTP redirect with whitespace in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation"}

data: {"time":"2026-09-19T16:24:51.975Z","priority":"6","pid":"2830187","message":"FAIL 663: 'HTTP redirect with dotdots and whitespaces in absolute Location: URL' HTTP, HTTP GET, HTTP proxy, followlocation"}

data: {"time":"2026-09-19T16:24:51.975Z","priority":"6","pid":"2830187","message":"FAIL 666: 'HTTP mime post with binary-encoded huge data contents' HTTP, HTTP POST, HTTP MIME POST, MIME"}

data: {"time":"2026-09-19T16:24:51.976Z","priority":"6","pid":"2830187","message":"FAIL 667: 'HTTP chunked mimepost using single-byte read callback with encoder' HTTP, HTTP POST, HTTP MIME POST"}

data: {"time":"2026-09-19T16:24:51.976Z","priority":"6","pid":"2830187","message":"FAIL 668: 'HTTP mimepost early end of data detection' HTTP, HTTP POST, HTTP MIME POST"}

data: {"time":"2026-09-19T16:24:51.977Z","priority":"6","pid":"2830187","message":"FAIL 669: 'HTTP custom Content-Type with parameter' HTTP, HTTP POST, HTTP MIME POST, HTTP FORMPOST"}

data: {"time":"2026-09-19T16:24:51.978Z","priority":"6","pid":"2830187","message":"FAIL 670: 'Request pause from mime read callback: multi' HTTP, HTTP POST, MIME"}

data: {"time":"2026-09-19T16:24:51.978Z","priority":"6","pid":"2830187","message":"FAIL 671: 'Request pause from mime read callback: easy' HTTP, HTTP POST, MIME"}

data: {"time":"2026-09-19T16:24:51.978Z","priority":"6","pid":"2830187","message":"FAIL 672: 'Request pause from form read callback: multi' HTTP, HTTP POST, FORM"}

data: {"time":"2026-09-19T16:24:51.979Z","priority":"6","pid":"2830187","message":"FAIL 673: 'Request pause from form read callback: easy' HTTP, HTTP POST, FORM"}

data: {"time":"2026-09-19T16:24:51.979Z","priority":"6","pid":"2830187","message":"FAIL 674: 'Set CURLOPT_CURLU and dupe the handle' HTTP, HTTP GET, CURLOPT_CURLU, curl_easy_duphandle"}

data: {"time":"2026-09-19T16:24:51.980Z","priority":"6","pid":"2830187","message":"FAIL 675: 'HTTP connection reuse and different credentials' HTTP, HTTP GET, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:51.980Z","priority":"6","pid":"2830187","message":"FAIL 676: 'verify setting CURLOPT_COOKIEFILE to NULL again' HTTP, HTTP GET, HTTP set cookie, cookies, CURLOPT_REFERER, curl_easy_reset"}

data: {"time":"2026-09-19T16:24:51.981Z","priority":"6","pid":"2830187","message":"FAIL 677: 'IMAP with CONNECT_ONLY, custom command then exit' IMAP, CONNECT_ONLY"}

data: {"time":"2026-09-19T16:24:51.981Z","priority":"6","pid":"2830187","message":"FAIL 679: 'netrc with quoted username and password' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:51.982Z","priority":"6","pid":"2830187","message":"FAIL 680: 'netrc with quoted password but missing end quote' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:51.982Z","priority":"6","pid":"2830187","message":"FAIL 681: '--remote-name-all with --no-remote-name' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.982Z","priority":"6","pid":"2830187","message":"FAIL 682: 'netrc with multiple logins - pick first' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:51.983Z","priority":"6","pid":"2830187","message":"FAIL 683: 'netrc with multiple logins - pick second' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:51.983Z","priority":"6","pid":"2830187","message":"FAIL 684: 'netrc with no login' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:51.983Z","priority":"6","pid":"2830187","message":"FAIL 685: 'netrc with no login - but provided user in URL' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:51.984Z","priority":"6","pid":"2830187","message":"FAIL 686: 'verify return code for missing URL after --next' errorcode"}

data: {"time":"2026-09-19T16:24:51.984Z","priority":"6","pid":"2830187","message":"FAIL 689: 'fuzzing crash issue #12701' RTSP, OPTIONS"}

data: {"time":"2026-09-19T16:24:51.984Z","priority":"6","pid":"2830187","message":"FAIL 690: '-O with URL without path using trailing slash' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.985Z","priority":"6","pid":"2830187","message":"FAIL 691: '-O with URL with path using trailing slash' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.985Z","priority":"6","pid":"2830187","message":"FAIL 692: '-JO with URL without path using trailing slash' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.985Z","priority":"6","pid":"2830187","message":"FAIL 693: '--etag-save with --create-dirs' HTTP, HTTP GET, etag"}

data: {"time":"2026-09-19T16:24:51.986Z","priority":"6","pid":"2830187","message":"FAIL 695: 'MIME parts reuse as a child part' MIME"}

data: {"time":"2026-09-19T16:24:51.986Z","priority":"6","pid":"2830187","message":"FAIL 696: 'CONNECT_ONLY and doing a second curl_easy_perform' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:51.987Z","priority":"6","pid":"2830187","message":"FAIL 697: 'netrc with missing netrc file' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:51.987Z","priority":"6","pid":"2830187","message":"FAIL 698: 'FTP with ACCT and connection reuse' FTP, ACCT"}

data: {"time":"2026-09-19T16:24:51.988Z","priority":"6","pid":"2830187","message":"FAIL 699: '--config with single-letter options plus one that is cleared' HTTP, --config"}

data: {"time":"2026-09-19T16:24:51.988Z","priority":"6","pid":"2830187","message":"FAIL 700: 'HTTP GET via SOCKS4 proxy' HTTP, HTTP GET, SOCKS4"}

data: {"time":"2026-09-19T16:24:51.989Z","priority":"6","pid":"2830187","message":"FAIL 701: 'HTTP GET via SOCKS5 proxy' HTTP, HTTP GET, SOCKS5"}

data: {"time":"2026-09-19T16:24:51.989Z","priority":"6","pid":"2830187","message":"FAIL 702: 'Attempt connect to non-listening HTTP server via SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen"}

data: {"time":"2026-09-19T16:24:51.990Z","priority":"6","pid":"2830187","message":"FAIL 703: 'Attempt connect to non-listening HTTP server via SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen"}

data: {"time":"2026-09-19T16:24:51.991Z","priority":"6","pid":"2830187","message":"FAIL 704: 'Attempt connect to non-listening SOCKS4 proxy' HTTP, SOCKS4, connect to non-listen"}

data: {"time":"2026-09-19T16:24:51.991Z","priority":"6","pid":"2830187","message":"FAIL 705: 'Attempt connect to non-listening SOCKS5 proxy' HTTP, SOCKS5, connect to non-listen"}

data: {"time":"2026-09-19T16:24:51.992Z","priority":"6","pid":"2830187","message":"FAIL 706: 'FTP dir list PASV via SOCKS4' FTP, PASV, LIST, SOCKS4"}

data: {"time":"2026-09-19T16:24:51.992Z","priority":"6","pid":"2830187","message":"FAIL 707: 'FTP dir list PASV via SOCKS5' FTP, PASV, LIST, SOCKS5"}

data: {"time":"2026-09-19T16:24:51.993Z","priority":"6","pid":"2830187","message":"FAIL 708: 'HTTP GET via SOCKS4 all_proxy' HTTP, HTTP GET, SOCKS4"}

data: {"time":"2026-09-19T16:24:51.993Z","priority":"6","pid":"2830187","message":"FAIL 709: 'HTTP GET via SOCKS5 set in http_proxy environment variable' HTTP, HTTP GET, SOCKS5, http_proxy"}

data: {"time":"2026-09-19T16:24:51.994Z","priority":"6","pid":"2830187","message":"FAIL 710: 'HTTP GET via SOCKS5 set with --proxy' HTTP, HTTP GET, SOCKS5"}

data: {"time":"2026-09-19T16:24:51.994Z","priority":"6","pid":"2830187","message":"FAIL 711: 'FTP fetch with all_proxy set to socks5' FTP, PASV, RETR, SOCKS5, all_proxy"}

data: {"time":"2026-09-19T16:24:52.020Z","priority":"6","pid":"2830187","message":"FAIL 712: 'FTP fetch with --proxy set to socks5://' FTP, PASV, RETR, SOCKS5"}

data: {"time":"2026-09-19T16:24:52.021Z","priority":"6","pid":"2830187","message":"FAIL 713: 'FTP fetch with --proxy set to socks5:// and with --connect-to' FTP, PASV, RETR, SOCKS5, CURLOPT_CONNECT_TO"}

data: {"time":"2026-09-19T16:24:52.022Z","priority":"6","pid":"2830187","message":"FAIL 714: 'FTP fetch with --proxy set to http:// and with --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, CURLOPT_CONNECT_TO"}

data: {"time":"2026-09-19T16:24:52.022Z","priority":"6","pid":"2830187","message":"FAIL 715: 'FTP fetch with --preproxy, --proxy and --connect-to' FTP, PASV, RETR, HTTP, HTTP CONNECT, proxytunnel, SOCKS5, CURLOPT_CONNECT_TO"}

data: {"time":"2026-09-19T16:24:52.022Z","priority":"6","pid":"2830187","message":"FAIL 716: 'SOCKS5 proxy with too long username' HTTP, SOCKS5, all_proxy"}

data: {"time":"2026-09-19T16:24:52.023Z","priority":"6","pid":"2830187","message":"FAIL 717: 'SOCKS5 proxy auth' HTTP, SOCKS5, all_proxy"}

data: {"time":"2026-09-19T16:24:52.024Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:52.024Z","priority":"6","pid":"2830187","message":"FAIL 719: 'HTTP GET with IPv6 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h"}

data: {"time":"2026-09-19T16:24:52.025Z","priority":"6","pid":"2830187","message":"FAIL 720: 'HTTP GET with IPv4 numerical via SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h"}

data: {"time":"2026-09-19T16:24:52.025Z","priority":"6","pid":"2830187","message":"FAIL 721: 'HTTP GET with hostname using SOCKS5h' HTTP, HTTP GET, SOCKS5, SOCKS5h"}

data: {"time":"2026-09-19T16:24:52.025Z","priority":"6","pid":"2830187","message":"FAIL 722: 'IPFS' IPFS"}

data: {"time":"2026-09-19T16:24:52.025Z","priority":"6","pid":"2830187","message":"FAIL 723: 'IPFS with malformed gateway URL (bad function argument error)' IPFS"}

data: {"time":"2026-09-19T16:24:52.026Z","priority":"6","pid":"2830187","message":"FAIL 724: 'IPFS with gateway URL from gateway file' IPFS"}

data: {"time":"2026-09-19T16:24:52.026Z","priority":"6","pid":"2830187","message":"FAIL 725: 'IPFS with malformed gateway URL from gateway file' IPFS"}

data: {"time":"2026-09-19T16:24:52.027Z","priority":"6","pid":"2830187","message":"FAIL 726: 'IPFS with no gateway URL (no environment or home file either)' IPFS"}

data: {"time":"2026-09-19T16:24:52.027Z","priority":"6","pid":"2830187","message":"FAIL 727: 'IPNS' IPNS"}

data: {"time":"2026-09-19T16:24:52.027Z","priority":"6","pid":"2830187","message":"FAIL 728: 'SOCKS5h with HTTP redirect to hostname too long' HTTP, HTTP GET, SOCKS5, SOCKS5h, followlocation"}

data: {"time":"2026-09-19T16:24:52.028Z","priority":"6","pid":"2830187","message":"FAIL 729: 'SOCKS4 with long proxy username' HTTP, HTTP GET, SOCKS4"}

data: {"time":"2026-09-19T16:24:52.028Z","priority":"6","pid":"2830187","message":"FAIL 730: 'IPFS arg gateway with path' IPFS"}

data: {"time":"2026-09-19T16:24:52.028Z","priority":"6","pid":"2830187","message":"FAIL 731: 'IPFS with gateway URL and path from gateway file' IPFS"}

data: {"time":"2026-09-19T16:24:52.029Z","priority":"6","pid":"2830187","message":"FAIL 732: 'IPFS with path' IPFS"}

data: {"time":"2026-09-19T16:24:52.029Z","priority":"6","pid":"2830187","message":"FAIL 733: 'IPFS with path and query args' IPFS"}

data: {"time":"2026-09-19T16:24:52.029Z","priority":"6","pid":"2830187","message":"FAIL 734: 'IPFS with path, query args and gateway with path' IPFS"}

data: {"time":"2026-09-19T16:24:52.031Z","priority":"6","pid":"2830187","message":"FAIL 735: 'IPNS with path, query args and gateway with path' IPFS"}

data: {"time":"2026-09-19T16:24:52.031Z","priority":"6","pid":"2830187","message":"FAIL 736: 'IPFS with IPFS_PATH set, no trailing slash' IPFS"}

data: {"time":"2026-09-19T16:24:52.031Z","priority":"6","pid":"2830187","message":"FAIL 737: 'IPFS with IPFS_PATH set, with trailing slash' IPFS"}

data: {"time":"2026-09-19T16:24:52.032Z","priority":"6","pid":"2830187","message":"FAIL 738: 'IPFS with IPFS_PATH, no gateway file' IPFS"}

data: {"time":"2026-09-19T16:24:52.032Z","priority":"6","pid":"2830187","message":"FAIL 739: 'IPNS path and query args for gw and IPFS URL (malformed gw URL)' IPFS"}

data: {"time":"2026-09-19T16:24:52.033Z","priority":"6","pid":"2830187","message":"FAIL 740: 'IPFS with gateway URL from multiline gateway file' IPFS"}

data: {"time":"2026-09-19T16:24:52.033Z","priority":"6","pid":"2830187","message":"FAIL 741: 'IPFS malformed gw URL from multiline gateway file, first line no URL' IPFS"}

data: {"time":"2026-09-19T16:24:52.034Z","priority":"6","pid":"2830187","message":"FAIL 742: 'SOCKS5-hostname with max length credentials and max hostname length' HTTP, SOCKS5, all_proxy"}

data: {"time":"2026-09-19T16:24:52.034Z","priority":"6","pid":"2830187","message":"FAIL 743: '--config with a 127-byte line' HTTP, --config"}

data: {"time":"2026-09-19T16:24:52.034Z","priority":"6","pid":"2830187","message":"FAIL 744: '--netrc-file with a 127-byte line' HTTP, --netrc-file, netrc"}

data: {"time":"2026-09-19T16:24:52.035Z","priority":"6","pid":"2830187","message":"FAIL 746: 'too large numerical value passed to -m' cmdline"}

data: {"time":"2026-09-19T16:24:52.035Z","priority":"6","pid":"2830187","message":"FAIL 747: 'Reject too many HTTP response headers' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.036Z","priority":"6","pid":"2830187","message":"FAIL 748: 'A --config file that uses -h and no URL' --config"}

data: {"time":"2026-09-19T16:24:52.036Z","priority":"6","pid":"2830187","message":"FAIL 749: 'HTTP CONNECT with proxy returning 400 and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.037Z","priority":"6","pid":"2830187","message":"FAIL 750: 'HTTP CONNECT with proxy returning HTML and closing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.037Z","priority":"6","pid":"2830187","message":"FAIL 751: 'multi - add many easy handles' MULTI"}

data: {"time":"2026-09-19T16:24:52.038Z","priority":"6","pid":"2830187","message":"FAIL 752: '--retry and -f on an HTTP 404 response' HTTP, HTTP GET, -f, --retry"}

data: {"time":"2026-09-19T16:24:52.038Z","priority":"6","pid":"2830187","message":"FAIL 754: 'FTP list with quote ops' FTP, list, post-quote, pre-quote"}

data: {"time":"2026-09-19T16:24:52.039Z","priority":"6","pid":"2830187","message":"FAIL 755: 'netrc with NETRC pointing out the file' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:52.039Z","priority":"6","pid":"2830187","message":"FAIL 756: 'mix --output and --out-null' HTTP"}

data: {"time":"2026-09-19T16:24:52.039Z","priority":"6","pid":"2830187","message":"FAIL 757: 'MIME parts reused as a child part, using data_cb' MIME"}

data: {"time":"2026-09-19T16:24:52.040Z","priority":"6","pid":"2830187","message":"FAIL 759: 'glob '{,'' globbing"}

data: {"time":"2026-09-19T16:24:52.040Z","priority":"6","pid":"2830187","message":"FAIL 760: 'more cmdline options than URLs and --next' globbing"}

data: {"time":"2026-09-19T16:24:52.040Z","priority":"6","pid":"2830187","message":"FAIL 761: 'too many {} globs' globbing"}

data: {"time":"2026-09-19T16:24:52.041Z","priority":"6","pid":"2830187","message":"FAIL 762: 'HTTP GET with --remote-time with file date from 1940' HTTP, HTTP GET, --remote-time"}

data: {"time":"2026-09-19T16:24:52.042Z","priority":"6","pid":"2830187","message":"FAIL 763: 'Unicode hostname ending up in a blank name' IDN"}

data: {"time":"2026-09-19T16:24:52.042Z","priority":"6","pid":"2830187","message":"FAIL 764: '-w with multiple header output' HTTP, HTTP GET, -w, %header"}

data: {"time":"2026-09-19T16:24:52.043Z","priority":"6","pid":"2830187","message":"FAIL 765: '-w with multiple header output using } in separator' HTTP, HTTP GET, -w, %header"}

data: {"time":"2026-09-19T16:24:52.044Z","priority":"6","pid":"2830187","message":"FAIL 767: 'HTTP with two Content-Length response header fields same size' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.044Z","priority":"6","pid":"2830187","message":"FAIL 768: 'HTTP with letters after the number in Content-Length' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.045Z","priority":"6","pid":"2830187","message":"FAIL 769: 'HTTP with space after Content-Length number' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.045Z","priority":"6","pid":"2830187","message":"FAIL 770: 'HTTP with Content-Length headers using comma separated list' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.046Z","priority":"6","pid":"2830187","message":"FAIL 771: 'HTTP with two Content-Length headers using different sizes' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.046Z","priority":"6","pid":"2830187","message":"FAIL 772: 'HTTP with two Location: headers triggers error' HTTP, HTTP GET, Location"}

data: {"time":"2026-09-19T16:24:52.047Z","priority":"6","pid":"2830187","message":"FAIL 773: 'HTTP with two identical Location: headers triggers no error' HTTP, HTTP GET, Location"}

data: {"time":"2026-09-19T16:24:52.047Z","priority":"6","pid":"2830187","message":"FAIL 774: 'config file recursively including itself' --config"}

data: {"time":"2026-09-19T16:24:52.048Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:52.048Z","priority":"6","pid":"2830187","message":"FAIL 779: 'HTTP --oauth2-bearer redirects to IMAP' HTTP, IMAP, oauth2-bearer, followlocation, --resolve"}

data: {"time":"2026-09-19T16:24:52.049Z","priority":"6","pid":"2830187","message":"FAIL 784: '--variable with a file byte range' HTTP, --variable"}

data: {"time":"2026-09-19T16:24:52.049Z","priority":"6","pid":"2830187","message":"FAIL 785: '--variable with a file byte range without end' HTTP, --variable"}

data: {"time":"2026-09-19T16:24:52.050Z","priority":"6","pid":"2830187","message":"FAIL 786: '--variable with a file byte range, reading from stdin' HTTP, --variable"}

data: {"time":"2026-09-19T16:24:52.050Z","priority":"6","pid":"2830187","message":"FAIL 787: '--variable with a file byte range, bad range' HTTP, --variable"}

data: {"time":"2026-09-19T16:24:52.051Z","priority":"6","pid":"2830187","message":"FAIL 788: '--variable with a file and single-byte byte range' HTTP, --variable"}

data: {"time":"2026-09-19T16:24:52.051Z","priority":"6","pid":"2830187","message":"FAIL 789: '--variable with a file and byte range out of file' HTTP, --variable"}

data: {"time":"2026-09-19T16:24:52.051Z","priority":"6","pid":"2830187","message":"FAIL 790: '--variable with a byte range using plain assign' HTTP, --variable"}

data: {"time":"2026-09-19T16:24:52.052Z","priority":"6","pid":"2830187","message":"FAIL 791: '--variable with a byte range using plain assign, out of range' HTTP, --variable"}

data: {"time":"2026-09-19T16:24:52.052Z","priority":"6","pid":"2830187","message":"FAIL 792: '.netrc with embedded NULL byte' netrc, FTP"}

data: {"time":"2026-09-19T16:24:52.053Z","priority":"6","pid":"2830187","message":"FAIL 793: '.netrc with embedded NULL byte, with quoted token' netrc, FTP"}

data: {"time":"2026-09-19T16:24:52.053Z","priority":"6","pid":"2830187","message":"FAIL 794: '--follow + --location with custom POST method, 302 => GET' --follow, --location"}

data: {"time":"2026-09-19T16:24:52.054Z","priority":"6","pid":"2830187","message":"FAIL 795: 'HTTP with credentials redirects to IMAP' HTTP, IMAP, followlocation, --resolve"}

data: {"time":"2026-09-19T16:24:52.054Z","priority":"6","pid":"2830187","message":"FAIL 796: '--follow with custom POST method, 302 => GET' --follow, --location"}

data: {"time":"2026-09-19T16:24:52.055Z","priority":"6","pid":"2830187","message":"FAIL 797: '--follow with custom POST method, 308 => custom' --follow, --location"}

data: {"time":"2026-09-19T16:24:52.055Z","priority":"6","pid":"2830187","message":"FAIL 798: 'HTTP cookies in a folded header' HTTP, HTTP GET, cookies, cookiejar"}

data: {"time":"2026-09-19T16:24:52.055Z","priority":"6","pid":"2830187","message":"FAIL 799: 'IMAP with --login-options 'AUTH=+LOGIN'' IMAP, Clear Text, SASL AUTH +LOGIN"}

data: {"time":"2026-09-19T16:24:52.056Z","priority":"6","pid":"2830187","message":"FAIL 800: 'IMAP FETCH message with MAILINDEX' IMAP, Clear Text, FETCH"}

data: {"time":"2026-09-19T16:24:52.056Z","priority":"6","pid":"2830187","message":"FAIL 801: 'IMAP FETCH message by MAILINDEX and SECTION' IMAP, Clear Text, FETCH"}

data: {"time":"2026-09-19T16:24:52.057Z","priority":"6","pid":"2830187","message":"FAIL 802: 'IMAP SELECT UIDVALIDITY Success' IMAP, Clear Text, SELECT, UIDVALIDITY"}

data: {"time":"2026-09-19T16:24:52.057Z","priority":"6","pid":"2830187","message":"FAIL 803: 'IMAP SELECT UIDVALIDITY Failure' IMAP, Clear Text, SELECT, UIDVALIDITY"}

data: {"time":"2026-09-19T16:24:52.058Z","priority":"6","pid":"2830187","message":"FAIL 804: 'IMAP does not perform SELECT if reusing the same mailbox' IMAP, Clear Text, SELECT"}

data: {"time":"2026-09-19T16:24:52.058Z","priority":"6","pid":"2830187","message":"FAIL 805: 'IMAP APPEND message' IMAP, Clear Text, APPEND, UPLOAD"}

data: {"time":"2026-09-19T16:24:52.058Z","priority":"6","pid":"2830187","message":"FAIL 806: 'IMAP LIST mailbox' IMAP, Clear Text, LIST"}

data: {"time":"2026-09-19T16:24:52.059Z","priority":"6","pid":"2830187","message":"FAIL 807: 'IMAP LSUB mailbox' IMAP, Clear Text, LSUB, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.059Z","priority":"6","pid":"2830187","message":"FAIL 808: 'IMAP EXAMINE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, EXAMINE, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.060Z","priority":"6","pid":"2830187","message":"FAIL 809: 'IMAP mailbox STATUS (CUSTOMREQUEST)' IMAP, Clear Text, STATUS, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.060Z","priority":"6","pid":"2830187","message":"FAIL 810: 'IMAP SEARCH for NEW messages' IMAP, Clear Text, SEARCH"}

data: {"time":"2026-09-19T16:24:52.061Z","priority":"6","pid":"2830187","message":"FAIL 811: 'IMAP CREATE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CREATE, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.061Z","priority":"6","pid":"2830187","message":"FAIL 812: 'IMAP DELETE mailbox (CUSTOMREQUEST)' IMAP, Clear Text, DELETE, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.061Z","priority":"6","pid":"2830187","message":"FAIL 813: 'IMAP RENAME mailbox (CUSTOMREQUEST)' IMAP, Clear Text, RENAME, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.062Z","priority":"6","pid":"2830187","message":"FAIL 814: 'IMAP CHECK mailbox (CUSTOMREQUEST)' IMAP, Clear Text, CHECK, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.062Z","priority":"6","pid":"2830187","message":"FAIL 815: 'IMAP STORE - delete message (CUSTOMREQUEST)' IMAP, Clear Text, STORE, CLOSE, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.063Z","priority":"6","pid":"2830187","message":"FAIL 816: 'IMAP STORE - delete message with confirmation (CUSTOMREQUEST)' IMAP, Clear Text, STORE, EXPUNGE, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.063Z","priority":"6","pid":"2830187","message":"FAIL 817: 'IMAP COPY message to mailbox (CUSTOMREQUEST)' IMAP, Clear Text, COPY, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.064Z","priority":"6","pid":"2830187","message":"FAIL 818: 'IMAP NOOP (CUSTOMREQUEST)' IMAP, Clear Text, NOOP, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.064Z","priority":"6","pid":"2830187","message":"FAIL 819: 'IMAP plain authentication' IMAP, SASL, SASL AUTH PLAIN, RFC4616"}

data: {"time":"2026-09-19T16:24:52.065Z","priority":"6","pid":"2830187","message":"FAIL 820: 'IMAP login authentication' IMAP, SASL, SASL AUTH LOGIN"}

data: {"time":"2026-09-19T16:24:52.066Z","priority":"6","pid":"2830187","message":"FAIL 821: 'IMAP CRAM-MD5 authentication' IMAP, SASL, SASL AUTH CRAM-MD5, RFC2195"}

data: {"time":"2026-09-19T16:24:52.066Z","priority":"6","pid":"2830187","message":"FAIL 824: 'IMAP OAuth 2.0 (XOAUTH2) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749"}

data: {"time":"2026-09-19T16:24:52.066Z","priority":"6","pid":"2830187","message":"FAIL 825: 'IMAP plain authentication with initial response' IMAP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616"}

data: {"time":"2026-09-19T16:24:52.067Z","priority":"6","pid":"2830187","message":"FAIL 826: 'IMAP login authentication with initial response' IMAP, SASL, SASL AUTH LOGIN, SASL-IR"}

data: {"time":"2026-09-19T16:24:52.067Z","priority":"6","pid":"2830187","message":"FAIL 828: 'IMAP OAuth 2.0 (XOAUTH2) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749"}

data: {"time":"2026-09-19T16:24:52.068Z","priority":"6","pid":"2830187","message":"FAIL 829: 'IMAP with URL-encoded CR LF in the URL' IMAP, CRLF-in-URL"}

data: {"time":"2026-09-19T16:24:52.099Z","priority":"6","pid":"2830187","message":"FAIL 830: 'IMAP CRAM-MD5 graceful cancellation' IMAP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195"}

data: {"time":"2026-09-19T16:24:52.100Z","priority":"6","pid":"2830187","message":"FAIL 833: 'IMAP CRAM-MD5 authentication with SASL downgrade' IMAP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195"}

data: {"time":"2026-09-19T16:24:52.100Z","priority":"6","pid":"2830187","message":"FAIL 837: 'IMAP external authentication' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422"}

data: {"time":"2026-09-19T16:24:52.100Z","priority":"6","pid":"2830187","message":"FAIL 838: 'IMAP external authentication without credentials' IMAP, SASL, SASL AUTH EXTERNAL, RFC4422"}

data: {"time":"2026-09-19T16:24:52.101Z","priority":"6","pid":"2830187","message":"FAIL 839: 'IMAP external authentication with initial response' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422"}

data: {"time":"2026-09-19T16:24:52.102Z","priority":"6","pid":"2830187","message":"FAIL 840: 'IMAP external authentication with initial response without credentials' IMAP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422"}

data: {"time":"2026-09-19T16:24:52.102Z","priority":"6","pid":"2830187","message":"FAIL 841: 'IMAP custom request does not check continuation data' IMAP, Clear Text, FETCH, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.103Z","priority":"6","pid":"2830187","message":"FAIL 842: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.103Z","priority":"6","pid":"2830187","message":"FAIL 843: 'IMAP OAuth 2.0 (OAUTHBEARER) authentication with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.104Z","priority":"6","pid":"2830187","message":"FAIL 844: 'IMAP OAuth 2.0 (OAUTHBEARER) failure as continuation' IMAP, SASL, SASL AUTH OAUTH2, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.105Z","priority":"6","pid":"2830187","message":"FAIL 845: 'IMAP OAuth failure as continuation with initial response' IMAP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.106Z","priority":"6","pid":"2830187","message":"FAIL 846: 'IMAP PREAUTH response' IMAP"}

data: {"time":"2026-09-19T16:24:52.106Z","priority":"6","pid":"2830187","message":"FAIL 847: 'IMAP FETCH message with UID' IMAP, Clear Text, FETCH"}

data: {"time":"2026-09-19T16:24:52.106Z","priority":"6","pid":"2830187","message":"FAIL 848: 'IMAP plain authentication with alternative authorization identity' IMAP, SASL, SASL AUTH PLAIN, RFC4616"}

data: {"time":"2026-09-19T16:24:52.106Z","priority":"6","pid":"2830187","message":"FAIL 849: 'IMAP plain auth with alt authorization identity (Not authorized)' IMAP, SASL, SASL AUTH PLAIN, RFC4616"}

data: {"time":"2026-09-19T16:24:52.107Z","priority":"6","pid":"2830187","message":"FAIL 850: 'POP3 RETR message' POP3, Clear Text, RETR"}

data: {"time":"2026-09-19T16:24:52.107Z","priority":"6","pid":"2830187","message":"FAIL 851: 'POP3 LIST one message' POP3, Clear Text, LIST"}

data: {"time":"2026-09-19T16:24:52.108Z","priority":"6","pid":"2830187","message":"FAIL 852: 'POP3 LIST invalid message' POP3, Clear Text, LIST"}

data: {"time":"2026-09-19T16:24:52.108Z","priority":"6","pid":"2830187","message":"FAIL 853: 'POP3 LIST messages from *SLOW* server' POP3, Clear Text, LIST, SLOWDOWN"}

data: {"time":"2026-09-19T16:24:52.108Z","priority":"6","pid":"2830187","message":"FAIL 854: 'POP3 LIST no messages available' POP3, Clear Text, LIST"}

data: {"time":"2026-09-19T16:24:52.109Z","priority":"6","pid":"2830187","message":"FAIL 855: 'POP3 RETR invalid message' POP3, Clear Text, RETR"}

data: {"time":"2026-09-19T16:24:52.109Z","priority":"6","pid":"2830187","message":"FAIL 856: 'POP3 invalid login' POP3, Clear Text"}

data: {"time":"2026-09-19T16:24:52.110Z","priority":"6","pid":"2830187","message":"FAIL 857: 'POP3 RETR message with dot-prefixed line' POP3, Clear Text, RETR"}

data: {"time":"2026-09-19T16:24:52.110Z","priority":"6","pid":"2830187","message":"FAIL 858: 'POP3 DELE message (CUSTOMREQUEST)' POP3, Clear Text, DELE, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.110Z","priority":"6","pid":"2830187","message":"FAIL 859: 'POP3 STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.111Z","priority":"6","pid":"2830187","message":"FAIL 860: 'POP3 NOOP (CUSTOMREQUEST)' POP3, Clear Text, NOOP, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.111Z","priority":"6","pid":"2830187","message":"FAIL 861: 'POP3 UIDL (CUSTOMREQUEST)' POP3, Clear Text, UIDL, CUSTOMREQUEST, RFC2449"}

data: {"time":"2026-09-19T16:24:52.112Z","priority":"6","pid":"2830187","message":"FAIL 862: 'POP3 retrieve message header (CUSTOMREQUEST)' POP3, Clear Text, TOP, CUSTOMREQUEST, RFC2449"}

data: {"time":"2026-09-19T16:24:52.112Z","priority":"6","pid":"2830187","message":"FAIL 863: 'POP3 RSET (CUSTOMREQUEST)' POP3, Clear Text, RSET, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.113Z","priority":"6","pid":"2830187","message":"FAIL 864: 'POP3 APOP authentication' POP3, APOP"}

data: {"time":"2026-09-19T16:24:52.113Z","priority":"6","pid":"2830187","message":"FAIL 865: 'POP3 plain authentication' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034"}

data: {"time":"2026-09-19T16:24:52.113Z","priority":"6","pid":"2830187","message":"FAIL 866: 'POP3 login authentication' POP3, SASL, SASL AUTH LOGIN, RFC1734, RFC5034"}

data: {"time":"2026-09-19T16:24:52.114Z","priority":"6","pid":"2830187","message":"FAIL 867: 'POP3 CRAM-MD5 authentication' POP3, SASL, SASL AUTH CRAM-MD5, RFC1734, RFC2195, RFC5034"}

data: {"time":"2026-09-19T16:24:52.114Z","priority":"6","pid":"2830187","message":"FAIL 870: 'POP3 OAuth 2.0 (XOAUTH2) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749"}

data: {"time":"2026-09-19T16:24:52.115Z","priority":"6","pid":"2830187","message":"FAIL 871: 'POP3 plain authentication with initial response' POP3, SASL, SASL AUTH PLAIN, SASL-IR, RFC1734, RFC4616, RFC5034"}

data: {"time":"2026-09-19T16:24:52.115Z","priority":"6","pid":"2830187","message":"FAIL 872: 'POP3 login authentication with initial response' POP3, SASL, SASL AUTH LOGIN, SASL-IR, RFC1734, RFC5034"}

data: {"time":"2026-09-19T16:24:52.116Z","priority":"6","pid":"2830187","message":"FAIL 874: 'POP3 OAuth 2.0 (XOAUTH2) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749"}

data: {"time":"2026-09-19T16:24:52.116Z","priority":"6","pid":"2830187","message":"FAIL 875: 'POP3 with URL-encoded CR LF in the URL' POP3, CRLF-in-URL"}

data: {"time":"2026-09-19T16:24:52.117Z","priority":"6","pid":"2830187","message":"FAIL 876: 'POP3 CRAM-MD5 graceful cancellation' POP3, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC1734, RFC2195, RFC5034"}

data: {"time":"2026-09-19T16:24:52.117Z","priority":"6","pid":"2830187","message":"FAIL 879: 'POP3 CRAM-MD5 authentication with SASL downgrade' POP3, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC1734, RFC2195, RFC5034"}

data: {"time":"2026-09-19T16:24:52.118Z","priority":"6","pid":"2830187","message":"FAIL 883: 'POP3 external authentication' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034"}

data: {"time":"2026-09-19T16:24:52.119Z","priority":"6","pid":"2830187","message":"FAIL 884: 'POP3 external authentication without credentials' POP3, SASL, SASL AUTH EXTERNAL, RFC1734, RFC4422, RFC5034"}

data: {"time":"2026-09-19T16:24:52.119Z","priority":"6","pid":"2830187","message":"FAIL 885: 'POP3 external authentication with initial response' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034"}

data: {"time":"2026-09-19T16:24:52.120Z","priority":"6","pid":"2830187","message":"FAIL 886: 'POP3 external authentication with initial response without credentials' POP3, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC1734, RFC4422, RFC5034"}

data: {"time":"2026-09-19T16:24:52.121Z","priority":"6","pid":"2830187","message":"FAIL 887: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.122Z","priority":"6","pid":"2830187","message":"FAIL 888: 'POP3 OAuth 2.0 (OAUTHBEARER) authentication with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.122Z","priority":"6","pid":"2830187","message":"FAIL 889: 'POP3 OAuth 2.0 (OAUTHBEARER) failure as continuation' POP3, SASL, SASL AUTH OAUTH2, RFC1734, RFC5034, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.122Z","priority":"6","pid":"2830187","message":"FAIL 890: 'POP3 OAuth failure as continuation with initial response' POP3, SASL, SASL AUTH OAUTH2, SASL-IR, RFC1734, RFC5034, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.123Z","priority":"6","pid":"2830187","message":"FAIL 891: 'POP3 with short authentication response' POP3"}

data: {"time":"2026-09-19T16:24:52.124Z","priority":"6","pid":"2830187","message":"FAIL 892: 'POP3 plain authentication with alternative authorization identity' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034"}

data: {"time":"2026-09-19T16:24:52.124Z","priority":"6","pid":"2830187","message":"FAIL 893: 'POP3 plain auth with alt authorization identity (Not authorized)' POP3, SASL, SASL AUTH PLAIN, RFC1734, RFC4616, RFC5034"}

data: {"time":"2026-09-19T16:24:52.125Z","priority":"6","pid":"2830187","message":"FAIL 894: 'POP3 with CR in username' POP3, Clear Text, RETR"}

data: {"time":"2026-09-19T16:24:52.125Z","priority":"6","pid":"2830187","message":"FAIL 895: 'IMAP with --login-options 'AUTH=*'' IMAP, Clear Text, FETCH, --login-options"}

data: {"time":"2026-09-19T16:24:52.125Z","priority":"6","pid":"2830187","message":"FAIL 896: 'IMAP with --login-options 'AUTH=dummy' (failing)' IMAP, Clear Text, FETCH, --login-options"}

data: {"time":"2026-09-19T16:24:52.126Z","priority":"6","pid":"2830187","message":"FAIL 897: 'IMAP and envelope meta data after body transfer' IMAP, Clear Text, FETCH"}

data: {"time":"2026-09-19T16:24:52.126Z","priority":"6","pid":"2830187","message":"FAIL 898: 'HTTP with custom auth and cookies redirected to HTTP on a diff port' HTTP, HTTP proxy, --location, Authorization, cookies"}

data: {"time":"2026-09-19T16:24:52.127Z","priority":"6","pid":"2830187","message":"FAIL 899: 'URL with credentials redirects to URL with different credentials' HTTP, HTTP GET, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:52.127Z","priority":"6","pid":"2830187","message":"FAIL 900: 'SMTP' SMTP"}

data: {"time":"2026-09-19T16:24:52.128Z","priority":"6","pid":"2830187","message":"FAIL 901: 'SMTP with CRLF-dot-CRLF in data' SMTP"}

data: {"time":"2026-09-19T16:24:52.128Z","priority":"6","pid":"2830187","message":"FAIL 902: 'RFC821-only SMTP server (EHLO not supported)' SMTP, SMTP HELO, RFC821"}

data: {"time":"2026-09-19T16:24:52.128Z","priority":"6","pid":"2830187","message":"FAIL 903: 'SMTP plain authentication' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954"}

data: {"time":"2026-09-19T16:24:52.128Z","priority":"6","pid":"2830187","message":"FAIL 904: 'SMTP login authentication' SMTP, SASL, SASL AUTH LOGIN, RFC4954"}

data: {"time":"2026-09-19T16:24:52.129Z","priority":"6","pid":"2830187","message":"FAIL 905: 'SMTP CRAM-MD5 authentication' SMTP, SASL, SASL AUTH CRAM-MD5, RFC2195, RFC4954"}

data: {"time":"2026-09-19T16:24:52.129Z","priority":"6","pid":"2830187","message":"FAIL 908: 'SMTP OAuth 2.0 (XOAUTH2) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749"}

data: {"time":"2026-09-19T16:24:52.130Z","priority":"6","pid":"2830187","message":"FAIL 909: 'SMTP without SIZE support' SMTP"}

data: {"time":"2026-09-19T16:24:52.130Z","priority":"6","pid":"2830187","message":"FAIL 910: 'SMTP without terminating CRLF' SMTP"}

data: {"time":"2026-09-19T16:24:52.130Z","priority":"6","pid":"2830187","message":"FAIL 911: 'SMTP with no mail data' SMTP"}

data: {"time":"2026-09-19T16:24:52.131Z","priority":"6","pid":"2830187","message":"FAIL 912: 'SMTP with SIZE support' SMTP, SIZE"}

data: {"time":"2026-09-19T16:24:52.131Z","priority":"6","pid":"2830187","message":"FAIL 913: 'SMTP with large message SIZE' SMTP, SIZE"}

data: {"time":"2026-09-19T16:24:52.131Z","priority":"6","pid":"2830187","message":"FAIL 914: 'SMTP invalid --mail-from' SMTP"}

data: {"time":"2026-09-19T16:24:52.131Z","priority":"6","pid":"2830187","message":"FAIL 915: 'SMTP without --mail-from' SMTP"}

data: {"time":"2026-09-19T16:24:52.131Z","priority":"6","pid":"2830187","message":"FAIL 916: 'SMTP with invalid --mail-rcpt' SMTP"}

data: {"time":"2026-09-19T16:24:52.132Z","priority":"6","pid":"2830187","message":"FAIL 917: 'SMTP with multiple --mail-rcpt' SMTP"}

data: {"time":"2026-09-19T16:24:52.132Z","priority":"6","pid":"2830187","message":"FAIL 918: 'SMTP with multiple and invalid --mail-rcpt' SMTP"}

data: {"time":"2026-09-19T16:24:52.133Z","priority":"6","pid":"2830187","message":"FAIL 919: 'SMTP plain authentication with initial response' SMTP, SASL, SASL AUTH PLAIN, SASL-IR, RFC4616, RFC4954"}

data: {"time":"2026-09-19T16:24:52.133Z","priority":"6","pid":"2830187","message":"FAIL 920: 'SMTP login authentication with initial response' SMTP, SASL, SASL AUTH LOGIN, SASL-IR, RFC4954"}

data: {"time":"2026-09-19T16:24:52.134Z","priority":"6","pid":"2830187","message":"FAIL 922: 'SMTP OAuth 2.0 (XOAUTH2) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749"}

data: {"time":"2026-09-19T16:24:52.134Z","priority":"6","pid":"2830187","message":"FAIL 923: 'SMTP VRFY' SMTP, VRFY"}

data: {"time":"2026-09-19T16:24:52.134Z","priority":"6","pid":"2830187","message":"FAIL 924: 'SMTP ambiguous VRFY' SMTP, VRFY"}

data: {"time":"2026-09-19T16:24:52.135Z","priority":"6","pid":"2830187","message":"FAIL 925: 'SMTP external VRFY' SMTP, VRFY"}

data: {"time":"2026-09-19T16:24:52.135Z","priority":"6","pid":"2830187","message":"FAIL 926: 'SMTP unknown user VRFY' SMTP, VRFY"}

data: {"time":"2026-09-19T16:24:52.136Z","priority":"6","pid":"2830187","message":"FAIL 927: 'SMTP mailing list EXPN (CUSTOMREQUEST)' SMTP, EXPN, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.136Z","priority":"6","pid":"2830187","message":"FAIL 928: 'SMTP HELP' SMTP, HELP"}

data: {"time":"2026-09-19T16:24:52.137Z","priority":"6","pid":"2830187","message":"FAIL 929: 'SMTP NOOP (CUSTOMREQUEST)' SMTP, NOOP, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.137Z","priority":"6","pid":"2830187","message":"FAIL 930: 'SMTP RSET (CUSTOMREQUEST)' SMTP, RSET, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.137Z","priority":"6","pid":"2830187","message":"FAIL 931: 'SMTP with URL-encoded CR LF in the URL' SMTP, CRLF-in-URL"}

data: {"time":"2026-09-19T16:24:52.138Z","priority":"6","pid":"2830187","message":"FAIL 932: 'SMTP CRAM-MD5 graceful cancellation' SMTP, SASL, SASL AUTH CRAM-MD5, SASL CANCELLATION, RFC2195, RFC4954"}

data: {"time":"2026-09-19T16:24:52.138Z","priority":"6","pid":"2830187","message":"FAIL 935: 'SMTP CRAM-MD5 authentication with SASL downgrade' SMTP, SASL, SASL AUTH CRAM-MD5, SASL AUTH PLAIN, SASL DOWNGRADE, RFC2195, RFC4954"}

data: {"time":"2026-09-19T16:24:52.139Z","priority":"6","pid":"2830187","message":"FAIL 939: 'RFC821-only SMTP with username and password' SMTP, RFC821"}

data: {"time":"2026-09-19T16:24:52.139Z","priority":"6","pid":"2830187","message":"FAIL 940: 'SMTP with username and password but no AUTH capability' SMTP"}

data: {"time":"2026-09-19T16:24:52.139Z","priority":"6","pid":"2830187","message":"FAIL 941: 'SMTP with --crlf' SMTP, --crlf"}

data: {"time":"2026-09-19T16:24:52.140Z","priority":"6","pid":"2830187","message":"FAIL 942: 'SMTP external authentication' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954"}

data: {"time":"2026-09-19T16:24:52.140Z","priority":"6","pid":"2830187","message":"FAIL 943: 'SMTP external authentication without credentials' SMTP, SASL, SASL AUTH EXTERNAL, RFC4422, RFC4954"}

data: {"time":"2026-09-19T16:24:52.141Z","priority":"6","pid":"2830187","message":"FAIL 944: 'SMTP external authentication with initial response' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954"}

data: {"time":"2026-09-19T16:24:52.166Z","priority":"6","pid":"2830187","message":"FAIL 945: 'SMTP external authentication with initial response without credentials' SMTP, SASL, SASL AUTH EXTERNAL, SASL-IR, RFC4422, RFC4954"}

data: {"time":"2026-09-19T16:24:52.167Z","priority":"6","pid":"2830187","message":"FAIL 946: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.171Z","priority":"6","pid":"2830187","message":"FAIL 947: 'SMTP OAuth 2.0 (OAUTHBEARER) authentication with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.171Z","priority":"6","pid":"2830187","message":"FAIL 948: 'SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation' SMTP, SASL, SASL AUTH OAUTH2, RFC4954, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.172Z","priority":"6","pid":"2830187","message":"FAIL 949: 'SMTP OAuth failure as continuation with initial response' SMTP, SASL, SASL AUTH OAUTH2, SASL-IR, RFC4954, RFC6749, RFC7628"}

data: {"time":"2026-09-19T16:24:52.174Z","priority":"6","pid":"2830187","message":"FAIL 950: 'SMTP VRFY with custom request' SMTP, VRFY, --request"}

data: {"time":"2026-09-19T16:24:52.176Z","priority":"6","pid":"2830187","message":"FAIL 951: 'SMTP data with dot as first character' SMTP"}

data: {"time":"2026-09-19T16:24:52.176Z","priority":"6","pid":"2830187","message":"FAIL 952: 'SMTP data with single dot-only line' SMTP"}

data: {"time":"2026-09-19T16:24:52.177Z","priority":"6","pid":"2830187","message":"FAIL 953: 'SMTP plain authentication with alternative authorization identity' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954"}

data: {"time":"2026-09-19T16:24:52.178Z","priority":"6","pid":"2830187","message":"FAIL 954: 'SMTP plain auth with alt authorization identity (Not authorized)' SMTP, SASL, SASL AUTH PLAIN, RFC4616, RFC4954"}

data: {"time":"2026-09-19T16:24:52.179Z","priority":"6","pid":"2830187","message":"FAIL 955: 'SMTP without SMTPUTF8 support - UTF-8 based sender (local part only)' SMTP"}

data: {"time":"2026-09-19T16:24:52.180Z","priority":"6","pid":"2830187","message":"FAIL 956: 'SMTP without SMTPUTF8 support - UTF-8 based recipient (local part)' SMTP"}

data: {"time":"2026-09-19T16:24:52.181Z","priority":"6","pid":"2830187","message":"FAIL 957: 'SMTP VRFY without SMTPUTF8 support - UTF-8 recipient (local part only)' SMTP, VRFY"}

data: {"time":"2026-09-19T16:24:52.182Z","priority":"6","pid":"2830187","message":"FAIL 958: 'SMTP external VRFY without SMTPUTF8 - UTF-8 recipient (local part)' SMTP, VRFY"}

data: {"time":"2026-09-19T16:24:52.185Z","priority":"6","pid":"2830187","message":"FAIL 962: 'SMTP without SMTPUTF8 support - UTF-8 based sender, with IDN' SMTP, IDN"}

data: {"time":"2026-09-19T16:24:52.185Z","priority":"6","pid":"2830187","message":"FAIL 963: 'SMTP without SMTPUTF8 support (IDN) - UTF-8 recipient (host part only)' SMTP, IDN"}

data: {"time":"2026-09-19T16:24:52.186Z","priority":"6","pid":"2830187","message":"FAIL 964: 'SMTP external VRFY w/o SMTPUTF8 (IDN) - UTF-8 recipient (host part)' SMTP, VRFY, IDN"}

data: {"time":"2026-09-19T16:24:52.186Z","priority":"6","pid":"2830187","message":"FAIL 965: 'SMTP with SMTPUTF8 support - UTF-8 based sender' SMTP, IDN"}

data: {"time":"2026-09-19T16:24:52.188Z","priority":"6","pid":"2830187","message":"FAIL 966: 'SMTP with SMTPUTF8 support - UTF-8 based recipient' SMTP, IDN"}

data: {"time":"2026-09-19T16:24:52.188Z","priority":"6","pid":"2830187","message":"FAIL 967: 'SMTP external VRFY with SMTPUTF8 support' SMTP, VRFY, IDN"}

data: {"time":"2026-09-19T16:24:52.189Z","priority":"6","pid":"2830187","message":"FAIL 968: 'SMTP VRFY with SMTPUTF8 support' SMTP, VRFY, IDN"}

data: {"time":"2026-09-19T16:24:52.190Z","priority":"6","pid":"2830187","message":"FAIL 969: 'SMTP mailing list EXPN (CUSTOMREQUEST) with SMTPUTF8 support' SMTP, EXPN, CUSTOMREQUEST, IDN"}

data: {"time":"2026-09-19T16:24:52.191Z","priority":"6","pid":"2830187","message":"FAIL 973: 'HTTP with auth redirected to FTP w/o auth' HTTP, FTP, --location"}

data: {"time":"2026-09-19T16:24:52.192Z","priority":"6","pid":"2830187","message":"FAIL 974: 'HTTP with auth redirected to HTTP on a diff port w/o auth' HTTP, HTTP proxy, --location"}

data: {"time":"2026-09-19T16:24:52.193Z","priority":"6","pid":"2830187","message":"FAIL 975: 'HTTP with auth redirected to FTP allowing auth to continue' HTTP, FTP, --location-trusted"}

data: {"time":"2026-09-19T16:24:52.196Z","priority":"6","pid":"2830187","message":"FAIL 976: 'HTTP with auth redirected to HTTP on a diff port --location-trusted' HTTP, HTTP proxy, --location-trusted"}

data: {"time":"2026-09-19T16:24:52.197Z","priority":"6","pid":"2830187","message":"FAIL 977: 'URL with trailing dot and receiving a cookie for the TLD with dot' HTTP, HTTP proxy, cookies"}

data: {"time":"2026-09-19T16:24:52.198Z","priority":"6","pid":"2830187","message":"FAIL 978: 'verify that --stderr works for -w's stderr as well' HTTP, --stderr"}

data: {"time":"2026-09-19T16:24:52.199Z","priority":"6","pid":"2830187","message":"FAIL 979: '-u with redirect to absolute URL using same origin and auth' HTTP, HTTP GET, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:52.200Z","priority":"6","pid":"2830187","message":"FAIL 980: 'SMTP STARTTLS pipelined server response' SMTP, STARTTLS"}

data: {"time":"2026-09-19T16:24:52.201Z","priority":"6","pid":"2830187","message":"FAIL 981: 'IMAP STARTTLS pipelined server response' IMAP, STARTTLS"}

data: {"time":"2026-09-19T16:24:52.203Z","priority":"6","pid":"2830187","message":"FAIL 982: 'POP3 STARTTLS pipelined server response' POP3, STARTTLS"}

data: {"time":"2026-09-19T16:24:52.203Z","priority":"6","pid":"2830187","message":"FAIL 983: 'FTP STARTTLS pipelined server response' FTP, STARTTLS"}

data: {"time":"2026-09-19T16:24:52.204Z","priority":"6","pid":"2830187","message":"FAIL 984: 'IMAP require STARTTLS with failing capabilities' IMAP, STARTTLS"}

data: {"time":"2026-09-19T16:24:52.205Z","priority":"6","pid":"2830187","message":"FAIL 985: 'POP3 require STARTTLS with failing capabilities' POP3, STARTTLS"}

data: {"time":"2026-09-19T16:24:52.206Z","priority":"6","pid":"2830187","message":"FAIL 986: 'FTP require STARTTLS while preauthenticated' FTP, STARTTLS"}

data: {"time":"2026-09-19T16:24:52.206Z","priority":"6","pid":"2830187","message":"FAIL 990: 'use -w %output{}' HTTP, HTTP GET, -w"}

data: {"time":"2026-09-19T16:24:52.207Z","priority":"6","pid":"2830187","message":"FAIL 991: 'use -w %output{} append' HTTP, HTTP GET, -w"}

data: {"time":"2026-09-19T16:24:52.208Z","priority":"6","pid":"2830187","message":"FAIL 992: 'SASL verify default mechanisms are reset by login options' SMTP, SASL, UPLOAD"}

data: {"time":"2026-09-19T16:24:52.209Z","priority":"6","pid":"2830187","message":"FAIL 993: 'POP3 LIST 1000 messages' POP3, Clear Text, LIST"}

data: {"time":"2026-09-19T16:24:52.210Z","priority":"6","pid":"2830187","message":"FAIL 994: '--skip-existing with globbing' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.210Z","priority":"6","pid":"2830187","message":"FAIL 995: '--skip-existing without file present' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.211Z","priority":"6","pid":"2830187","message":"FAIL 996: '--skip-existing with file present' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.213Z","priority":"6","pid":"2830187","message":"FAIL 997: 'POP3 retrieve STAT (CUSTOMREQUEST)' POP3, Clear Text, STAT, CUSTOMREQUEST, RFC2449"}

data: {"time":"2026-09-19T16:24:52.214Z","priority":"6","pid":"2830187","message":"FAIL 998: 'HTTP with auth in URL redirected to another host' HTTP, --location-trusted"}

data: {"time":"2026-09-19T16:24:52.215Z","priority":"6","pid":"2830187","message":"FAIL 999: 'HTTP with auth in first URL but not second' HTTP, --location-trusted"}

data: {"time":"2026-09-19T16:24:52.216Z","priority":"6","pid":"2830187","message":"FAIL 1000: 'FTP dir list PASV with -I' FTP, PASV, LIST, NOBODY"}

data: {"time":"2026-09-19T16:24:52.217Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:52.219Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:52.220Z","priority":"6","pid":"2830187","message":"FAIL 1003: 'FTP with excessively large server command response line' FTP, RETR, huge response"}

data: {"time":"2026-09-19T16:24:52.221Z","priority":"6","pid":"2830187","message":"FAIL 1004: 'HTTP GET with empty proxy' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.222Z","priority":"6","pid":"2830187","message":"FAIL 1005: 'FTP with excessively large number of server command response lines' FTP, RETR, huge response"}

data: {"time":"2026-09-19T16:24:52.224Z","priority":"6","pid":"2830187","message":"FAIL 1006: 'FTP with large number of command response lines (boundary condition)' FTP, RETR, huge response"}

data: {"time":"2026-09-19T16:24:52.224Z","priority":"6","pid":"2830187","message":"FAIL 1007: 'TFTP send with invalid permission on server' TFTP, TFTP WRQ"}

data: {"time":"2026-09-19T16:24:52.224Z","priority":"6","pid":"2830187","message":"FAIL 1009: 'TFTP retrieve with --local-port' TFTP, TFTP RRQ, --local-port"}

data: {"time":"2026-09-19T16:24:52.224Z","priority":"6","pid":"2830187","message":"FAIL 1010: 'FTP dir list nocwd' FTP, PASV, LIST"}

data: {"time":"2026-09-19T16:24:52.225Z","priority":"6","pid":"2830187","message":"FAIL 1011: 'HTTP POST with 301 redirect' HTTP, HTTP POST, followlocation"}

data: {"time":"2026-09-19T16:24:52.225Z","priority":"6","pid":"2830187","message":"FAIL 1012: 'HTTP POST with 301 redirect and --post301' HTTP, HTTP POST, followlocation"}

data: {"time":"2026-09-19T16:24:52.226Z","priority":"6","pid":"2830187","message":"FAIL 1013: 'Compare curl --version with curl-config --protocols' curl-config"}

data: {"time":"2026-09-19T16:24:52.227Z","priority":"6","pid":"2830187","message":"FAIL 1014: 'Compare curl --version with curl-config --features' curl-config"}

data: {"time":"2026-09-19T16:24:52.227Z","priority":"6","pid":"2830187","message":"FAIL 1015: '--data-urlencode' HTTP, HTTP POST, --data-urlencode"}

data: {"time":"2026-09-19T16:24:52.228Z","priority":"6","pid":"2830187","message":"FAIL 1016: 'X-Y range on a file:// URL to stdout' FILE, Range"}

data: {"time":"2026-09-19T16:24:52.228Z","priority":"6","pid":"2830187","message":"FAIL 1017: '0-Y range on a file:// URL to stdout' FILE, Range"}

data: {"time":"2026-09-19T16:24:52.229Z","priority":"6","pid":"2830187","message":"FAIL 1018: 'X-X range on a file:// URL to stdout' FILE, Range"}

data: {"time":"2026-09-19T16:24:52.229Z","priority":"6","pid":"2830187","message":"FAIL 1019: 'X- range on a file:// URL to stdout' FILE, Range"}

data: {"time":"2026-09-19T16:24:52.229Z","priority":"6","pid":"2830187","message":"FAIL 1020: '-Y range on a file:// URL to stdout' FILE, Range"}

data: {"time":"2026-09-19T16:24:52.230Z","priority":"6","pid":"2830187","message":"FAIL 1022: 'Compare curl --version with curl-config --version' curl-config"}

data: {"time":"2026-09-19T16:24:52.230Z","priority":"6","pid":"2830187","message":"FAIL 1023: 'Compare curl --version with curl-config --vernum' curl-config"}

data: {"time":"2026-09-19T16:24:52.231Z","priority":"6","pid":"2830187","message":"FAIL 1024: 'HTTP Location: following with cookies' HTTP, HTTP GET, followlocation, cookies"}

data: {"time":"2026-09-19T16:24:52.231Z","priority":"6","pid":"2830187","message":"FAIL 1025: 'HTTP Location: following with command-line and server cookies' HTTP, HTTP GET, followlocation, cookies"}

data: {"time":"2026-09-19T16:24:52.232Z","priority":"6","pid":"2830187","message":"FAIL 1027: 'curl --help' --help"}

data: {"time":"2026-09-19T16:24:52.232Z","priority":"6","pid":"2830187","message":"FAIL 1028: 'HTTP Location: redirect to FTP URL' HTTP, HTTP GET, followlocation, FTP, PASV, FILE"}

data: {"time":"2026-09-19T16:24:52.233Z","priority":"6","pid":"2830187","message":"FAIL 1029: 'HTTP Location: and 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.233Z","priority":"6","pid":"2830187","message":"FAIL 1030: 'HTTP PUT with --anyauth, picking Digest. Persistent connection.' HTTP, HTTP PUT, HTTP Digest auth, --anyauth"}

data: {"time":"2026-09-19T16:24:52.234Z","priority":"6","pid":"2830187","message":"FAIL 1031: 'HTTP Location: following to a query string' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:52.234Z","priority":"6","pid":"2830187","message":"FAIL 1032: 'HTTP HEAD with --range' HTTP, HTTP HEAD, Range"}

data: {"time":"2026-09-19T16:24:52.235Z","priority":"6","pid":"2830187","message":"FAIL 1033: 'HTTP GET with 102 response!' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.235Z","priority":"6","pid":"2830187","message":"FAIL 1034: 'HTTP over proxy with malformatted IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN, config file"}

data: {"time":"2026-09-19T16:24:52.236Z","priority":"6","pid":"2830187","message":"FAIL 1035: 'HTTP over proxy with too long IDN hostname' HTTP, HTTP GET, HTTP proxy, IDN"}

data: {"time":"2026-09-19T16:24:52.236Z","priority":"6","pid":"2830187","message":"FAIL 1036: 'FTP download resume from end of file' FTP, PASV, RETR, Resume"}

data: {"time":"2026-09-19T16:24:52.237Z","priority":"6","pid":"2830187","message":"FAIL 1037: 'FTP download resume from end of empty file' FTP, PASV, RETR, Resume"}

data: {"time":"2026-09-19T16:24:52.238Z","priority":"6","pid":"2830187","message":"FAIL 1038: 'FTP PASV upload resume from end of file' FTP, EPSV, APPE, Resume"}

data: {"time":"2026-09-19T16:24:52.238Z","priority":"6","pid":"2830187","message":"FAIL 1039: 'FTP PASV upload resume from end of empty file' FTP, EPSV, APPE, Resume"}

data: {"time":"2026-09-19T16:24:52.238Z","priority":"6","pid":"2830187","message":"FAIL 1040: 'HTTP GET with resume from end of entirely-downloaded file' HTTP, HTTP GET, Resume"}

data: {"time":"2026-09-19T16:24:52.239Z","priority":"6","pid":"2830187","message":"FAIL 1041: 'HTTP PUT with resume from end of already-uploaded file' HTTP, HTTP PUT, Resume, Content-Range"}

data: {"time":"2026-09-19T16:24:52.239Z","priority":"6","pid":"2830187","message":"FAIL 1042: 'HTTP GET beyond end of entirely-downloaded file, no server resume' HTTP, HTTP GET, Resume"}

data: {"time":"2026-09-19T16:24:52.240Z","priority":"6","pid":"2830187","message":"FAIL 1043: 'HTTP GET with resume from end of file' HTTP, HTTP GET, Resume"}

data: {"time":"2026-09-19T16:24:52.241Z","priority":"6","pid":"2830187","message":"FAIL 1044: 'FTP download large file info with -I' FTP, NOBODY, Largefile"}

data: {"time":"2026-09-19T16:24:52.241Z","priority":"6","pid":"2830187","message":"FAIL 1045: 'HTTP GET with numeric localhost --interface' HTTP, HTTP GET, --interface"}

data: {"time":"2026-09-19T16:24:52.241Z","priority":"6","pid":"2830187","message":"FAIL 1046: 'HTTP-IPv6 GET with numeric localhost --interface' HTTP, HTTP GET, --interface, IPv6"}

data: {"time":"2026-09-19T16:24:52.242Z","priority":"6","pid":"2830187","message":"FAIL 1047: 'FTP dir list PASV with localhost --interface' FTP, PASV, LIST, --interface"}

data: {"time":"2026-09-19T16:24:52.242Z","priority":"6","pid":"2830187","message":"FAIL 1048: 'FTP-IPv6 dir list PASV with localhost --interface' FTP, FTP-ipv6, IPv6, PASV, LIST, --interface"}

data: {"time":"2026-09-19T16:24:52.243Z","priority":"6","pid":"2830187","message":"FAIL 1049: 'TFTP retrieve with localhost --interface' TFTP, TFTP RRQ, --interface"}

data: {"time":"2026-09-19T16:24:52.243Z","priority":"6","pid":"2830187","message":"FAIL 1050: 'FTP-IPv6 dir list, EPRT with specified IP' FTP, FTP-ipv6, IPv6, EPRT"}

data: {"time":"2026-09-19T16:24:52.244Z","priority":"6","pid":"2830187","message":"FAIL 1051: 'HTTP PUT with Location: following' HTTP, HTTP PUT, followlocation"}

data: {"time":"2026-09-19T16:24:52.244Z","priority":"6","pid":"2830187","message":"FAIL 1052: 'HTTP 1.0 PUT with Location: following' HTTP, HTTP PUT, followlocation"}

data: {"time":"2026-09-19T16:24:52.281Z","priority":"6","pid":"2830187","message":"FAIL 1053: 'HTTP RFC1867-type formposting from file with Location: following' HTTP, HTTP FORMPOST, HTTP file upload, followlocation"}

data: {"time":"2026-09-19T16:24:52.283Z","priority":"6","pid":"2830187","message":"FAIL 1054: 'HTTP POST from file with 301 redirect and --post301' HTTP, HTTP POST, followlocation"}

data: {"time":"2026-09-19T16:24:52.283Z","priority":"6","pid":"2830187","message":"FAIL 1055: 'HTTP PUT Location: redirect to FTP URL' HTTP, HTTP PUT, followlocation, FTP, EPSV, STOR"}

data: {"time":"2026-09-19T16:24:52.284Z","priority":"6","pid":"2830187","message":"FAIL 1056: 'HTTP follow redirect from IPv4 to IPv6 with scope' HTTP, HTTP GET, followlocation, IPv6"}

data: {"time":"2026-09-19T16:24:52.284Z","priority":"6","pid":"2830187","message":"FAIL 1057: 'FTP retrieve a byte-range relative to end of file' FTP, EPSV, RETR, Range"}

data: {"time":"2026-09-19T16:24:52.285Z","priority":"6","pid":"2830187","message":"FAIL 1058: 'HTTP range relative to end of file' HTTP, HTTP GET, Content-Range"}

data: {"time":"2026-09-19T16:24:52.285Z","priority":"6","pid":"2830187","message":"FAIL 1059: 'HTTP CONNECT with proxytunnel to unsupported FTP URL' HTTP, HTTP CONNECT, proxytunnel, FTP"}

data: {"time":"2026-09-19T16:24:52.286Z","priority":"6","pid":"2830187","message":"FAIL 1060: 'HTTP proxy CONNECT auth Digest, large headers and data' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, HTTP proxy Digest auth"}

data: {"time":"2026-09-19T16:24:52.287Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:52.288Z","priority":"6","pid":"2830187","message":"FAIL 1062: 'FTP excessively long server command response lines, boundary condition' FTP, RETR, huge response"}

data: {"time":"2026-09-19T16:24:52.288Z","priority":"6","pid":"2830187","message":"FAIL 1063: 'Invalid large X- range on a file://' FILE, Range"}

data: {"time":"2026-09-19T16:24:52.288Z","priority":"6","pid":"2830187","message":"FAIL 1064: 'HTTP PUT twice' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:52.289Z","priority":"6","pid":"2830187","message":"FAIL 1065: 'HTTP PUT with one file but two URLs' HTTP, HTTP PUT, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.289Z","priority":"6","pid":"2830187","message":"FAIL 1066: 'HTTP --dump-header - with two URLs' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.290Z","priority":"6","pid":"2830187","message":"FAIL 1067: 'HTTP Location: following with auto-referer' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:52.290Z","priority":"6","pid":"2830187","message":"FAIL 1068: 'HTTP PUT from stdin' HTTP, HTTP PUT, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.291Z","priority":"6","pid":"2830187","message":"FAIL 1069: 'HTTP 1.0 PUT from stdin with no content length' HTTP, HTTP PUT, HTTP/1.0"}

data: {"time":"2026-09-19T16:24:52.291Z","priority":"6","pid":"2830187","message":"FAIL 1070: 'HTTP POST with server closing connection before (all) data is received' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:52.292Z","priority":"6","pid":"2830187","message":"FAIL 1071: 'Downgraded HTTP PUT to HTTP 1.0 with authorization' HTTP, HTTP PUT, HTTP Digest auth, --anyauth, HTTP/1.0"}

data: {"time":"2026-09-19T16:24:52.293Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:52.293Z","priority":"6","pid":"2830187","message":"FAIL 1073: 'HTTP chunked PUT to HTTP 1.0 server with redirect' HTTP, HTTP PUT, HTTP/1.0, followlocation, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.294Z","priority":"6","pid":"2830187","message":"FAIL 1074: 'HTTP downgrade to HTTP/1.0 on second request' HTTP, HTTP GET, HTTP/1.0, DELAY"}

data: {"time":"2026-09-19T16:24:52.295Z","priority":"6","pid":"2830187","message":"FAIL 1075: 'HTTP PUT with --anyauth authorization (picking Basic)' HTTP, HTTP PUT, HTTP Basic auth, --anyauth"}

data: {"time":"2026-09-19T16:24:52.295Z","priority":"6","pid":"2830187","message":"FAIL 1076: 'HTTP POST with 302 redirect and --post302' HTTP, HTTP POST, followlocation"}

data: {"time":"2026-09-19T16:24:52.296Z","priority":"6","pid":"2830187","message":"FAIL 1077: 'FTP over HTTP proxy with downgrade to HTTP 1.0' FTP, HTTP, HTTP/1.0, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.297Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:52.297Z","priority":"6","pid":"2830187","message":"FAIL 1079: 'HTTP retry after closed connection and empty response' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.298Z","priority":"6","pid":"2830187","message":"FAIL 1080: 'HTTP Location: on two URLs 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.298Z","priority":"6","pid":"2830187","message":"FAIL 1081: 'HTTP no Location: on second URL 'redirect_url' check' HTTP, HTTP GET, redirect_url, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.299Z","priority":"6","pid":"2830187","message":"FAIL 1082: 'HTTP GET with localhost --interface' HTTP, HTTP GET, --interface"}

data: {"time":"2026-09-19T16:24:52.299Z","priority":"6","pid":"2830187","message":"FAIL 1083: 'HTTP-IPv6 GET with ip6-localhost --interface' HTTP, HTTP GET, --interface, IPv6"}

data: {"time":"2026-09-19T16:24:52.300Z","priority":"6","pid":"2830187","message":"FAIL 1084: 'HTTP GET with invalid --interface' HTTP, HTTP GET, --interface, non-existing host"}

data: {"time":"2026-09-19T16:24:52.300Z","priority":"6","pid":"2830187","message":"FAIL 1085: 'HTTP-IPv6 GET with invalid --interface' HTTP, HTTP GET, --interface, IPv6, non-existing host"}

data: {"time":"2026-09-19T16:24:52.301Z","priority":"6","pid":"2830187","message":"FAIL 1087: 'HTTP, proxy with --anyauth and Location: to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth"}

data: {"time":"2026-09-19T16:24:52.302Z","priority":"6","pid":"2830187","message":"FAIL 1088: 'HTTP, proxy with --anyauth and Location: using location-trusted' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation, --anyauth, --location-trusted"}

data: {"time":"2026-09-19T16:24:52.302Z","priority":"6","pid":"2830187","message":"FAIL 1089: 'HTTP GET --write-out with redirected fetch' HTTP, HTTP GET, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.303Z","priority":"6","pid":"2830187","message":"FAIL 1090: 'HTTP GET --write-out with redirected fetch and chunked reply' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out"}

data: {"time":"2026-09-19T16:24:52.303Z","priority":"6","pid":"2830187","message":"FAIL 1091: 'FTP URL with type=i' FTP, RETR, type="}

data: {"time":"2026-09-19T16:24:52.304Z","priority":"6","pid":"2830187","message":"FAIL 1092: 'FTP with type=i over HTTP proxy' FTP, HTTP, HTTP GET, HTTP proxy, type="}

data: {"time":"2026-09-19T16:24:52.304Z","priority":"6","pid":"2830187","message":"FAIL 1093: 'TFTP retrieve with mode=octet' TFTP, TFTP RRQ, mode="}

data: {"time":"2026-09-19T16:24:52.305Z","priority":"6","pid":"2830187","message":"FAIL 1094: 'TFTP retrieve with mode=netascii' TFTP, TFTP RRQ, mode="}

data: {"time":"2026-09-19T16:24:52.305Z","priority":"6","pid":"2830187","message":"FAIL 1095: 'HTTP with Digest and realm with quoted quotes' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.306Z","priority":"6","pid":"2830187","message":"FAIL 1096: 'Two FTP downloads, with failed RETR but reused control connection' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.306Z","priority":"6","pid":"2830187","message":"FAIL 1098: 'FTP RETR twice over proxy confirming persistent connection' FTP, HTTP proxy, CURLOPT_PROXY"}

data: {"time":"2026-09-19T16:24:52.306Z","priority":"6","pid":"2830187","message":"FAIL 1099: 'TFTP get first a non-existing file then an existing' TFTP, TFTP RRQ"}

data: {"time":"2026-09-19T16:24:52.307Z","priority":"6","pid":"2830187","message":"FAIL 1101: 'NO_PROXY test, with username in URL' HTTP, HTTP GET, HTTP Basic auth, HTTP proxy, http_proxy, NO_PROXY"}

data: {"time":"2026-09-19T16:24:52.307Z","priority":"6","pid":"2830187","message":"FAIL 1102: 'FTP OS/400 server name format check' FTP, SYST, SITE, OS400"}

data: {"time":"2026-09-19T16:24:52.308Z","priority":"6","pid":"2830187","message":"FAIL 1103: 'FTP non-OS/400 server' FTP, SYST, SITE, OS400"}

data: {"time":"2026-09-19T16:24:52.309Z","priority":"6","pid":"2830187","message":"FAIL 1104: 'HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970' HTTP, HTTP GET, HTTP proxy, cookies"}

data: {"time":"2026-09-19T16:24:52.309Z","priority":"6","pid":"2830187","message":"FAIL 1105: 'HTTP POST with cookies' HTTP, HTTP POST, cookies, cookiejar"}

data: {"time":"2026-09-19T16:24:52.309Z","priority":"6","pid":"2830187","message":"FAIL 1106: 'FTP URL and with ftp_proxy environment variable set' FTP, CURLOPT_PORT, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.310Z","priority":"6","pid":"2830187","message":"FAIL 1107: 'FTP RETR PASV with PRET' FTP, PASV, RETR, PRET"}

data: {"time":"2026-09-19T16:24:52.310Z","priority":"6","pid":"2830187","message":"FAIL 1108: 'FTP RETR PASV with PRET not supported' FTP, PASV, RETR, PRET"}

data: {"time":"2026-09-19T16:24:52.311Z","priority":"6","pid":"2830187","message":"FAIL 1109: 'HTTP GET with URL that contains fragment after the path' HTTP, CURLOPT_URL"}

data: {"time":"2026-09-19T16:24:52.311Z","priority":"6","pid":"2830187","message":"FAIL 1110: 'HTTP GET with URL that contains a fragment after the query part' HTTP, CURLOPT_URL"}

data: {"time":"2026-09-19T16:24:52.312Z","priority":"6","pid":"2830187","message":"FAIL 1111: 'HTTP GET with URL whose fragment contains a # (which is illegal)' HTTP, CURLOPT_URL"}

data: {"time":"2026-09-19T16:24:52.312Z","priority":"6","pid":"2830187","message":"FAIL 1114: 'FTP wildcard download - skip/correctness/FNMATCH_FUNCTION (DOS)' FTP, wildcardmatch, ftplistparser"}

data: {"time":"2026-09-19T16:24:52.313Z","priority":"6","pid":"2830187","message":"FAIL 1115: 'HTTP GET with unexpected 1xx response' HTTP, HTTP 1xx response code"}

data: {"time":"2026-09-19T16:24:52.314Z","priority":"6","pid":"2830187","message":"FAIL 1116: 'HTTP GET with chunked trailer without Trailer:' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY"}

data: {"time":"2026-09-19T16:24:52.314Z","priority":"6","pid":"2830187","message":"FAIL 1117: 'HTTP with invalid range then another URL' HTTP, HTTP GET, Range, DELAY"}

data: {"time":"2026-09-19T16:24:52.315Z","priority":"6","pid":"2830187","message":"FAIL 1118: 'URL without slash and @-letter in query' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.315Z","priority":"6","pid":"2830187","message":"FAIL 1120: 'FTP with 421 timeout response' FTP, PORT, RETR, 421, timeout"}

data: {"time":"2026-09-19T16:24:52.316Z","priority":"6","pid":"2830187","message":"FAIL 1121: 'HTTP multiple provided Host: headers' HTTP"}

data: {"time":"2026-09-19T16:24:52.316Z","priority":"6","pid":"2830187","message":"FAIL 1122: 'HTTP GET gzip transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.316Z","priority":"6","pid":"2830187","message":"FAIL 1123: 'HTTP GET deflate transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.317Z","priority":"6","pid":"2830187","message":"FAIL 1124: 'HTTP GET gzip+chunked transfer-encoded content' HTTP, HTTP GET, compressed, Transfer-Encoding, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.317Z","priority":"6","pid":"2830187","message":"FAIL 1125: 'HTTP GET transfer-encoding with custom Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.318Z","priority":"6","pid":"2830187","message":"FAIL 1126: 'HTTP 200 If-Modified-Since with newer document' HTTP, HTTP GET, If-Modified-Since"}

data: {"time":"2026-09-19T16:24:52.318Z","priority":"6","pid":"2830187","message":"FAIL 1127: 'HTTP 200 If-Modified-Since with older document' HTTP, HTTP GET, If-Modified-Since"}

data: {"time":"2026-09-19T16:24:52.319Z","priority":"6","pid":"2830187","message":"FAIL 1128: 'HTTP 200 If-Modified-Since with old+new documents' HTTP, HTTP GET, If-Modified-Since"}

data: {"time":"2026-09-19T16:24:52.319Z","priority":"6","pid":"2830187","message":"FAIL 1129: 'HTTP POST expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue"}

data: {"time":"2026-09-19T16:24:52.320Z","priority":"6","pid":"2830187","message":"FAIL 1130: 'HTTP POST forced expect 100-continue with a 404' HTTP, HTTP POST, Expect: 100-continue"}

data: {"time":"2026-09-19T16:24:52.320Z","priority":"6","pid":"2830187","message":"FAIL 1131: 'HTTP PUT expect 100-continue with a 400' HTTP, HTTP PUT, Expect: 100-continue"}

data: {"time":"2026-09-19T16:24:52.321Z","priority":"6","pid":"2830187","message":"FAIL 1132: 'MQTT CONNACK with bad Remaining Length' MQTT, MQTT CONNACK"}

data: {"time":"2026-09-19T16:24:52.321Z","priority":"6","pid":"2830187","message":"FAIL 1133: 'HTTP formpost with filename/data containing ',', ';', '\"'' HTTP, HTTP FORMPOST"}

data: {"time":"2026-09-19T16:24:52.322Z","priority":"6","pid":"2830187","message":"FAIL 1134: 'HTTP connection reuse with different credentials' HTTP, HTTP HEAD, -G"}

data: {"time":"2026-09-19T16:24:52.322Z","priority":"6","pid":"2830187","message":"FAIL 1136: 'Check cookies against PSL' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, PSL"}

data: {"time":"2026-09-19T16:24:52.323Z","priority":"6","pid":"2830187","message":"FAIL 1137: 'FTP RETR --ignore-content-length' FTP, PASV, RETR, --ignore-content-length"}

data: {"time":"2026-09-19T16:24:52.323Z","priority":"6","pid":"2830187","message":"FAIL 1138: 'HTTP redirect with UTF-8 characters' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:52.324Z","priority":"6","pid":"2830187","message":"FAIL 1141: 'HTTP redirect to http:/// (three slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation"}

data: {"time":"2026-09-19T16:24:52.324Z","priority":"6","pid":"2830187","message":"FAIL 1142: 'HTTP redirect to http://// (four slashes!)' HTTP, HTTP GET, HTTP proxy, followlocation"}

data: {"time":"2026-09-19T16:24:52.325Z","priority":"6","pid":"2830187","message":"FAIL 1143: 'HTTP URL with http:/ (one slash!)' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:52.325Z","priority":"6","pid":"2830187","message":"FAIL 1144: 'HTTP HEAD, receive no headers only body' HTTP, HTTP HEAD, HTTP/0.9"}

data: {"time":"2026-09-19T16:24:52.325Z","priority":"6","pid":"2830187","message":"FAIL 1145: 'file:// bad host' FILE"}

data: {"time":"2026-09-19T16:24:52.326Z","priority":"6","pid":"2830187","message":"FAIL 1146: '--proto-default file' FILE, --proto-default"}

data: {"time":"2026-09-19T16:24:52.326Z","priority":"6","pid":"2830187","message":"FAIL 1147: 'Get -H headers from a file' HTTP, HTTP GET, -H"}

data: {"time":"2026-09-19T16:24:52.327Z","priority":"6","pid":"2830187","message":"FAIL 1148: 'progress-bar' HTTP, progressbar"}

data: {"time":"2026-09-19T16:24:52.327Z","priority":"6","pid":"2830187","message":"FAIL 1149: 'FTP dir list multicwd then again nocwd' FTP, PASV, LIST"}

data: {"time":"2026-09-19T16:24:52.354Z","priority":"6","pid":"2830187","message":"FAIL 1150: 'HTTP proxy with URLs using different ports' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.354Z","priority":"6","pid":"2830187","message":"FAIL 1151: 'HTTP with too long cookies' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:52.355Z","priority":"6","pid":"2830187","message":"FAIL 1152: 'FTP with unclosed quote in PWD response' FTP"}

data: {"time":"2026-09-19T16:24:52.356Z","priority":"6","pid":"2830187","message":"FAIL 1153: 'FTP with quoted double quotes' FTP, PASV, LIST"}

data: {"time":"2026-09-19T16:24:52.356Z","priority":"6","pid":"2830187","message":"FAIL 1154: 'HTTP GET with 100K (too long) response header' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.356Z","priority":"6","pid":"2830187","message":"FAIL 1155: 'HTTP cookie with parameter word as name' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:52.356Z","priority":"6","pid":"2830187","message":"FAIL 1156: 'HTTP resume/range fail range-error content-range combinations' HTTP, HTTP GET, Content-Range, Resume, Range"}

data: {"time":"2026-09-19T16:24:52.357Z","priority":"6","pid":"2830187","message":"FAIL 1157: 'Get -H headers from empty file' HTTP, HTTP GET, -H"}

data: {"time":"2026-09-19T16:24:52.357Z","priority":"6","pid":"2830187","message":"FAIL 1158: 'HTTP RFC1867-type formposting with filename containing '\"'' HTTP, HTTP FORMPOST"}

data: {"time":"2026-09-19T16:24:52.358Z","priority":"6","pid":"2830187","message":"FAIL 1159: 'HTTP Location: and 'redirect_url' with non-supported scheme' HTTP, HTTP GET, redirect_url, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.358Z","priority":"6","pid":"2830187","message":"FAIL 1160: 'HTTP with long funny format cookie' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:52.358Z","priority":"6","pid":"2830187","message":"FAIL 1161: 'HTTP cookie with path set twice' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:52.359Z","priority":"6","pid":"2830187","message":"FAIL 1164: 'HTTP/0.9 GET and all zeroes' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.359Z","priority":"6","pid":"2830187","message":"FAIL 1166: 'HTTP response with cookies but not receiving!' HTTP, HTTP GET, followlocation, cookies"}

data: {"time":"2026-09-19T16:24:52.359Z","priority":"6","pid":"2830187","message":"FAIL 1168: 'HTTP redirect with credentials using # in user and password' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:52.360Z","priority":"6","pid":"2830187","message":"FAIL 1170: 'HTTP GET transfer-encoding with removed Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.360Z","priority":"6","pid":"2830187","message":"FAIL 1171: 'HTTP GET transfer-encoding with blanked Connection:' HTTP, HTTP GET, compressed, Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.361Z","priority":"6","pid":"2830187","message":"FAIL 1172: 'HTTP/0.9 GET response denied' HTTP, HTTP/0.9"}

data: {"time":"2026-09-19T16:24:52.361Z","priority":"6","pid":"2830187","message":"FAIL 1174: 'HTTP/0.9 GET response denied by default' HTTP, HTTP/0.9"}

data: {"time":"2026-09-19T16:24:52.361Z","priority":"6","pid":"2830187","message":"FAIL 1176: '--output using #0' globbing"}

data: {"time":"2026-09-19T16:24:52.362Z","priority":"6","pid":"2830187","message":"FAIL 1178: 'HTTP proxy auth with credentials longer than 256 bytes' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.362Z","priority":"6","pid":"2830187","message":"FAIL 1180: 'HTTP GET request with proxy and -H \"Proxy-Connection: keep-alive\"' HTTP, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.362Z","priority":"6","pid":"2830187","message":"FAIL 1181: 'HTTP GET request with proxy and \"Proxy-Connection: Keep-Alive\"' HTTP, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.363Z","priority":"6","pid":"2830187","message":"FAIL 1183: '%TESTNUMBER used instead of actual test number' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.363Z","priority":"6","pid":"2830187","message":"FAIL 1186: 'Multipart formposting with backslash-escaping filename containing '\"'' HTTP, HTTP FORMPOST"}

data: {"time":"2026-09-19T16:24:52.363Z","priority":"6","pid":"2830187","message":"FAIL 1187: 'SMTP multipart with filename escaping' SMTP, MULTIPART"}

data: {"time":"2026-09-19T16:24:52.364Z","priority":"6","pid":"2830187","message":"FAIL 1188: '--write-out with %{onerror} and %{urlnum} to stderr' HTTP, HTTP GET, --write-out"}

data: {"time":"2026-09-19T16:24:52.364Z","priority":"6","pid":"2830187","message":"FAIL 1189: 'Multipart formposting with backslash-escaping of name= and filename=' HTTP, HTTP FORMPOST"}

data: {"time":"2026-09-19T16:24:52.365Z","priority":"6","pid":"2830187","message":"FAIL 1190: 'MQTT SUBSCRIBE' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.365Z","priority":"6","pid":"2830187","message":"FAIL 1191: 'MQTT PUBLISH' MQTT, MQTT PUBLISH"}

data: {"time":"2026-09-19T16:24:52.365Z","priority":"6","pid":"2830187","message":"FAIL 1192: 'MQTT SUBSCRIBE 2k topic' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.365Z","priority":"6","pid":"2830187","message":"FAIL 1193: 'MQTT PUBLISH 2k payload' MQTT, MQTT PUBLISH"}

data: {"time":"2026-09-19T16:24:52.366Z","priority":"6","pid":"2830187","message":"FAIL 1194: 'MQTT SUBSCRIBE with PUBLISH before SUBACK' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.366Z","priority":"6","pid":"2830187","message":"FAIL 1195: 'MQTT SUBSCRIBE with short PUBLISH' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.366Z","priority":"6","pid":"2830187","message":"FAIL 1196: 'MQTT with \"unaccaptable protocol version\" CONNACK' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.367Z","priority":"6","pid":"2830187","message":"FAIL 1197: 'HTTP POST redirected to GET and --write-out method' HTTP, HTTP GET, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.367Z","priority":"6","pid":"2830187","message":"FAIL 1198: 'MQTT PUBLISH empty payload, single space topic' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.368Z","priority":"6","pid":"2830187","message":"FAIL 1199: 'MQTT PUBLISH empty payload, no topic' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.368Z","priority":"6","pid":"2830187","message":"FAIL 1200: 'Gopher index' GOPHER, INDEX"}

data: {"time":"2026-09-19T16:24:52.369Z","priority":"6","pid":"2830187","message":"FAIL 1201: 'Gopher selector' GOPHER, SELECTOR"}

data: {"time":"2026-09-19T16:24:52.369Z","priority":"6","pid":"2830187","message":"FAIL 1202: 'Gopher query' GOPHER, QUERY"}

data: {"time":"2026-09-19T16:24:52.369Z","priority":"6","pid":"2830187","message":"FAIL 1203: 'Gopher IPv6 index' GOPHER-ipv6, IPv6, INDEX"}

data: {"time":"2026-09-19T16:24:52.370Z","priority":"6","pid":"2830187","message":"FAIL 1204: 'HTTP with WWW-Authenticate and multiple auths in a single line' HTTP, HTTP GET, HTTP Basic auth, --anyauth"}

data: {"time":"2026-09-19T16:24:52.371Z","priority":"6","pid":"2830187","message":"FAIL 1205: 'HTTP GET with 18K HTTP header' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.371Z","priority":"6","pid":"2830187","message":"FAIL 1206: 'FTP PORT and 425 on download' FTP, PORT, RETR, NODATACONN425"}

data: {"time":"2026-09-19T16:24:52.371Z","priority":"6","pid":"2830187","message":"FAIL 1207: 'FTP PORT and 421 on download' FTP, PORT, RETR, NODATACONN421"}

data: {"time":"2026-09-19T16:24:52.371Z","priority":"6","pid":"2830187","message":"FAIL 1210: 'HTTP GET with -J without Content-Disposition' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.372Z","priority":"6","pid":"2830187","message":"FAIL 1212: 'noproxy setting together with socks proxy' HTTP, SOCKS5, NO_PROXY, noproxy"}

data: {"time":"2026-09-19T16:24:52.372Z","priority":"6","pid":"2830187","message":"FAIL 1213: 'HTTP with proxy and host-only URL' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.373Z","priority":"6","pid":"2830187","message":"FAIL 1214: 'HTTP with proxy and URL with ? and no slash separator' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.373Z","priority":"6","pid":"2830187","message":"FAIL 1216: 'HTTP cookie domains tailmatching the hostname' HTTP, HTTP GET, HTTP proxy, cookies"}

data: {"time":"2026-09-19T16:24:52.374Z","priority":"6","pid":"2830187","message":"FAIL 1217: 'FTP with rubbish before name in 257-response' FTP, PORT, NLST, --data-binary"}

data: {"time":"2026-09-19T16:24:52.374Z","priority":"6","pid":"2830187","message":"FAIL 1218: 'HTTP cookies and domains with same prefix' HTTP, HTTP GET, HTTP proxy, cookies"}

data: {"time":"2026-09-19T16:24:52.374Z","priority":"6","pid":"2830187","message":"FAIL 1219: 'FTP with no user+password required (230 response)' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.375Z","priority":"6","pid":"2830187","message":"FAIL 1220: 'file:// URLs with query string' FILE, URL"}

data: {"time":"2026-09-19T16:24:52.375Z","priority":"6","pid":"2830187","message":"FAIL 1221: '--url-query with --data-urlencode' HTTP, HTTP POST, --data-urlencode, --url-query"}

data: {"time":"2026-09-19T16:24:52.376Z","priority":"6","pid":"2830187","message":"FAIL 1223: 'HTTP GET -w remote_ip and -w remote_port' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.376Z","priority":"6","pid":"2830187","message":"FAIL 1224: 'FTP fetch a file from the root directory' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.376Z","priority":"6","pid":"2830187","message":"FAIL 1225: 'FTP fetch two files using absolute paths' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.377Z","priority":"6","pid":"2830187","message":"FAIL 1226: 'FTP fetch a file from the root directory with singlecwd' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.377Z","priority":"6","pid":"2830187","message":"FAIL 1227: 'FTP fetch a file from the root directory with nocwd' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.378Z","priority":"6","pid":"2830187","message":"FAIL 1228: 'HTTP cookie path match' HTTP, HTTP GET, HTTP proxy, cookies, cookie path"}

data: {"time":"2026-09-19T16:24:52.378Z","priority":"6","pid":"2830187","message":"FAIL 1229: 'HTTP with Digest authorization with username needing escape' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.379Z","priority":"6","pid":"2830187","message":"FAIL 1230: 'HTTP CONNECT to IPv6 numerical address' HTTP, HTTP CONNECT, HTTP proxy, IPv6"}

data: {"time":"2026-09-19T16:24:52.379Z","priority":"6","pid":"2830187","message":"FAIL 1231: 'HTTP URL with dotdot removal from path' HTTP, HTTP GET, dotdot removal"}

data: {"time":"2026-09-19T16:24:52.380Z","priority":"6","pid":"2830187","message":"FAIL 1232: 'HTTP URL with dotdot removal from path using an HTTP proxy' HTTP, HTTP GET, HTTP proxy, dotdot removal"}

data: {"time":"2026-09-19T16:24:52.380Z","priority":"6","pid":"2830187","message":"FAIL 1233: 'FTP failing to connect to EPSV port, switching to PASV' FTP, connect to non-listen"}

data: {"time":"2026-09-19T16:24:52.381Z","priority":"6","pid":"2830187","message":"FAIL 1234: 'abusing {}-globbing' globbing, {} list"}

data: {"time":"2026-09-19T16:24:52.381Z","priority":"6","pid":"2830187","message":"FAIL 1235: 'multiple requests using {}{} in the URL' HTTP, HTTP GET, globbing, {} list"}

data: {"time":"2026-09-19T16:24:52.381Z","priority":"6","pid":"2830187","message":"FAIL 1236: '[] globbing overflowing the range counter' globbing"}

data: {"time":"2026-09-19T16:24:52.382Z","priority":"6","pid":"2830187","message":"FAIL 1237: 'URL with 1000+ letter username + password' HTTP, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:52.382Z","priority":"6","pid":"2830187","message":"FAIL 1238: 'slow TFTP retrieve cancel due to -Y and -y' TFTP, TFTP RRQ, timeout, DELAY"}

data: {"time":"2026-09-19T16:24:52.382Z","priority":"6","pid":"2830187","message":"FAIL 1239: 'HTTP with -z + -w response_code and simulated 304' HTTP, HTTP GET, -z"}

data: {"time":"2026-09-19T16:24:52.383Z","priority":"6","pid":"2830187","message":"FAIL 1240: 'glob [0-1] with stuff after range (7.33.0 regression)' globbing, HTTP"}

data: {"time":"2026-09-19T16:24:52.383Z","priority":"6","pid":"2830187","message":"FAIL 1241: 'HTTP _without_ dotdot removal' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.384Z","priority":"6","pid":"2830187","message":"FAIL 1242: 'TFTP retrieve without TFTP options requests' TFTP, TFTP RRQ"}

data: {"time":"2026-09-19T16:24:52.384Z","priority":"6","pid":"2830187","message":"FAIL 1243: 'TFTP send without TFTP options requests' TFTP, TFTP WRQ"}

data: {"time":"2026-09-19T16:24:52.385Z","priority":"6","pid":"2830187","message":"FAIL 1245: '--proto deny must override --proto-redir allow' FTP, HTTP, HTTP GET, --proto, --proto-redir, followlocation"}

data: {"time":"2026-09-19T16:24:52.385Z","priority":"6","pid":"2830187","message":"FAIL 1246: 'URL with '#' at end of hostname instead of '/'' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.385Z","priority":"6","pid":"2830187","message":"FAIL 1247: '--fail-early' HTTP, --fail-early"}

data: {"time":"2026-09-19T16:24:52.386Z","priority":"6","pid":"2830187","message":"FAIL 1248: 'Non-proxied host plus --proxy option and --noproxy option' HTTP, HTTP proxy, noproxy"}

data: {"time":"2026-09-19T16:24:52.386Z","priority":"6","pid":"2830187","message":"FAIL 1249: 'Non-proxied plus --proxy option and NO_PROXY env var' HTTP, HTTP proxy, NO_PROXY"}

data: {"time":"2026-09-19T16:24:52.386Z","priority":"6","pid":"2830187","message":"FAIL 1250: 'Non-proxied host plus http_proxy env var and --noproxy option' HTTP, HTTP proxy, http_proxy, noproxy"}

data: {"time":"2026-09-19T16:24:52.387Z","priority":"6","pid":"2830187","message":"FAIL 1251: 'Non-proxied host plus http_proxy env var and NO_PROXY env var' HTTP, HTTP proxy, http_proxy, NO_PROXY"}

data: {"time":"2026-09-19T16:24:52.388Z","priority":"6","pid":"2830187","message":"FAIL 1252: '--proxy, override NO_PROXY by --noproxy and access target URL directly' HTTP, HTTP proxy, NO_PROXY, noproxy"}

data: {"time":"2026-09-19T16:24:52.388Z","priority":"6","pid":"2830187","message":"FAIL 1253: '--proxy, override NO_PROXY by --noproxy and access URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy"}

data: {"time":"2026-09-19T16:24:52.389Z","priority":"6","pid":"2830187","message":"FAIL 1254: 'override NO_PROXY by --noproxy and access target URL through proxy' HTTP, HTTP proxy, NO_PROXY, noproxy"}

data: {"time":"2026-09-19T16:24:52.389Z","priority":"6","pid":"2830187","message":"FAIL 1255: 'http_proxy, override NO_PROXY by --noproxy and access URL directly' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy"}

data: {"time":"2026-09-19T16:24:52.390Z","priority":"6","pid":"2830187","message":"FAIL 1256: 'http_proxy, override NO_PROXY by --noproxy host' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy"}

data: {"time":"2026-09-19T16:24:52.390Z","priority":"6","pid":"2830187","message":"FAIL 1257: 'http_proxy, override NO_PROXY by --noproxy \"\"' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy"}

data: {"time":"2026-09-19T16:24:52.390Z","priority":"6","pid":"2830187","message":"FAIL 1258: 'HTTP, use cookies with localhost' HTTP, HTTP GET, HTTP replaced headers, cookies, httponly"}

data: {"time":"2026-09-19T16:24:52.391Z","priority":"6","pid":"2830187","message":"FAIL 1259: 'HTTP URL with semicolon in password' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.391Z","priority":"6","pid":"2830187","message":"FAIL 1260: 'HTTP URL with rubbish after port number' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.392Z","priority":"6","pid":"2830187","message":"FAIL 1261: ''redirect_url' with --location and --max-redirs' HTTP, HTTP GET, redirect_url, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.392Z","priority":"6","pid":"2830187","message":"FAIL 1262: 'FTP request and denied to download an older file with -z' FTP, RETR, -z"}

data: {"time":"2026-09-19T16:24:52.392Z","priority":"6","pid":"2830187","message":"FAIL 1263: 'HTTP URL with rubbish after IPv6 bracket' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.394Z","priority":"6","pid":"2830187","message":"FAIL 1264: 'HTTP URL with space in hostname' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.394Z","priority":"6","pid":"2830187","message":"FAIL 1265: 'NO_PROXY with IPv6 numerical address' HTTP, HTTP proxy, http_proxy, NO_PROXY, noproxy, IPv6"}

data: {"time":"2026-09-19T16:24:52.394Z","priority":"6","pid":"2830187","message":"FAIL 1266: 'HTTP GET with a single-byte HTTP/0.9 response' HTTP/0.9"}

data: {"time":"2026-09-19T16:24:52.395Z","priority":"6","pid":"2830187","message":"FAIL 1267: 'HTTP GET with an invalid HTTP/1 response line start' HTTP/0.9"}

data: {"time":"2026-09-19T16:24:52.438Z","priority":"6","pid":"2830187","message":"FAIL 1268: 'filename argument looks like a flag' warning"}

data: {"time":"2026-09-19T16:24:52.439Z","priority":"6","pid":"2830187","message":"FAIL 1269: 'too large --retry-delay value' --retry-delay"}

data: {"time":"2026-09-19T16:24:52.440Z","priority":"6","pid":"2830187","message":"FAIL 1270: 'Basic 'redirect_url'' HTTP, HTTP GET, redirect_url, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.441Z","priority":"6","pid":"2830187","message":"FAIL 1271: '--write-out from file with empty file' HTTP, HTTP GET, --write-out"}

data: {"time":"2026-09-19T16:24:52.442Z","priority":"6","pid":"2830187","message":"FAIL 1273: '-f and resume transfer of an entirely-downloaded file' HTTP, HTTP GET, Resume"}

data: {"time":"2026-09-19T16:24:52.443Z","priority":"6","pid":"2830187","message":"FAIL 1274: 'HTTP header line folding' HTTP, HTTP GET, header line folding"}

data: {"time":"2026-09-19T16:24:52.444Z","priority":"6","pid":"2830187","message":"FAIL 1277: 'HTTP GET with both content and transfer encoding' HTTP, HTTP GET, compressed, Transfer-Encoding, Content-Encoding"}

data: {"time":"2026-09-19T16:24:52.444Z","priority":"6","pid":"2830187","message":"FAIL 1278: 'verify extra --no-remote-name' --no-remote-name"}

data: {"time":"2026-09-19T16:24:52.448Z","priority":"6","pid":"2830187","message":"FAIL 1280: 'simple [a-d] globbing' globbing"}

data: {"time":"2026-09-19T16:24:52.448Z","priority":"6","pid":"2830187","message":"FAIL 1281: 'reject non-numerical port number in URL' URL"}

data: {"time":"2026-09-19T16:24:52.448Z","priority":"6","pid":"2830187","message":"FAIL 1282: 'FTP with 633 response to auth' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.448Z","priority":"6","pid":"2830187","message":"FAIL 1283: 'globbing range with same start and stop' HTTP, HTTP GET, globbing, [] range"}

data: {"time":"2026-09-19T16:24:52.449Z","priority":"6","pid":"2830187","message":"FAIL 1284: 'HTTP POST --digest with user-specified Content-Length header' HTTP, HTTP POST, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.450Z","priority":"6","pid":"2830187","message":"FAIL 1285: 'HTTP PUT --digest with user-specified Content-Length header' HTTP, HTTP PUT, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.452Z","priority":"6","pid":"2830187","message":"FAIL 1286: 'HTTP GET --digest increasing nonce-count' HTTP, HTTP GET, HTTP Digest auth, followlocation"}

data: {"time":"2026-09-19T16:24:52.452Z","priority":"6","pid":"2830187","message":"FAIL 1287: 'HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses' HTTP, HTTP GET, HTTP CONNECT, proxytunnel, verbose logs"}

data: {"time":"2026-09-19T16:24:52.454Z","priority":"6","pid":"2830187","message":"FAIL 1288: 'Suppress proxy CONNECT response headers' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.455Z","priority":"6","pid":"2830187","message":"FAIL 1289: 'globbing with overflow and bad syntax' HTTP, HTTP GET, globbing"}

data: {"time":"2026-09-19T16:24:52.456Z","priority":"6","pid":"2830187","message":"FAIL 1290: 'Verify URL globbing ignores []' HTTP, HTTP GET, globbing"}

data: {"time":"2026-09-19T16:24:52.456Z","priority":"6","pid":"2830187","message":"FAIL 1291: 'Attempt to upload 1000 files but fail immediately' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:52.457Z","priority":"6","pid":"2830187","message":"FAIL 1292: 'Replaced internal headers with a blank one' HTTP, HTTP GET, HTTP added headers, HTTP replaced headers"}

data: {"time":"2026-09-19T16:24:52.458Z","priority":"6","pid":"2830187","message":"FAIL 1293: 'Multipart formpost to two URLs, the first failing' HTTP, HTTP GET, -F"}

data: {"time":"2026-09-19T16:24:52.459Z","priority":"6","pid":"2830187","message":"FAIL 1296: 'HTTP URL with %0a in name part' HTTP, HTTP Basic"}

data: {"time":"2026-09-19T16:24:52.459Z","priority":"6","pid":"2830187","message":"FAIL 1297: 'CONNECT to peer that returns nothing' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.461Z","priority":"6","pid":"2830187","message":"FAIL 1298: 'HTTP GET special path with --request-target' HTTP, HTTP GET, --request-target"}

data: {"time":"2026-09-19T16:24:52.462Z","priority":"6","pid":"2830187","message":"FAIL 1299: 'Send \"OPTIONS *\" with --request-target' HTTP, --request-target"}

data: {"time":"2026-09-19T16:24:52.462Z","priority":"6","pid":"2830187","message":"FAIL 1300: 'llist unit tests' unittest, llist"}

data: {"time":"2026-09-19T16:24:52.463Z","priority":"6","pid":"2830187","message":"FAIL 1301: 'curl_strequal tests' curl_strequal"}

data: {"time":"2026-09-19T16:24:52.463Z","priority":"6","pid":"2830187","message":"FAIL 1302: 'base64 encode/decode unit tests' unittest, base64"}

data: {"time":"2026-09-19T16:24:52.464Z","priority":"6","pid":"2830187","message":"FAIL 1303: 'Curl_timeleft_ms unit tests' unittest, Curl_timeleft_ms"}

data: {"time":"2026-09-19T16:24:52.465Z","priority":"6","pid":"2830187","message":"FAIL 1304: 'netrc parsing unit tests' unittest, netrc"}

data: {"time":"2026-09-19T16:24:52.465Z","priority":"6","pid":"2830187","message":"FAIL 1305: 'internal hash create/destroy testing' unittest, hash"}

data: {"time":"2026-09-19T16:24:52.467Z","priority":"6","pid":"2830187","message":"FAIL 1306: 'internal hash create/add/destroy testing' unittest, hash"}

data: {"time":"2026-09-19T16:24:52.467Z","priority":"6","pid":"2830187","message":"FAIL 1308: 'formpost tests' curl_formadd, curl_formget, FORM"}

data: {"time":"2026-09-19T16:24:52.468Z","priority":"6","pid":"2830187","message":"FAIL 1309: 'splay unit tests' unittest, splay"}

data: {"time":"2026-09-19T16:24:52.469Z","priority":"6","pid":"2830187","message":"FAIL 1310: 'HTTP GET with -J + --show-headers' HTTP, HTTP GET, -J, --show-headers"}

data: {"time":"2026-09-19T16:24:52.470Z","priority":"6","pid":"2830187","message":"FAIL 1311: 'HTTP GET with -J and Content-Disposition' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.470Z","priority":"6","pid":"2830187","message":"FAIL 1312: 'HTTP GET with -J, Content-Disposition and ; in filename' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.472Z","priority":"6","pid":"2830187","message":"FAIL 1313: 'HTTP GET with -J, Content-Disposition, uneven quotes' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.472Z","priority":"6","pid":"2830187","message":"FAIL 1314: 'HTTP Location: following a // prefixed url' HTTP, HTTP GET, HTTP proxy, followlocation"}

data: {"time":"2026-09-19T16:24:52.473Z","priority":"6","pid":"2830187","message":"FAIL 1315: 'HTTP -F with three files, one with explicit type' HTTP, HTTP FORMPOST, HTTP file upload"}

data: {"time":"2026-09-19T16:24:52.475Z","priority":"6","pid":"2830187","message":"FAIL 1317: 'HTTP with --resolve' HTTP, HTTP GET, --resolve"}

data: {"time":"2026-09-19T16:24:52.475Z","priority":"6","pid":"2830187","message":"FAIL 1318: 'HTTP with --resolve and same hostname using different cases' HTTP, HTTP GET, --resolve"}

data: {"time":"2026-09-19T16:24:52.475Z","priority":"6","pid":"2830187","message":"FAIL 1319: 'POP3 fetch tunneled through HTTP proxy' POP3, RETR, HTTP, HTTP CONNECT, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.477Z","priority":"6","pid":"2830187","message":"FAIL 1320: 'SMTP send tunneled through HTTP proxy' SMTP, HTTP, HTTP CONNECT, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.478Z","priority":"6","pid":"2830187","message":"FAIL 1321: 'IMAP FETCH tunneled through HTTP proxy' IMAP, FETCH, HTTP, HTTP CONNECT, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.478Z","priority":"6","pid":"2830187","message":"FAIL 1322: 'HTTP with --resolve and hostname with trailing dot' HTTP, HTTP GET, --resolve, trailing-dot"}

data: {"time":"2026-09-19T16:24:52.479Z","priority":"6","pid":"2830187","message":"FAIL 1323: 'curlx_tvdiff' unittest, curlx_tvdiff"}

data: {"time":"2026-09-19T16:24:52.480Z","priority":"6","pid":"2830187","message":"FAIL 1324: 'HTTP with --resolve and [ipv6address]' HTTP, HTTP GET, IPv6, --resolve"}

data: {"time":"2026-09-19T16:24:52.482Z","priority":"6","pid":"2830187","message":"FAIL 1325: 'HTTP 308-redirect with POST' HTTP, HTTP GET, 308, followlocation"}

data: {"time":"2026-09-19T16:24:52.482Z","priority":"6","pid":"2830187","message":"FAIL 1326: 'TELNET to HTTP server' TELNET, UPLOAD"}

data: {"time":"2026-09-19T16:24:52.484Z","priority":"6","pid":"2830187","message":"FAIL 1327: 'TELNET check of upload with stdout redirected' TELNET, UPLOAD"}

data: {"time":"2026-09-19T16:24:52.484Z","priority":"6","pid":"2830187","message":"FAIL 1328: 'HTTP GET a globbed range with -f' HTTP, HTTP GET, globbing, --fail"}

data: {"time":"2026-09-19T16:24:52.484Z","priority":"6","pid":"2830187","message":"FAIL 1329: '/-prefixed proxy name' HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.485Z","priority":"6","pid":"2830187","message":"FAIL 1331: 'HTTP --proxy-anyauth and 407 with cookies' HTTP, HTTP GET, HTTP proxy, cookies"}

data: {"time":"2026-09-19T16:24:52.486Z","priority":"6","pid":"2830187","message":"FAIL 1332: 'HTTP POST with 303 redirect and --post303' HTTP, HTTP POST, followlocation"}

data: {"time":"2026-09-19T16:24:52.487Z","priority":"6","pid":"2830187","message":"FAIL 1333: 'HTTP POST zero length, chunked-encoded' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.487Z","priority":"6","pid":"2830187","message":"FAIL 1334: 'HTTP GET with -O without Content-Disposition, -D file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.488Z","priority":"6","pid":"2830187","message":"FAIL 1335: 'HTTP GET with -O without Content-Disposition, -D stdout' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.489Z","priority":"6","pid":"2830187","message":"FAIL 1336: 'HTTP GET with -O and Content-Disposition, -D file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.489Z","priority":"6","pid":"2830187","message":"FAIL 1337: 'HTTP GET with -O and Content-Disposition, -D stdout' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.490Z","priority":"6","pid":"2830187","message":"FAIL 1338: 'HTTP GET with -O -J without Content-Disposition, -D file' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.490Z","priority":"6","pid":"2830187","message":"FAIL 1339: 'HTTP GET with -O -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.491Z","priority":"6","pid":"2830187","message":"FAIL 1340: 'HTTP GET with -O -J and Content-Disposition, -D file' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.491Z","priority":"6","pid":"2830187","message":"FAIL 1341: 'HTTP GET with -O -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.492Z","priority":"6","pid":"2830187","message":"FAIL 1342: 'HTTP GET with -O -i without Content-Disposition, -D file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.492Z","priority":"6","pid":"2830187","message":"FAIL 1343: 'HTTP GET with -O -i without Content-Disposition, -D stdout' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.493Z","priority":"6","pid":"2830187","message":"FAIL 1344: 'HTTP GET with -O -i and Content-Disposition, -D file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.493Z","priority":"6","pid":"2830187","message":"FAIL 1345: 'HTTP GET with -O -i and Content-Disposition, -D stdout' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.496Z","priority":"6","pid":"2830187","message":"FAIL 1346: 'HTTP GET with -O -i without Content-Disposition, without -D' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.496Z","priority":"6","pid":"2830187","message":"FAIL 1347: 'HTTP GET with -O -i and Content-Disposition, without -D' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.496Z","priority":"6","pid":"2830187","message":"FAIL 1348: 'FTP download, file without Content-Disposition inside, using -O' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.498Z","priority":"6","pid":"2830187","message":"FAIL 1349: 'FTP download, file without C-D inside, using -O -D file' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.498Z","priority":"6","pid":"2830187","message":"FAIL 1350: 'FTP download, file without C-D inside, using -O -D stdout' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.499Z","priority":"6","pid":"2830187","message":"FAIL 1351: 'FTP download, file without C-D inside, using -O -J -D file' FTP, RETR, -J"}

data: {"time":"2026-09-19T16:24:52.499Z","priority":"6","pid":"2830187","message":"FAIL 1352: 'FTP download, file without C-D inside, using -O -J -D stdout' FTP, RETR, -J"}

data: {"time":"2026-09-19T16:24:52.500Z","priority":"6","pid":"2830187","message":"FAIL 1353: 'FTP download, file without C-D inside, using -O -i -D file' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.500Z","priority":"6","pid":"2830187","message":"FAIL 1354: 'FTP download, file without C-D inside, using -O -i -D stdout' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.501Z","priority":"6","pid":"2830187","message":"FAIL 1355: 'FTP download, file without C-D inside, using -O -i, without -D' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.502Z","priority":"6","pid":"2830187","message":"FAIL 1356: 'FTP download, file with Content-Disposition inside, using -O' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.502Z","priority":"6","pid":"2830187","message":"FAIL 1357: 'FTP download, file with C-D inside, using -O -D file' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.502Z","priority":"6","pid":"2830187","message":"FAIL 1358: 'FTP download, file with C-D inside, using -O -D stdout' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.502Z","priority":"6","pid":"2830187","message":"FAIL 1359: 'FTP download, file with C-D inside, using -O -J -D file' FTP, RETR, -J"}

data: {"time":"2026-09-19T16:24:52.503Z","priority":"6","pid":"2830187","message":"FAIL 1360: 'FTP download, file with C-D inside, using -O -J -D stdout' FTP, RETR, -J"}

data: {"time":"2026-09-19T16:24:52.503Z","priority":"6","pid":"2830187","message":"FAIL 1361: 'FTP download, file with C-D inside, using -O -i -D file' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.504Z","priority":"6","pid":"2830187","message":"FAIL 1362: 'FTP download, file with C-D inside, using -O -i -D stdout' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.504Z","priority":"6","pid":"2830187","message":"FAIL 1363: 'FTP download, file with C-D inside, using -O -i, without -D' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.504Z","priority":"6","pid":"2830187","message":"FAIL 1364: 'HTTP GET -o fname without Content-Disposition, -D file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.505Z","priority":"6","pid":"2830187","message":"FAIL 1365: 'HTTP GET -o fname without Content-Disposition, -D stdout' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.505Z","priority":"6","pid":"2830187","message":"FAIL 1366: 'HTTP GET -o fname and Content-Disposition, -D file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.506Z","priority":"6","pid":"2830187","message":"FAIL 1367: 'HTTP GET -o fname and Content-Disposition, -D stdout' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.506Z","priority":"6","pid":"2830187","message":"FAIL 1368: 'HTTP GET -o fname -J without Content-Disposition, -D file' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.506Z","priority":"6","pid":"2830187","message":"FAIL 1369: 'HTTP GET -o fname -J without Content-Disposition, -D stdout' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.507Z","priority":"6","pid":"2830187","message":"FAIL 1370: 'HTTP GET -o fname -J and Content-Disposition, -D file' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.507Z","priority":"6","pid":"2830187","message":"FAIL 1371: 'HTTP GET -o fname -J and Content-Disposition, -D stdout' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.508Z","priority":"6","pid":"2830187","message":"FAIL 1372: 'HTTP GET -o fname -i without Content-Disposition, -D file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.509Z","priority":"6","pid":"2830187","message":"FAIL 1373: 'HTTP GET -o fname -i without Content-Disposition, -D stdout' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.509Z","priority":"6","pid":"2830187","message":"FAIL 1374: 'HTTP GET -o fname -i and Content-Disposition, -D file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.509Z","priority":"6","pid":"2830187","message":"FAIL 1375: 'HTTP GET -o fname -i and Content-Disposition, -D stdout' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.509Z","priority":"6","pid":"2830187","message":"FAIL 1376: 'HTTP GET -o fname -i without Content-Disposition, without -D' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.510Z","priority":"6","pid":"2830187","message":"FAIL 1377: 'HTTP GET -o fname -i and Content-Disposition, without -D' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.546Z","priority":"6","pid":"2830187","message":"FAIL 1378: 'FTP DL, file without Content-Disposition inside, using -o fname' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.546Z","priority":"6","pid":"2830187","message":"FAIL 1379: 'FTP DL, file without C-D inside, using -o fname -D file' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.547Z","priority":"6","pid":"2830187","message":"FAIL 1380: 'FTP DL, file without C-D inside, using -o fname -D stdout' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.547Z","priority":"6","pid":"2830187","message":"FAIL 1381: 'FTP DL, file without C-D inside, using -o fname -J -D file' FTP, RETR, -J"}

data: {"time":"2026-09-19T16:24:52.548Z","priority":"6","pid":"2830187","message":"FAIL 1382: 'FTP DL, file without C-D inside, using -o fname -J -D stdout' FTP, RETR, -J"}

data: {"time":"2026-09-19T16:24:52.548Z","priority":"6","pid":"2830187","message":"FAIL 1383: 'FTP DL, file without C-D inside, using -o fname -i -D file' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.549Z","priority":"6","pid":"2830187","message":"FAIL 1384: 'FTP DL, file without C-D inside, using -o fname -i -D stdout' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.549Z","priority":"6","pid":"2830187","message":"FAIL 1385: 'FTP DL, file without C-D inside, using -o fname -i, without -D' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.550Z","priority":"6","pid":"2830187","message":"FAIL 1386: 'FTP DL, file with Content-Disposition inside, using -o fname' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.550Z","priority":"6","pid":"2830187","message":"FAIL 1387: 'FTP DL, file with C-D inside, using -o fname -D file' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.551Z","priority":"6","pid":"2830187","message":"FAIL 1388: 'FTP DL, file with C-D inside, using -o fname -D stdout' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.551Z","priority":"6","pid":"2830187","message":"FAIL 1389: 'FTP DL, file with C-D inside, using -o fname -J -D file' FTP, RETR, -J"}

data: {"time":"2026-09-19T16:24:52.552Z","priority":"6","pid":"2830187","message":"FAIL 1390: 'FTP DL, file with C-D inside, using -o fname -J -D stdout' FTP, RETR, -J"}

data: {"time":"2026-09-19T16:24:52.552Z","priority":"6","pid":"2830187","message":"FAIL 1391: 'FTP DL, file with C-D inside, using -o fname -i -D file' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.553Z","priority":"6","pid":"2830187","message":"FAIL 1392: 'FTP DL, file with C-D inside, using -o fname -i -D stdout' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.553Z","priority":"6","pid":"2830187","message":"FAIL 1393: 'FTP DL, file with C-D inside, using -o fname -i, without -D' FTP, RETR"}

data: {"time":"2026-09-19T16:24:52.554Z","priority":"6","pid":"2830187","message":"FAIL 1394: 'unit test for parse_cert_parameter()' unittest"}

data: {"time":"2026-09-19T16:24:52.554Z","priority":"6","pid":"2830187","message":"FAIL 1395: 'Curl_dedotdotify' unittest"}

data: {"time":"2026-09-19T16:24:52.554Z","priority":"6","pid":"2830187","message":"FAIL 1396: 'curl_easy_escape and curl_easy_unescape' curl_easy_escape, curl_easy_unescape"}

data: {"time":"2026-09-19T16:24:52.555Z","priority":"6","pid":"2830187","message":"FAIL 1397: 'Curl_cert_hostcheck unit tests' unittest, Curl_cert_hostcheck"}

data: {"time":"2026-09-19T16:24:52.555Z","priority":"6","pid":"2830187","message":"FAIL 1398: 'curl_msnprintf tests' curl_msnprintf"}

data: {"time":"2026-09-19T16:24:52.555Z","priority":"6","pid":"2830187","message":"FAIL 1400: '--libcurl for simple HTTP GET' HTTP, HTTP GET, --libcurl"}

data: {"time":"2026-09-19T16:24:52.556Z","priority":"6","pid":"2830187","message":"FAIL 1401: '--libcurl for GET with various options' HTTP, HTTP GET, HTTP Basic auth, HTTP set cookie, cookies, --libcurl"}

data: {"time":"2026-09-19T16:24:52.556Z","priority":"6","pid":"2830187","message":"FAIL 1402: '--libcurl for simple POST' HTTP, HTTP POST, --libcurl"}

data: {"time":"2026-09-19T16:24:52.557Z","priority":"6","pid":"2830187","message":"FAIL 1403: '--libcurl for GET with query' HTTP, HTTP GET, --libcurl"}

data: {"time":"2026-09-19T16:24:52.557Z","priority":"6","pid":"2830187","message":"FAIL 1404: '--libcurl plus -F with 3 files, one with explicit type and encoder' HTTP, HTTP FORMPOST, HTTP file upload, --libcurl"}

data: {"time":"2026-09-19T16:24:52.558Z","priority":"6","pid":"2830187","message":"FAIL 1405: '--libcurl for FTP with quote ops' FTP, post-quote, pre-quote, --libcurl"}

data: {"time":"2026-09-19T16:24:52.558Z","priority":"6","pid":"2830187","message":"FAIL 1406: '--libcurl for SMTP' SMTP, --libcurl"}

data: {"time":"2026-09-19T16:24:52.559Z","priority":"6","pid":"2830187","message":"FAIL 1407: '--libcurl for POP3 LIST one message' POP3, Clear Text, LIST, --libcurl"}

data: {"time":"2026-09-19T16:24:52.560Z","priority":"6","pid":"2830187","message":"FAIL 1408: 'HTTP receive cookies over IPV6' HTTP, HTTP GET, IPv6, cookies, cookiejar"}

data: {"time":"2026-09-19T16:24:52.560Z","priority":"6","pid":"2830187","message":"FAIL 1409: 'Pass in string to -C' cmdline"}

data: {"time":"2026-09-19T16:24:52.560Z","priority":"6","pid":"2830187","message":"FAIL 1410: 'Pass in negative number to --max-time' cmdline"}

data: {"time":"2026-09-19T16:24:52.561Z","priority":"6","pid":"2830187","message":"FAIL 1411: 'HTTP with zero size file PUT' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:52.561Z","priority":"6","pid":"2830187","message":"FAIL 1412: 'HTTP GET with --anyauth with two URLs (picking Digest)' HTTP, HTTP GET, HTTP Digest auth, --anyauth"}

data: {"time":"2026-09-19T16:24:52.561Z","priority":"6","pid":"2830187","message":"FAIL 1413: 'HTTP redirect with fragment in new URL' HTTP, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:52.561Z","priority":"6","pid":"2830187","message":"FAIL 1414: 'FTP PORT without SIZE or EPRT support' FTP, PORT, RETR, no SIZE"}

data: {"time":"2026-09-19T16:24:52.562Z","priority":"6","pid":"2830187","message":"FAIL 1415: 'Delete expired cookies' HTTP, HTTP GET, HTTP proxy, cookies, cookiejar, delete expired cookie"}

data: {"time":"2026-09-19T16:24:52.562Z","priority":"6","pid":"2830187","message":"FAIL 1416: 'HTTP GET with chunked Transfer-Encoding overflowed chunked size' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.563Z","priority":"6","pid":"2830187","message":"FAIL 1417: 'HTTP GET with chunked encoding and chunked trailer without CRs' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.564Z","priority":"6","pid":"2830187","message":"FAIL 1418: 'HTTP with --anyauth and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse"}

data: {"time":"2026-09-19T16:24:52.564Z","priority":"6","pid":"2830187","message":"FAIL 1419: 'HTTP with --anyauth (but no auth!) and connection reuse' HTTP, HTTP GET, HTTP NTLM auth, connection reuse"}

data: {"time":"2026-09-19T16:24:52.564Z","priority":"6","pid":"2830187","message":"FAIL 1420: '--libcurl for IMAP FETCH message' IMAP, Clear Text, FETCH, --libcurl"}

data: {"time":"2026-09-19T16:24:52.565Z","priority":"6","pid":"2830187","message":"FAIL 1421: 'Reusing HTTP proxy connection for two different hostnames' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.565Z","priority":"6","pid":"2830187","message":"FAIL 1422: 'HTTP GET with -O -J and Content-Disposition (empty file)' HTTP, FILE, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.565Z","priority":"6","pid":"2830187","message":"FAIL 1423: 'HTTP GET -o fname without Content-Disposition (empty file)' HTTP, FILE, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.566Z","priority":"6","pid":"2830187","message":"FAIL 1424: 'HTTP GET -o fname without Content-Disposition (unmet time condition)' HTTP, HTTP GET, If-Modified-Since, -z"}

data: {"time":"2026-09-19T16:24:52.566Z","priority":"6","pid":"2830187","message":"FAIL 1427: 'too large -m timeout value' integer overflow"}

data: {"time":"2026-09-19T16:24:52.567Z","priority":"6","pid":"2830187","message":"FAIL 1428: 'HTTP over proxy-tunnel with --proxy-header and --header' HTTP, HTTP GET, HTTP CONNECT, HTTP Basic auth, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.567Z","priority":"6","pid":"2830187","message":"FAIL 1429: 'HTTP GET with 999 response code' HTTP, HTTP GET, HTTP/0.9"}

data: {"time":"2026-09-19T16:24:52.567Z","priority":"6","pid":"2830187","message":"FAIL 1430: 'HTTP GET with negative response code' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.568Z","priority":"6","pid":"2830187","message":"FAIL 1431: 'HTTP GET with single-digit response code' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.568Z","priority":"6","pid":"2830187","message":"FAIL 1432: 'HTTP GET with 100-digit response code and survive' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.569Z","priority":"6","pid":"2830187","message":"FAIL 1433: 'HTTP GET with 100-digit subversion number in response' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.569Z","priority":"6","pid":"2830187","message":"FAIL 1434: 'HTTP GET resume at exactly the existing file size is fine' HTTP, HTTP GET, Resume"}

data: {"time":"2026-09-19T16:24:52.569Z","priority":"6","pid":"2830187","message":"FAIL 1435: 'simple HTTP GET over Unix socket' HTTP, HTTP GET, UnixSockets"}

data: {"time":"2026-09-19T16:24:52.570Z","priority":"6","pid":"2830187","message":"FAIL 1436: 'HTTP requests with multiple connections over Unix socket' HTTP, HTTP GET, UnixSockets"}

data: {"time":"2026-09-19T16:24:52.570Z","priority":"6","pid":"2830187","message":"FAIL 1437: 'HTTP with duplicated WWW-Authenticate parameters' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.570Z","priority":"6","pid":"2830187","message":"FAIL 1438: 'Check if %{scheme} returns HTTP' HTTP, protocol, --write-out"}

data: {"time":"2026-09-19T16:24:52.571Z","priority":"6","pid":"2830187","message":"FAIL 1439: 'Check if %{http_version} returns 1.1' HTTP, --write-out"}

data: {"time":"2026-09-19T16:24:52.571Z","priority":"6","pid":"2830187","message":"FAIL 1440: 'Check --write-out with trailing %{' --write-out, FILE"}

data: {"time":"2026-09-19T16:24:52.571Z","priority":"6","pid":"2830187","message":"FAIL 1441: 'Check --write-out with trailing %' --write-out, FILE"}

data: {"time":"2026-09-19T16:24:52.572Z","priority":"6","pid":"2830187","message":"FAIL 1442: 'Check --write-out with trailing \\' --write-out, FILE"}

data: {"time":"2026-09-19T16:24:52.572Z","priority":"6","pid":"2830187","message":"FAIL 1443: 'HTTP GET with -O and --remote-time' HTTP, HTTP GET, -O, --remote-time"}

data: {"time":"2026-09-19T16:24:52.573Z","priority":"6","pid":"2830187","message":"FAIL 1444: 'FTP with --remote-time' FTP, EPSV, RETR, --remote-time"}

data: {"time":"2026-09-19T16:24:52.573Z","priority":"6","pid":"2830187","message":"FAIL 1445: 'file:// with --remote-time' FILE, --remote-time"}

data: {"time":"2026-09-19T16:24:52.573Z","priority":"6","pid":"2830187","message":"FAIL 1447: 'Provide illegal proxy name' HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.574Z","priority":"6","pid":"2830187","message":"FAIL 1448: 'Redirect following to UTF-8 IDN hostname' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out"}

data: {"time":"2026-09-19T16:24:52.574Z","priority":"6","pid":"2830187","message":"FAIL 1449: 'FTP download range with integer overflow' FTP, PASV, RETR, Resume"}

data: {"time":"2026-09-19T16:24:52.575Z","priority":"6","pid":"2830187","message":"FAIL 1450: 'Basic DICT lookup' DICT"}

data: {"time":"2026-09-19T16:24:52.575Z","priority":"6","pid":"2830187","message":"FAIL 1452: 'Basic TELNET negotiation' TELNET, UPLOAD"}

data: {"time":"2026-09-19T16:24:52.575Z","priority":"6","pid":"2830187","message":"FAIL 1453: 'Too long tftp filename' Too long tftp filename"}

data: {"time":"2026-09-19T16:24:52.576Z","priority":"6","pid":"2830187","message":"FAIL 1455: 'HTTP GET when PROXY Protocol enabled' HTTP, HTTP GET, proxy, haproxy"}

data: {"time":"2026-09-19T16:24:52.576Z","priority":"6","pid":"2830187","message":"FAIL 1456: 'HTTP-IPv6 GET with PROXY protocol' HTTP, HTTP GET, proxy, haproxy, IPv6"}

data: {"time":"2026-09-19T16:24:52.577Z","priority":"6","pid":"2830187","message":"FAIL 1457: 'Check if %{stderr} and %{stdout} switch between stdout and stderr.' HTTP, protocol, --write-out"}

data: {"time":"2026-09-19T16:24:52.577Z","priority":"6","pid":"2830187","message":"FAIL 1458: 'HTTP with wildcard --resolve' HTTP, HTTP GET, --resolve"}

data: {"time":"2026-09-19T16:24:52.577Z","priority":"6","pid":"2830187","message":"FAIL 1460: 'HTTP GET with -Ji and Content-Disposition with existing file' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.578Z","priority":"6","pid":"2830187","message":"FAIL 1462: 'curl invalid category --help' --help"}

data: {"time":"2026-09-19T16:24:52.578Z","priority":"6","pid":"2830187","message":"FAIL 1463: 'curl file category --help' FILE, --help"}

data: {"time":"2026-09-19T16:24:52.578Z","priority":"6","pid":"2830187","message":"FAIL 1464: 'curl file category --help with lower/upper mix' FILE, --help"}

data: {"time":"2026-09-19T16:24:52.579Z","priority":"6","pid":"2830187","message":"FAIL 1465: '--libcurl for POST with binary content' HTTP, HTTP POST, --libcurl"}

data: {"time":"2026-09-19T16:24:52.579Z","priority":"6","pid":"2830187","message":"FAIL 1466: 'HTTP GET with 3-digit response and only digits in reason' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.579Z","priority":"6","pid":"2830187","message":"FAIL 1467: 'HTTP GET via SOCKS5 proxy via Unix sockets' HTTP, HTTP GET, SOCKS5, UnixSockets"}

data: {"time":"2026-09-19T16:24:52.580Z","priority":"6","pid":"2830187","message":"FAIL 1468: 'HTTP GET with hostname using SOCKS5h via Unix sockets' HTTP, HTTP GET, SOCKS5, SOCKS5h, UnixSockets"}

data: {"time":"2026-09-19T16:24:52.580Z","priority":"6","pid":"2830187","message":"FAIL 1469: 'Space in FTP upload URL' FTP, URL"}

data: {"time":"2026-09-19T16:24:52.581Z","priority":"6","pid":"2830187","message":"FAIL 1471: 'Fail to resolve .onion TLD' Onion, Tor"}

data: {"time":"2026-09-19T16:24:52.581Z","priority":"6","pid":"2830187","message":"FAIL 1472: 'Fail to resolve .onion. TLD' Onion, Tor"}

data: {"time":"2026-09-19T16:24:52.581Z","priority":"6","pid":"2830187","message":"FAIL 1473: 'first HTTP header starts with white space' HTTP, HTTP GET, header line folding"}

data: {"time":"2026-09-19T16:24:52.582Z","priority":"6","pid":"2830187","message":"FAIL 1474: '--proto -all disables all protocols' HTTP, HTTP GET, --proto"}

data: {"time":"2026-09-19T16:24:52.582Z","priority":"6","pid":"2830187","message":"FAIL 1475: '-f and 416 with Content-Range: */size' HTTP, HTTP GET, Resume"}

data: {"time":"2026-09-19T16:24:52.582Z","priority":"6","pid":"2830187","message":"FAIL 1476: 'PSL violating cookie with mixed case domain and cookie domain property' HTTP, HTTP GET, cookies"}

data: {"time":"2026-09-19T16:24:52.583Z","priority":"6","pid":"2830187","message":"FAIL 1479: 'HTTP/1.1 response followed by HTTP/0.9 response over same connection' HTTP, HTTP/0.9"}

data: {"time":"2026-09-19T16:24:52.583Z","priority":"6","pid":"2830187","message":"FAIL 1480: 'HTTP Continue response without final response' HTTP"}

data: {"time":"2026-09-19T16:24:52.583Z","priority":"6","pid":"2830187","message":"FAIL 1481: '--libcurl with TLS version options' HTTP, HTTP GET, --libcurl"}

data: {"time":"2026-09-19T16:24:52.584Z","priority":"6","pid":"2830187","message":"FAIL 1482: 'HTTP GET with double chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY"}

data: {"time":"2026-09-19T16:24:52.584Z","priority":"6","pid":"2830187","message":"FAIL 1483: 'HTTP GET with two Transfer-Encoding: chunked headers' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY"}

data: {"time":"2026-09-19T16:24:52.584Z","priority":"6","pid":"2830187","message":"FAIL 1484: 'HTTP HEAD with response body to ignore' HTTP, HTTP HEAD"}

data: {"time":"2026-09-19T16:24:52.585Z","priority":"6","pid":"2830187","message":"FAIL 1485: 'get curlinfo on last header in callback' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.585Z","priority":"6","pid":"2830187","message":"FAIL 1487: 'HTTP GET with -J and Content-Disposition on 301' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.585Z","priority":"6","pid":"2830187","message":"FAIL 1489: '-D sent to stderr' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.586Z","priority":"6","pid":"2830187","message":"FAIL 1490: '\"upload\" with file:// overwriting existing' FILE"}

data: {"time":"2026-09-19T16:24:52.586Z","priority":"6","pid":"2830187","message":"FAIL 1491: 'file:// do not overwrite self with --skip-existing' FILE"}

data: {"time":"2026-09-19T16:24:52.587Z","priority":"6","pid":"2830187","message":"FAIL 1492: 'HTTP GET with -J + --show-headers but no Content-Disposition:' HTTP, HTTP GET, -J, --show-headers"}

data: {"time":"2026-09-19T16:24:52.611Z","priority":"6","pid":"2830187","message":"FAIL 1493: 'HTTP GET with identity + chunked in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY"}

data: {"time":"2026-09-19T16:24:52.612Z","priority":"6","pid":"2830187","message":"FAIL 1494: 'HTTP GET with identity twice in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY"}

data: {"time":"2026-09-19T16:24:52.613Z","priority":"6","pid":"2830187","message":"FAIL 1495: 'HTTP GET with chunked + identity in TE header' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY"}

data: {"time":"2026-09-19T16:24:52.613Z","priority":"6","pid":"2830187","message":"FAIL 1496: 'HTTP GET with gzip + chunked transfer-encoding without being asked' HTTP, HTTP GET, chunked Transfer-Encoding, DELAY"}

data: {"time":"2026-09-19T16:24:52.614Z","priority":"6","pid":"2830187","message":"FAIL 1497: 'HTTP GET --retry on 503 error with output to /dev/null' HTTP, HTTP GET, retry"}

data: {"time":"2026-09-19T16:24:52.614Z","priority":"6","pid":"2830187","message":"FAIL 1498: 'HTTP PUT from stdin using period' HTTP, HTTP PUT, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.615Z","priority":"6","pid":"2830187","message":"FAIL 1499: 'HTTP chunked encoding and chunked trailer, twice' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.615Z","priority":"6","pid":"2830187","message":"FAIL 1500: 'curl_multi_wait' HTTP, HTTP GET, multi"}

data: {"time":"2026-09-19T16:24:52.617Z","priority":"6","pid":"2830187","message":"FAIL 1501: 'FTP with multi interface and slow LIST response' FTP, RETR, multi, LIST, DELAY"}

data: {"time":"2026-09-19T16:24:52.617Z","priority":"6","pid":"2830187","message":"FAIL 1502: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE"}

data: {"time":"2026-09-19T16:24:52.618Z","priority":"6","pid":"2830187","message":"FAIL 1503: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PA' HTTP, HTTP GET, multi, CURLOPT_RESOLVE"}

data: {"time":"2026-09-19T16:24:52.618Z","priority":"6","pid":"2830187","message":"FAIL 1504: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence UB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE"}

data: {"time":"2026-09-19T16:24:52.619Z","priority":"6","pid":"2830187","message":"FAIL 1505: 'HTTP multi with CURLOPT_RESOLVE, cleanup sequence PB' HTTP, HTTP GET, multi, CURLOPT_RESOLVE"}

data: {"time":"2026-09-19T16:24:52.619Z","priority":"6","pid":"2830187","message":"FAIL 1506: 'HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)' HTTP, multi, verbose logs"}

data: {"time":"2026-09-19T16:24:52.620Z","priority":"6","pid":"2830187","message":"FAIL 1507: 'SMTP with multi interface and CURLE_ABORTED_BY_CALLBACK' SMTP, multi"}

data: {"time":"2026-09-19T16:24:52.620Z","priority":"6","pid":"2830187","message":"FAIL 1508: 'Close a multi handle without using it' HTTP, multi"}

data: {"time":"2026-09-19T16:24:52.621Z","priority":"6","pid":"2830187","message":"FAIL 1509: 'http:// through proxytunnel' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.621Z","priority":"6","pid":"2830187","message":"FAIL 1511: 'HTTP GET time conditions in repeated requests' HTTP, CURLOPT_TIMECONDITION"}

data: {"time":"2026-09-19T16:24:52.622Z","priority":"6","pid":"2830187","message":"FAIL 1513: 'return failure immediately from progress callback' PROGRESSFUNCTION, DELAY"}

data: {"time":"2026-09-19T16:24:52.622Z","priority":"6","pid":"2830187","message":"FAIL 1514: 'HTTP POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.623Z","priority":"6","pid":"2830187","message":"FAIL 1515: 'caching of manual libcurl DNS entries after DNS cache timeout' HTTP, multi, resolve"}

data: {"time":"2026-09-19T16:24:52.623Z","priority":"6","pid":"2830187","message":"FAIL 1516: 'caching of manual libcurl DNS entries after dead connection' HTTP, multi, resolve"}

data: {"time":"2026-09-19T16:24:52.624Z","priority":"6","pid":"2830187","message":"FAIL 1517: 'HTTP POST, server responds before completed send' HTTP, POST, POST callback, slow callback, early response"}

data: {"time":"2026-09-19T16:24:52.625Z","priority":"6","pid":"2830187","message":"FAIL 1518: 'Extract Location: with broken URL' HTTP"}

data: {"time":"2026-09-19T16:24:52.625Z","priority":"6","pid":"2830187","message":"FAIL 1519: 'Extract Location: with broken absolute URL' HTTP"}

data: {"time":"2026-09-19T16:24:52.625Z","priority":"6","pid":"2830187","message":"FAIL 1520: 'SMTP with CRLF-dot-CRLF in upload payload' SMTP"}

data: {"time":"2026-09-19T16:24:52.625Z","priority":"6","pid":"2830187","message":"FAIL 1521: 'Test all curl_easy_setopt and curl_easy_getinfo options' curl_easy_setopt"}

data: {"time":"2026-09-19T16:24:52.626Z","priority":"6","pid":"2830187","message":"FAIL 1522: 'CURLINFO_SIZE_UPLOAD with small SO_SNDBUF' CURLINFO_SIZE_UPLOAD"}

data: {"time":"2026-09-19T16:24:52.626Z","priority":"6","pid":"2830187","message":"FAIL 1523: 'CURLINFO_LOW_SPEED_LIMIT' CURLINFO_LOW_SPEED_LIMIT, DELAY"}

data: {"time":"2026-09-19T16:24:52.627Z","priority":"6","pid":"2830187","message":"FAIL 1524: 'HTTP PUT with 303 redirect' HTTP, HTTP PUT, followlocation"}

data: {"time":"2026-09-19T16:24:52.627Z","priority":"6","pid":"2830187","message":"FAIL 1525: 'CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER"}

data: {"time":"2026-09-19T16:24:52.628Z","priority":"6","pid":"2830187","message":"FAIL 1526: 'CURLOPT_PROXYHEADER: separate host/proxy headers' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_PROXYHEADER"}

data: {"time":"2026-09-19T16:24:52.629Z","priority":"6","pid":"2830187","message":"FAIL 1527: 'Same headers with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED' HTTP, HTTP PUT, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.629Z","priority":"6","pid":"2830187","message":"FAIL 1528: 'Separately specified proxy/server headers sent in a proxy GET' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.630Z","priority":"6","pid":"2830187","message":"FAIL 1529: 'HTTP request-injection in URL sent over proxy' HTTP, HTTP GET, HTTP proxy"}

data: {"time":"2026-09-19T16:24:52.630Z","priority":"6","pid":"2830187","message":"FAIL 1530: 'CURLOPT_OPENSOCKETFUNCTION returns bad socket' CURLOPT_OPENSOCKETFUNCTION"}

data: {"time":"2026-09-19T16:24:52.631Z","priority":"6","pid":"2830187","message":"FAIL 1531: 'CURLOPT_POSTFIELDS with binary data set after multi_add_handle' CURLOPT_POSTFIELDS"}

data: {"time":"2026-09-19T16:24:52.631Z","priority":"6","pid":"2830187","message":"FAIL 1532: 'Test CURLINFO_RESPONSE_CODE' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.632Z","priority":"6","pid":"2830187","message":"FAIL 1533: 'HTTP with CURLOPT_KEEP_SENDING_ON_ERROR and an early error response' HTTP, HTTP POST, CURLOPT_KEEP_SENDING_ON_ERROR"}

data: {"time":"2026-09-19T16:24:52.632Z","priority":"6","pid":"2830187","message":"FAIL 1534: 'CURLINFO_FILETIME init and reset' HTTP, HTTP GET, CURLINFO_FILETIME"}

data: {"time":"2026-09-19T16:24:52.633Z","priority":"6","pid":"2830187","message":"FAIL 1535: 'Test CURLINFO_RESPONSE_CODE CURLINFO_PROTOCOL' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.633Z","priority":"6","pid":"2830187","message":"FAIL 1536: 'Test CURLINFO_RESPONSE_CODE CURLINFO_SCHEME' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.633Z","priority":"6","pid":"2830187","message":"FAIL 1537: 'libcurl URL escape/unescape tests' URL escape"}

data: {"time":"2026-09-19T16:24:52.634Z","priority":"6","pid":"2830187","message":"FAIL 1538: 'libcurl strerror API call tests' strerror, verbose logs"}

data: {"time":"2026-09-19T16:24:52.634Z","priority":"6","pid":"2830187","message":"FAIL 1539: 'HTTP 1.0 POST with read callback and unknown data size' HTTP, HTTP POST, Content-Length, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.635Z","priority":"6","pid":"2830187","message":"FAIL 1540: 'chunked with trailers and pausing the receive' HTTP, HTTP GET, CURLPAUSE_RECV, chunked Transfer-Encoding, Trailer:, DELAY"}

data: {"time":"2026-09-19T16:24:52.635Z","priority":"6","pid":"2830187","message":"FAIL 1541: 'CURLINFO timer check' HTTP, HTTP GET, chunked Transfer-Encoding, Trailer:, DELAY"}

data: {"time":"2026-09-19T16:24:52.636Z","priority":"6","pid":"2830187","message":"FAIL 1542: 'connection reuse with CURLOPT_MAXLIFETIME_CONN' HTTP, connection reuse, persistent connection, CURLOPT_MAXLIFETIME_CONN, verbose logs"}

data: {"time":"2026-09-19T16:24:52.637Z","priority":"6","pid":"2830187","message":"FAIL 1543: 'CURLOPT_CURLU, URL with space and CURLINFO_EFFECTIVE_URL' HTTP, CURLOPT_CURLU"}

data: {"time":"2026-09-19T16:24:52.637Z","priority":"6","pid":"2830187","message":"FAIL 1545: 'use curl_formadd() data twice with unreadable file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.637Z","priority":"6","pid":"2830187","message":"FAIL 1546: 'HTTP transfer-encoding wrong order' HTTP, HTTP GET, Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.638Z","priority":"6","pid":"2830187","message":"FAIL 1547: 'FTP dir list PASV overriding PORT' FTP, PASV, LIST"}

data: {"time":"2026-09-19T16:24:52.638Z","priority":"6","pid":"2830187","message":"FAIL 1548: 'TELNET read stdin without upload file' TELNET"}

data: {"time":"2026-09-19T16:24:52.638Z","priority":"6","pid":"2830187","message":"FAIL 1549: 'Receive expired cookies and CURLINFO_COOKIELIST' HTTP, cookies"}

data: {"time":"2026-09-19T16:24:52.639Z","priority":"6","pid":"2830187","message":"FAIL 1550: 'verify setting pipelining blocklisting options' multi"}

data: {"time":"2026-09-19T16:24:52.639Z","priority":"6","pid":"2830187","message":"FAIL 1551: 're-run redirected transfer without setting URL again' multi"}

data: {"time":"2026-09-19T16:24:52.639Z","priority":"6","pid":"2830187","message":"FAIL 1552: 'IMAP multi transfer error without curl_multi_remove_handle' IMAP, Clear Text, FETCH"}

data: {"time":"2026-09-19T16:24:52.640Z","priority":"6","pid":"2830187","message":"FAIL 1553: 'IMAP cleanup with non-existing hostname' IMAP, Clear Text, FETCH"}

data: {"time":"2026-09-19T16:24:52.640Z","priority":"6","pid":"2830187","message":"FAIL 1554: 'HTTP with shared connection cache' HTTP, HTTP GET, shared connections"}

data: {"time":"2026-09-19T16:24:52.641Z","priority":"6","pid":"2830187","message":"FAIL 1555: 'verify api is protected against calls from callbacks' RECURSIVE_API_CALL, DELAY"}

data: {"time":"2026-09-19T16:24:52.641Z","priority":"6","pid":"2830187","message":"FAIL 1556: 'send long HTTP headers to header callback' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.642Z","priority":"6","pid":"2830187","message":"FAIL 1557: 'Remove easy handle in pending connections, no dangling entry' multi, crash"}

data: {"time":"2026-09-19T16:24:52.642Z","priority":"6","pid":"2830187","message":"FAIL 1558: 'CURLINFO_PROTOCOL for file:// transfer' curl_easy_getinfo, CURLINFO_PROTOCOL"}

data: {"time":"2026-09-19T16:24:52.643Z","priority":"6","pid":"2830187","message":"FAIL 1559: 'Set excessive URL lengths' CURLOPT_URL, verbose logs"}

data: {"time":"2026-09-19T16:24:52.643Z","priority":"6","pid":"2830187","message":"FAIL 1560: 'URL API' unittest, urlapi, url"}

data: {"time":"2026-09-19T16:24:52.643Z","priority":"6","pid":"2830187","message":"FAIL 1563: 'Make sure redirects to CURLPROTO_GOPHER are forbidden by default' GOPHER, HTTP GET, followlocation"}

data: {"time":"2026-09-19T16:24:52.644Z","priority":"6","pid":"2830187","message":"FAIL 1564: 'wakeup before poll with no easy handles' multi, wakeup"}

data: {"time":"2026-09-19T16:24:52.644Z","priority":"6","pid":"2830187","message":"FAIL 1565: 'wakeup from another thread' HTTP, HTTP GET, multi, multi-threaded, wakeup"}

data: {"time":"2026-09-19T16:24:52.645Z","priority":"6","pid":"2830187","message":"FAIL 1566: '--etag-compare that gets a 304 back should not overwrite the file' HTTP, HTTP GET, --etag-compare"}

data: {"time":"2026-09-19T16:24:52.645Z","priority":"6","pid":"2830187","message":"FAIL 1567: 're-run redirected transfer without setting CURLU URL again' HTTP, URL API, CURLOPT_CURLU, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.646Z","priority":"6","pid":"2830187","message":"FAIL 1568: 'HTTP with Digest authorization on custom CURLOPT_PORT' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.646Z","priority":"6","pid":"2830187","message":"FAIL 1569: 'FTP first type=A then regular URL' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.646Z","priority":"6","pid":"2830187","message":"FAIL 1570: 'FTP first type=D then regular URL' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.647Z","priority":"6","pid":"2830187","message":"FAIL 1571: 'CURLFOLLOW_OBEYCODE with custom POST method, 302 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.647Z","priority":"6","pid":"2830187","message":"FAIL 1572: 'CURLFOLLOW_OBEYCODE with custom POST method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.648Z","priority":"6","pid":"2830187","message":"FAIL 1573: 'CURLFOLLOW_OBEYCODE with custom GET method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.649Z","priority":"6","pid":"2830187","message":"FAIL 1574: 'CURLFOLLOW_FIRSTONLY with custom GET method, 301 => GET' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.649Z","priority":"6","pid":"2830187","message":"FAIL 1575: 'CURLFOLLOW_FIRSTONLY with custom POST method, 308 => POST' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.650Z","priority":"6","pid":"2830187","message":"FAIL 1576: 'CURLFOLLOW_OBEYCODE with custom PUT method, 302 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.651Z","priority":"6","pid":"2830187","message":"FAIL 1577: 'CURLFOLLOW_OBEYCODE with custom PUT method, 308 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.651Z","priority":"6","pid":"2830187","message":"FAIL 1578: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 302 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.652Z","priority":"6","pid":"2830187","message":"FAIL 1579: 'CURLFOLLOW_OBEYCODE with custom PUT method, 303 => GET' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.652Z","priority":"6","pid":"2830187","message":"FAIL 1580: 'CURLFOLLOW_FIRSTONLY with custom PUT method, 308 => PUT' CURLFOLLOW_FIRSTONLY, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.653Z","priority":"6","pid":"2830187","message":"FAIL 1581: 'CURLFOLLOW_OBEYCODE with custom POST301 method, 301 => custom' CURLFOLLOW_OBEYCODE, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.653Z","priority":"6","pid":"2830187","message":"FAIL 1584: 'HTTP GET with -J and Content-Disposition including path' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.654Z","priority":"6","pid":"2830187","message":"FAIL 1585: 'HTTP GET with -J and Content-Disposition including DOS path' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.654Z","priority":"6","pid":"2830187","message":"FAIL 1588: 'HTTP proxy auth Digest, then change proxy and do it again' HTTP, HTTP GET, HTTP proxy, HTTP proxy Digest auth, multi"}

data: {"time":"2026-09-19T16:24:52.655Z","priority":"6","pid":"2830187","message":"FAIL 1589: 'HTTP proxy auth Digest, then change proxy port and do it again' HTTP, HTTP proxy, HTTP proxy Digest auth"}

data: {"time":"2026-09-19T16:24:52.686Z","priority":"6","pid":"2830187","message":"FAIL 1590: 'IMAP cleanup before a connection was created' IMAP, Clear Text, FETCH"}

data: {"time":"2026-09-19T16:24:52.686Z","priority":"6","pid":"2830187","message":"FAIL 1591: 'HTTP PUT with trailers at the end' HTTP, HTTP PUT, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA"}

data: {"time":"2026-09-19T16:24:52.687Z","priority":"6","pid":"2830187","message":"FAIL 1593: 'HTTP custom header overrides CURLOPT_TIMECONDITION' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since"}

data: {"time":"2026-09-19T16:24:52.688Z","priority":"6","pid":"2830187","message":"FAIL 1594: 'HTTP Retry-After header parsing and extraction' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since"}

data: {"time":"2026-09-19T16:24:52.688Z","priority":"6","pid":"2830187","message":"FAIL 1595: 'HTTP Retry-After header extraction (without header)' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since"}

data: {"time":"2026-09-19T16:24:52.689Z","priority":"6","pid":"2830187","message":"FAIL 1596: 'HTTP Retry-After header parsing using a date' HTTP, HTTP GET, HTTP replaced headers, CURLOPT_TIMECONDITION, If-Modified-Since"}

data: {"time":"2026-09-19T16:24:52.690Z","priority":"6","pid":"2830187","message":"FAIL 1597: 'CURLOPT_PROTOCOLS_STR' CURLOPT_PROTOCOLS_STR"}

data: {"time":"2026-09-19T16:24:52.691Z","priority":"6","pid":"2830187","message":"FAIL 1598: 'HTTP POST with trailers at the end' HTTP, HTTP POST, CURLOPT_HTTPTRAILER_FUNCTION, CURLOPT_HTTPTRAILER_DATA"}

data: {"time":"2026-09-19T16:24:52.693Z","priority":"6","pid":"2830187","message":"FAIL 1599: 'FTP with netrc using no user but control code in password' FTP, netrc"}

data: {"time":"2026-09-19T16:24:52.693Z","priority":"6","pid":"2830187","message":"FAIL 1601: 'MD5 unit tests' unittest, MD5"}

data: {"time":"2026-09-19T16:24:52.694Z","priority":"6","pid":"2830187","message":"FAIL 1602: 'Internal hash create/add/destroy testing, exercising clean functions' unittest, hash"}

data: {"time":"2026-09-19T16:24:52.695Z","priority":"6","pid":"2830187","message":"FAIL 1603: 'Internal hash add, retrieval, deletion testing' unittest, hash"}

data: {"time":"2026-09-19T16:24:52.695Z","priority":"6","pid":"2830187","message":"FAIL 1604: 'Test Windows/MS-DOS filename sanitization' unittest"}

data: {"time":"2026-09-19T16:24:52.696Z","priority":"6","pid":"2830187","message":"FAIL 1605: 'Test negative data lengths as input to libcurl functions' unittest"}

data: {"time":"2026-09-19T16:24:52.697Z","priority":"6","pid":"2830187","message":"FAIL 1606: 'verify speedcheck' unittest, speedcheck"}

data: {"time":"2026-09-19T16:24:52.698Z","priority":"6","pid":"2830187","message":"FAIL 1607: 'CURLOPT_RESOLVE parsing' unittest, CURLOPT_RESOLVE"}

data: {"time":"2026-09-19T16:24:52.698Z","priority":"6","pid":"2830187","message":"FAIL 1608: 'verify DNS shuffling' unittest, curlopt_dns_shuffle_addresses"}

data: {"time":"2026-09-19T16:24:52.700Z","priority":"6","pid":"2830187","message":"FAIL 1609: 'Gopher with URL-encoded CR LF in the selector' GOPHER, CRLF-in-URL"}

data: {"time":"2026-09-19T16:24:52.700Z","priority":"6","pid":"2830187","message":"FAIL 1610: 'SHA256 unit tests' unittest, SHA256"}

data: {"time":"2026-09-19T16:24:52.700Z","priority":"6","pid":"2830187","message":"FAIL 1611: 'MD4 unit tests' unittest, MD4"}

data: {"time":"2026-09-19T16:24:52.700Z","priority":"6","pid":"2830187","message":"FAIL 1612: 'HMAC unit tests' unittest, HMAC"}

data: {"time":"2026-09-19T16:24:52.702Z","priority":"6","pid":"2830187","message":"FAIL 1613: 'Send \"OPTIONS *\" with --request-target to a proxy' HTTP, HTTP proxy, --request-target"}

data: {"time":"2026-09-19T16:24:52.702Z","priority":"6","pid":"2830187","message":"FAIL 1614: 'noproxy and cidr comparisons' unittest, noproxy"}

data: {"time":"2026-09-19T16:24:52.704Z","priority":"6","pid":"2830187","message":"FAIL 1615: 'SHA-512/256 unit tests' unittest, SHA-512/256"}

data: {"time":"2026-09-19T16:24:52.704Z","priority":"6","pid":"2830187","message":"FAIL 1616: 'uint_hash create/add/destroy testing, exercising clean functions' unittest, uint_hash"}

data: {"time":"2026-09-19T16:24:52.705Z","priority":"6","pid":"2830187","message":"FAIL 1617: 'HTTP GET transfer-encoding with two user Connection: headers' HTTP, HTTP GET, compressed, Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.705Z","priority":"6","pid":"2830187","message":"FAIL 1618: 'HTTP GET brotli compression bomb' HTTP, HTTP GET, compressed, brotli"}

data: {"time":"2026-09-19T16:24:52.706Z","priority":"6","pid":"2830187","message":"FAIL 1619: '--etag-save to stdout' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.707Z","priority":"6","pid":"2830187","message":"FAIL 1620: 'unit tests for url.c' unittest, URL"}

data: {"time":"2026-09-19T16:24:52.707Z","priority":"6","pid":"2830187","message":"FAIL 1621: 'unit tests for stripcredentials from URL' unittest, stripcredentials"}

data: {"time":"2026-09-19T16:24:52.708Z","priority":"6","pid":"2830187","message":"FAIL 1622: 'tool time and size progress output' unittest, tool-progress"}

data: {"time":"2026-09-19T16:24:52.709Z","priority":"6","pid":"2830187","message":"FAIL 1623: 'the size parser for --limit-rate' unittest, tool-sizeparser"}

data: {"time":"2026-09-19T16:24:52.709Z","priority":"6","pid":"2830187","message":"FAIL 1624: 'URL + --url-query with --next and another URL without --url-query' HTTP, --url-query, --next"}

data: {"time":"2026-09-19T16:24:52.710Z","priority":"6","pid":"2830187","message":"FAIL 1625: 'Curl_compareheader unit test' unittest, Curl_compareheader"}

data: {"time":"2026-09-19T16:24:52.712Z","priority":"6","pid":"2830187","message":"FAIL 1626: 'Curl_copy_header_value unit test' unittest, Curl_copy_header_value"}

data: {"time":"2026-09-19T16:24:52.712Z","priority":"6","pid":"2830187","message":"FAIL 1627: 'Curl_get_scheme unit test' unittest, Curl_get_scheme"}

data: {"time":"2026-09-19T16:24:52.712Z","priority":"6","pid":"2830187","message":"FAIL 1628: 'HTTP PUT from file with weird letters over an HTTP proxy' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:52.714Z","priority":"6","pid":"2830187","message":"FAIL 1629: 'cookies with trailing dot after PSL domain' HTTP, HTTP GET, --resolve"}

data: {"time":"2026-09-19T16:24:52.714Z","priority":"6","pid":"2830187","message":"FAIL 1633: '--retry with a 429 response and Retry-After:' HTTP, HTTP GET, RETRY-AFTER"}

data: {"time":"2026-09-19T16:24:52.715Z","priority":"6","pid":"2830187","message":"FAIL 1634: '--retry with a 429 response and Retry-After: and --fail' HTTP, HTTP GET, RETRY-AFTER"}

data: {"time":"2026-09-19T16:24:52.716Z","priority":"6","pid":"2830187","message":"FAIL 1635: '--retry with a 429 response and Retry-After: and --fail-with-body' HTTP, HTTP GET, RETRY-AFTER"}

data: {"time":"2026-09-19T16:24:52.717Z","priority":"6","pid":"2830187","message":"FAIL 1636: 'time2str and max6out' unittest, time2str, max6out"}

data: {"time":"2026-09-19T16:24:52.717Z","priority":"6","pid":"2830187","message":"FAIL 1637: 'HTTP 502 with --fail and --retry 2' HTTP, --retry, --fail"}

data: {"time":"2026-09-19T16:24:52.718Z","priority":"6","pid":"2830187","message":"FAIL 1638: 'HSTS duplicate domains where the update adds subdomains' HTTP, HTTP proxy, HSTS"}

data: {"time":"2026-09-19T16:24:52.719Z","priority":"6","pid":"2830187","message":"FAIL 1639: '-O with URL without path using many trailing slashes' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.719Z","priority":"6","pid":"2830187","message":"FAIL 1641: 'HTTP GET -J, a redirect and Content-Disposition in the second response' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.720Z","priority":"6","pid":"2830187","message":"FAIL 1642: 'HTTP GET -J, redirect, no Content-Disposition use the Location: name' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.721Z","priority":"6","pid":"2830187","message":"FAIL 1643: 'HTTP -J, two redirects, use the last Location: name' HTTP, HTTP GET, -J"}

data: {"time":"2026-09-19T16:24:52.721Z","priority":"6","pid":"2830187","message":"FAIL 1644: '-O with URL with path but using many trailing slashes' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.721Z","priority":"6","pid":"2830187","message":"FAIL 1645: 'cookies for paths using different case' HTTP, HTTP GET, cookies, cookiejar, --resolve"}

data: {"time":"2026-09-19T16:24:52.722Z","priority":"6","pid":"2830187","message":"FAIL 1646: 'netrc parsing without user match but user in URL' netrc, --resolve"}

data: {"time":"2026-09-19T16:24:52.722Z","priority":"6","pid":"2830187","message":"FAIL 1648: 'HTTP proxy with auth, change proxy, clear auth' HTTP, HTTP GET, HTTP proxy, HTTP proxy auth"}

data: {"time":"2026-09-19T16:24:52.723Z","priority":"6","pid":"2830187","message":"FAIL 1649: 'Set referer first then NULL it' HTTP, Referer"}

data: {"time":"2026-09-19T16:24:52.723Z","priority":"6","pid":"2830187","message":"FAIL 1650: 'DoH parsing' unittest, DOH"}

data: {"time":"2026-09-19T16:24:52.723Z","priority":"6","pid":"2830187","message":"FAIL 1651: 'x509 parsing' unittest, x509"}

data: {"time":"2026-09-19T16:24:52.723Z","priority":"6","pid":"2830187","message":"FAIL 1652: 'infof' unittest, infof"}

data: {"time":"2026-09-19T16:24:52.724Z","priority":"6","pid":"2830187","message":"FAIL 1653: 'urlapi port number parsing' unittest, urlapi"}

data: {"time":"2026-09-19T16:24:52.724Z","priority":"6","pid":"2830187","message":"FAIL 1654: 'alt-svc' unittest, Alt-Svc"}

data: {"time":"2026-09-19T16:24:52.724Z","priority":"6","pid":"2830187","message":"FAIL 1655: 'unit test for doh_req_encode' unittest, DOH"}

data: {"time":"2026-09-19T16:24:52.725Z","priority":"6","pid":"2830187","message":"FAIL 1656: 'GTime2str unit tests' unittest, GTime2str"}

data: {"time":"2026-09-19T16:24:52.725Z","priority":"6","pid":"2830187","message":"FAIL 1657: 'getASN1Element unit tests' unittest, getASN1Element"}

data: {"time":"2026-09-19T16:24:52.725Z","priority":"6","pid":"2830187","message":"FAIL 1658: 'unit test for doh_resp_decode_httpsrr' unittest, doh, httpsrr"}

data: {"time":"2026-09-19T16:24:52.725Z","priority":"6","pid":"2830187","message":"FAIL 1659: '--connect-to when using file:// URL' --connect-to, FILE"}

data: {"time":"2026-09-19T16:24:52.726Z","priority":"6","pid":"2830187","message":"FAIL 1660: 'HSTS' unittest, HSTS"}

data: {"time":"2026-09-19T16:24:52.727Z","priority":"6","pid":"2830187","message":"FAIL 1661: 'bufref unit tests' unittest, bufref"}

data: {"time":"2026-09-19T16:24:52.727Z","priority":"6","pid":"2830187","message":"FAIL 1663: 'unit tests for interface option parsing' unittest, interface, bind"}

data: {"time":"2026-09-19T16:24:52.727Z","priority":"6","pid":"2830187","message":"FAIL 1664: 'unit tests for strparse.c string parsing functions' unittest, strparse"}

data: {"time":"2026-09-19T16:24:52.727Z","priority":"6","pid":"2830187","message":"FAIL 1665: 'HTTP with only headers and no final CRLF separator' HTTP"}

data: {"time":"2026-09-19T16:24:52.727Z","priority":"6","pid":"2830187","message":"FAIL 1666: 'encodeOID unit tests' unittest, encodeOID, x509asn1"}

data: {"time":"2026-09-19T16:24:52.728Z","priority":"6","pid":"2830187","message":"FAIL 1667: 'ASN1tostr unit tests' unittest, ASN1tostr, x509asn1"}

data: {"time":"2026-09-19T16:24:52.728Z","priority":"6","pid":"2830187","message":"FAIL 1668: 'ftp_213_date unit tests' unittest, FTP, ftp_213_date"}

data: {"time":"2026-09-19T16:24:52.729Z","priority":"6","pid":"2830187","message":"FAIL 1669: 'alt-svc load cache with >5000 entries' unittest, Alt-Svc"}

data: {"time":"2026-09-19T16:24:52.729Z","priority":"6","pid":"2830187","message":"FAIL 1670: '-w individual header output' HTTP, HTTP GET, -w, %header"}

data: {"time":"2026-09-19T16:24:52.729Z","priority":"6","pid":"2830187","message":"FAIL 1671: '-w header JSON output' HTTP, HTTP GET, -w, %header"}

data: {"time":"2026-09-19T16:24:52.730Z","priority":"6","pid":"2830187","message":"FAIL 1672: 'netrc parser skips macdef even with broken quote' netrc, macdef"}

data: {"time":"2026-09-19T16:24:52.730Z","priority":"6","pid":"2830187","message":"FAIL 1673: 'HTTP retry upload with missing upload file' HTTP, upload, --retry"}

data: {"time":"2026-09-19T16:24:52.730Z","priority":"6","pid":"2830187","message":"FAIL 1674: 'HSTS load more than 10k entries from file' unittest, HSTS"}

data: {"time":"2026-09-19T16:24:52.730Z","priority":"6","pid":"2830187","message":"FAIL 1675: 'URL API unit tests' unittest, urlapi"}

data: {"time":"2026-09-19T16:24:52.731Z","priority":"6","pid":"2830187","message":"FAIL 1676: 'x509 DH public key parameter extraction' unittest, x509, DH"}

data: {"time":"2026-09-19T16:24:52.731Z","priority":"6","pid":"2830187","message":"FAIL 1677: 'HTTP POST response with both chunked and zero Content-Length' HTTP, HTTP POST, chunked Transfer-Encoding, Content-Length"}

data: {"time":"2026-09-19T16:24:52.732Z","priority":"6","pid":"2830187","message":"FAIL 1680: 'HTTP GET with explicit clobber' HTTP, HTTP GET, --clobber"}

data: {"time":"2026-09-19T16:24:52.732Z","priority":"6","pid":"2830187","message":"FAIL 1681: 'HTTP GET without clobber' HTTP, HTTP GET, --no-clobber"}

data: {"time":"2026-09-19T16:24:52.733Z","priority":"6","pid":"2830187","message":"FAIL 1682: 'HTTP GET without clobber and --output-dir' HTTP, HTTP GET, --no-clobber"}

data: {"time":"2026-09-19T16:24:52.734Z","priority":"6","pid":"2830187","message":"FAIL 1683: 'HTTP GET without clobber when 100 files already exist' HTTP, HTTP GET, --no-clobber"}

data: {"time":"2026-09-19T16:24:52.734Z","priority":"6","pid":"2830187","message":"FAIL 1684: 'FTP with malformed MDTM response' FTP, MDTM"}

data: {"time":"2026-09-19T16:24:52.734Z","priority":"6","pid":"2830187","message":"FAIL 1685: 'HTTP, reject cookie with tab in path' HTTP, cookies"}

data: {"time":"2026-09-19T16:24:52.734Z","priority":"6","pid":"2830187","message":"FAIL 1686: 'HTTP Digest to different origins and switching credentials' HTTP, Digest"}

data: {"time":"2026-09-19T16:24:52.734Z","priority":"6","pid":"2830187","message":"FAIL 1704: 'HTTP/1 doing HTTP/2 Upgrade: getting an HTTP/2 101 response' HTTP, HTTP GET, HTTP/2"}

data: {"time":"2026-09-19T16:24:52.735Z","priority":"6","pid":"2830187","message":"FAIL 1711: 'Send >64K over SMTP' SMTP"}

data: {"time":"2026-09-19T16:24:52.735Z","priority":"6","pid":"2830187","message":"FAIL 1712: 'config file with argument using single quotes' HTTP, --config"}

data: {"time":"2026-09-19T16:24:52.736Z","priority":"6","pid":"2830187","message":"FAIL 1713: 'Filenames pointing to directory failing gracefully' HTTP, HTTP GET, Alt-Svc, cookies, HSTS, netrc"}

data: {"time":"2026-09-19T16:24:52.736Z","priority":"6","pid":"2830187","message":"FAIL 1714: 'TELNET download with --max-filesize' TELNET"}

data: {"time":"2026-09-19T16:24:52.736Z","priority":"6","pid":"2830187","message":"FAIL 1715: 'HTTP CONNECT with proxy returning Content-Length and chunked' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.737Z","priority":"6","pid":"2830187","message":"FAIL 1720: 'create_dir_hierarchy()' unittest"}

data: {"time":"2026-09-19T16:24:52.737Z","priority":"6","pid":"2830187","message":"FAIL 1721: 'Keep question mark for empty query' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.737Z","priority":"6","pid":"2830187","message":"FAIL 1722: 'HTTP with chunked Transfer-Encoding not listed last' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.738Z","priority":"6","pid":"2830187","message":"FAIL 1723: 'HTTP with two chunked Transfer-Encoding not listed last' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.738Z","priority":"6","pid":"2830187","message":"FAIL 1724: 'IPFS with --proto-default HTTP' IPFS"}

data: {"time":"2026-09-19T16:24:52.738Z","priority":"6","pid":"2830187","message":"FAIL 1740: '--silent suppresses Note: messages when verbose' HTTP, HTTP POST, --silent"}

data: {"time":"2026-09-19T16:24:52.739Z","priority":"6","pid":"2830187","message":"FAIL 1741: 'Note: messages are shown when verbose without --silent' HTTP, HTTP POST"}

data: {"time":"2026-09-19T16:24:52.739Z","priority":"6","pid":"2830187","message":"FAIL 1800: 'HTTP/2 upgrade refused' HTTP, HTTP/2"}

data: {"time":"2026-09-19T16:24:52.740Z","priority":"6","pid":"2830187","message":"FAIL 1802: 'HTTP CONNECT with custom headers for proxy and server' HTTP, HTTP CONNECT"}

data: {"time":"2026-09-19T16:24:52.740Z","priority":"6","pid":"2830187","message":"FAIL 1847: 'IMAP FETCH message with custom request' IMAP, Clear Text, FETCH, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.741Z","priority":"6","pid":"2830187","message":"FAIL 1848: 'IMAP FETCH message with custom request to get list of email.' IMAP, Clear Text, FETCH, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.741Z","priority":"6","pid":"2830187","message":"FAIL 1851: 'IPFS gateway using default port number' IPFS"}

data: {"time":"2026-09-19T16:24:52.741Z","priority":"6","pid":"2830187","message":"FAIL 1900: 'HSTS curl_easy_duphandle' HTTP, HSTS"}

data: {"time":"2026-09-19T16:24:52.771Z","priority":"6","pid":"2830187","message":"FAIL 1901: 'Chunked HTTP POST from callback with CURLOPT_POSTFIELDSIZE set' HTTP, HTTP POST, CURLOPT_READFUNCTION"}

data: {"time":"2026-09-19T16:24:52.772Z","priority":"6","pid":"2830187","message":"FAIL 1902: 'set COOKIEFILE and COOKIEJAR but make no transfer' cookies"}

data: {"time":"2026-09-19T16:24:52.772Z","priority":"6","pid":"2830187","message":"FAIL 1903: 'CURLOPT_COOKIEFILE then reset then set again' HTTP, cookies, CURLOPT_COOKIEFILE"}

data: {"time":"2026-09-19T16:24:52.773Z","priority":"6","pid":"2830187","message":"FAIL 1904: 'HTTP CONNECT with 204 response' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.773Z","priority":"6","pid":"2830187","message":"FAIL 1905: 'CURLOPT_COOKIELIST set to \"FLUSH\" of a shared cookie object' HTTP, cookies, FLUSH"}

data: {"time":"2026-09-19T16:24:52.773Z","priority":"6","pid":"2830187","message":"FAIL 1906: 'CURLOPT_CURLU and CURLOPT_PORT' CURLOPT_CURLU, CURLOPT_PORT"}

data: {"time":"2026-09-19T16:24:52.774Z","priority":"6","pid":"2830187","message":"FAIL 1907: 'CURLINFO_EFFECTIVE_URL with non-scheme URL' CURLINFO_EFFECTIVE_URL"}

data: {"time":"2026-09-19T16:24:52.774Z","priority":"6","pid":"2830187","message":"FAIL 1909: 'HTTP GET --retry-all-errors to overcome partial transfer' HTTP, HTTP GET, retry"}

data: {"time":"2026-09-19T16:24:52.775Z","priority":"6","pid":"2830187","message":"FAIL 1910: 'HTTP credentials with newline and redirect' HTTP, HTTP Basic, CURLOPT_FOLLOWLOCATION"}

data: {"time":"2026-09-19T16:24:52.775Z","priority":"6","pid":"2830187","message":"FAIL 1911: 'verify that curl_easy_setopt() rejects too long string inputs' curl_easy_option"}

data: {"time":"2026-09-19T16:24:52.776Z","priority":"6","pid":"2830187","message":"FAIL 1912: 'Cross validate that gcc-typecheck macros match the option types.' curl_easy_option, typecheck"}

data: {"time":"2026-09-19T16:24:52.776Z","priority":"6","pid":"2830187","message":"FAIL 1913: 'FTP with NOBODY set, getting a missing file' FTP, CURLOPT_NOBODY"}

data: {"time":"2026-09-19T16:24:52.777Z","priority":"6","pid":"2830187","message":"FAIL 1914: 'FTP with NOBODY and FILETIME set, getting a missing file' FTP, CURLOPT_NOBODY, CURLOPT_FILETIME"}

data: {"time":"2026-09-19T16:24:52.777Z","priority":"6","pid":"2830187","message":"FAIL 1915: 'HSTS read/write callbacks' HTTP, HSTS, CURLOPT_HSTSREADFUNCTION"}

data: {"time":"2026-09-19T16:24:52.777Z","priority":"6","pid":"2830187","message":"FAIL 1916: 'MQTT PUBLISH with no POSTFIELDSIZE set' MQTT, MQTT PUBLISH"}

data: {"time":"2026-09-19T16:24:52.778Z","priority":"6","pid":"2830187","message":"FAIL 1917: 'MQTT PUBLISH with CURLOPT_POST set (no payload)' MQTT, MQTT PUBLISH"}

data: {"time":"2026-09-19T16:24:52.779Z","priority":"6","pid":"2830187","message":"FAIL 1918: 'curl_easy_option_by_name() and curl_easy_option_by_id()' curl_easy_option, curl_easy_option_by_name, curl_easy_option_by_id"}

data: {"time":"2026-09-19T16:24:52.779Z","priority":"6","pid":"2830187","message":"FAIL 1919: 'set CURLOPT_XOAUTH2_BEARER and do connection reuse' connection reuse"}

data: {"time":"2026-09-19T16:24:52.779Z","priority":"6","pid":"2830187","message":"FAIL 1920: 'load cookies, perform then reset before cleanup' cookies"}

data: {"time":"2026-09-19T16:24:52.780Z","priority":"6","pid":"2830187","message":"FAIL 1921: 'Set a URL without scheme, then redirect with default scheme' urlapi"}

data: {"time":"2026-09-19T16:24:52.780Z","priority":"6","pid":"2830187","message":"FAIL 1940: 'curl_easy_header' curl_easy_header"}

data: {"time":"2026-09-19T16:24:52.781Z","priority":"6","pid":"2830187","message":"FAIL 1941: 'curl_easy_header with CONNECT' curl_easy_header, CONNECT"}

data: {"time":"2026-09-19T16:24:52.781Z","priority":"6","pid":"2830187","message":"FAIL 1942: 'curl_easy_header with 1xx response' curl_easy_header, CONNECT"}

data: {"time":"2026-09-19T16:24:52.781Z","priority":"6","pid":"2830187","message":"FAIL 1943: 'curl_easy_header with trailers' curl_easy_header, CONNECT"}

data: {"time":"2026-09-19T16:24:52.781Z","priority":"6","pid":"2830187","message":"FAIL 1944: 'curl_easy_header with redirect' curl_easy_header"}

data: {"time":"2026-09-19T16:24:52.782Z","priority":"6","pid":"2830187","message":"FAIL 1945: 'curl_easy_nextheader with server + CONNECT' curl_easy_header, CONNECT"}

data: {"time":"2026-09-19T16:24:52.782Z","priority":"6","pid":"2830187","message":"FAIL 1946: 'curl_easy_header with redirect but get headers from first request' curl_easy_header"}

data: {"time":"2026-09-19T16:24:52.783Z","priority":"6","pid":"2830187","message":"FAIL 1947: 'curl_easy_nextheader on second request after first did redirects' curl_easy_nextheader"}

data: {"time":"2026-09-19T16:24:52.783Z","priority":"6","pid":"2830187","message":"FAIL 1948: 'CURLOPT_POST after CURLOPT_UPLOAD reusing handle' HTTP, HTTP POST, HTTP PUT"}

data: {"time":"2026-09-19T16:24:52.784Z","priority":"6","pid":"2830187","message":"FAIL 1960: 'application hands over already connected socket' HTTP, CURLOPT_SOCKOPTFUNCTION, CURL_SOCKOPT_ALREADY_CONNECTED"}

data: {"time":"2026-09-19T16:24:52.784Z","priority":"6","pid":"2830187","message":"FAIL 1961: 'curlx_inet_ntop() and curlx_inet_pton()' unittest"}

data: {"time":"2026-09-19T16:24:52.785Z","priority":"6","pid":"2830187","message":"FAIL 1964: 'HTTP AWS_SIGV4 with X-Xxx-Date header set manually' HTTP, CURLOPT_AWS_SIGV4"}

data: {"time":"2026-09-19T16:24:52.785Z","priority":"6","pid":"2830187","message":"FAIL 1965: 'curl_url_set() different schemes' urlapi, curl_url_set"}

data: {"time":"2026-09-19T16:24:52.785Z","priority":"6","pid":"2830187","message":"FAIL 1966: 'netrc with digest and redirect to other origin' HTTP, HTTP GET, HTTP Digest auth, --resolve"}

data: {"time":"2026-09-19T16:24:52.786Z","priority":"6","pid":"2830187","message":"FAIL 1967: 'curl_url_set() a URL without guessing a scheme' HTTP, urlapi"}

data: {"time":"2026-09-19T16:24:52.786Z","priority":"6","pid":"2830187","message":"FAIL 1977: 'CURLOPT_CURLU and CURLINFO_EFFECTIVE_URL' CURLOPT_CURLU, CURLINFO_EFFECTIVE_URL"}

data: {"time":"2026-09-19T16:24:52.786Z","priority":"6","pid":"2830187","message":"FAIL 1979: 'sigv4 canon_string unit tests' unittest, canon_string, aws-sigv4"}

data: {"time":"2026-09-19T16:24:52.787Z","priority":"6","pid":"2830187","message":"FAIL 1980: 'sigv4 canon_query unit tests' unittest, canon_query, aws-sigv4"}

data: {"time":"2026-09-19T16:24:52.787Z","priority":"6","pid":"2830187","message":"FAIL 1982: 'IMAP two requests, change options for the second' IMAP, Clear Text, FETCH, connection reuse, options"}

data: {"time":"2026-09-19T16:24:52.788Z","priority":"6","pid":"2830187","message":"FAIL 1983: 'HTTP DELETE with --follow and 303 redirect' HTTP, HTTP DELETE, followlocation"}

data: {"time":"2026-09-19T16:24:52.788Z","priority":"6","pid":"2830187","message":"FAIL 1984: 'HTTP PUT with 303 redirect and --follow' HTTP, HTTP PUT, followlocation"}

data: {"time":"2026-09-19T16:24:52.789Z","priority":"6","pid":"2830187","message":"FAIL 1985: 'Digest response when not asked, then use Digest' Digest"}

data: {"time":"2026-09-19T16:24:52.789Z","priority":"6","pid":"2830187","message":"FAIL 2000: 'FTP RETR followed by FILE' FTP, PASV, FILE, multiprotocol"}

data: {"time":"2026-09-19T16:24:52.790Z","priority":"6","pid":"2830187","message":"FAIL 2001: 'HTTP GET followed by FTP RETR followed by FILE' HTTP, HTTP GET, FTP, PASV, FILE, multiprotocol"}

data: {"time":"2026-09-19T16:24:52.790Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:52.791Z","priority":"6","pid":"2830187","message":"FAIL 2003: 'HTTP GET, FTP RETR, FILE, TFTP RRQ then again in rev order' HTTP, HTTP GET, FTP, PASV, FILE, TFTP, TFTP RRQ, multiprotocol"}

data: {"time":"2026-09-19T16:24:52.792Z","priority":"6","pid":"2830187","message":"FAIL 2005: 'netrc match with password only in file, no username. machine follows' HTTP, netrc"}

data: {"time":"2026-09-19T16:24:52.792Z","priority":"6","pid":"2830187","message":"FAIL 2006: '.netrc default with redirect plus oauth2-bearer' netrc, HTTP"}

data: {"time":"2026-09-19T16:24:52.792Z","priority":"6","pid":"2830187","message":"FAIL 2008: '-G with --proto-default=http and scheme-less URL starting with \"ftp\"' HTTP, -G, --proto-default, --resolve"}

data: {"time":"2026-09-19T16:24:52.793Z","priority":"6","pid":"2830187","message":"FAIL 2012: 'load URLs from a file, upload with a glob' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:52.793Z","priority":"6","pid":"2830187","message":"FAIL 2013: 'upload with a glob' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:52.794Z","priority":"6","pid":"2830187","message":"FAIL 2014: 'upload with glob, output name based on upload glob' HTTP, HTTP PUT"}

data: {"time":"2026-09-19T16:24:52.794Z","priority":"6","pid":"2830187","message":"FAIL 2015: 'HTTP with cookie with with -b and redirect to new host' HTTP, HTTP proxy, followlocation, cookies"}

data: {"time":"2026-09-19T16:24:52.795Z","priority":"6","pid":"2830187","message":"FAIL 2023: 'HTTP authorization retry (Basic)' HTTP, HTTP GET, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:52.796Z","priority":"6","pid":"2830187","message":"FAIL 2024: 'HTTP authorization retry (Basic switching to Digest)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.796Z","priority":"6","pid":"2830187","message":"FAIL 2026: 'HTTP authorization retry (Digest switching to Basic)' HTTP, HTTP GET, HTTP Basic auth, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.797Z","priority":"6","pid":"2830187","message":"FAIL 2027: 'HTTP authorization retry (Digest)' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.797Z","priority":"6","pid":"2830187","message":"FAIL 2036: 'Attempt to set a default protocol with :// suffix' --proto-default"}

data: {"time":"2026-09-19T16:24:52.798Z","priority":"6","pid":"2830187","message":"FAIL 2039: 'FTP optional .netrc with 'default' override; no user/pass, dir list' FTP, EPSV, LIST, netrc"}

data: {"time":"2026-09-19T16:24:52.798Z","priority":"6","pid":"2830187","message":"FAIL 2040: 'HTTP Basic authorization, then without authorization' HTTP, HTTP GET, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:52.799Z","priority":"6","pid":"2830187","message":"FAIL 2044: 'Attempt to set a default protocol that does not exist' --proto-default"}

data: {"time":"2026-09-19T16:24:52.799Z","priority":"6","pid":"2830187","message":"FAIL 2045: 'Set the default protocol to ftp for a schemeless URL' FTP, --proto-default"}

data: {"time":"2026-09-19T16:24:52.800Z","priority":"6","pid":"2830187","message":"FAIL 2046: 'Connection reuse with IDN hostname' HTTP, HTTP GET, IDN, followlocation, --resolve, --write-out"}

data: {"time":"2026-09-19T16:24:52.800Z","priority":"6","pid":"2830187","message":"FAIL 2047: 'Connection reuse with IDN hostname over HTTP proxy' HTTP, HTTP GET, HTTP proxy, IDN, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.801Z","priority":"6","pid":"2830187","message":"FAIL 2049: 'Connect to specific host' HTTP, HTTP GET, CURLOPT_CONNECT_TO"}

data: {"time":"2026-09-19T16:24:52.801Z","priority":"6","pid":"2830187","message":"FAIL 2050: '--connect-to via HTTP proxy (tunnel mode automatically)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO"}

data: {"time":"2026-09-19T16:24:52.802Z","priority":"6","pid":"2830187","message":"FAIL 2051: 'Connect to specific host: Reuse existing connections if possible' HTTP, HTTP GET, CURLOPT_CONNECT_TO"}

data: {"time":"2026-09-19T16:24:52.803Z","priority":"6","pid":"2830187","message":"FAIL 2052: '--connect-to: do not mix connections with and w/o a \"connect to host\"' HTTP, HTTP GET, CURLOPT_CONNECT_TO, --resolve"}

data: {"time":"2026-09-19T16:24:52.803Z","priority":"6","pid":"2830187","message":"FAIL 2053: 'Connect to specific host with IP addresses' HTTP, HTTP GET, CURLOPT_CONNECT_TO"}

data: {"time":"2026-09-19T16:24:52.803Z","priority":"6","pid":"2830187","message":"FAIL 2054: 'Connect to specific host: use the first \"connect-to\" string' HTTP, HTTP GET, CURLOPT_CONNECT_TO"}

data: {"time":"2026-09-19T16:24:52.804Z","priority":"6","pid":"2830187","message":"FAIL 2055: '--connect-to via SOCKS proxy and HTTP proxy (tunnel mode auto)' HTTP, HTTP GET, HTTP CONNECT, HTTP proxy, proxytunnel, CURLOPT_CONNECT_TO, SOCKS5"}

data: {"time":"2026-09-19T16:24:52.805Z","priority":"6","pid":"2830187","message":"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"}

data: {"time":"2026-09-19T16:24:52.806Z","priority":"6","pid":"2830187","message":"FAIL 2059: 'HTTP Digest PUT, resumed upload, modified method, SHA-256 and userhash' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.806Z","priority":"6","pid":"2830187","message":"FAIL 2060: 'HTTP Digest with PUT, resumed upload, SHA-512-256, userhash' HTTP, HTTP PUT, HTTP proxy, HTTP Digest auth, Resume, Content-Range, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.807Z","priority":"6","pid":"2830187","message":"FAIL 2061: 'HTTP with RFC7616 SHA256 Digest authorization' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.808Z","priority":"6","pid":"2830187","message":"FAIL 2062: 'HTTP with RFC7616 SHA-512-256 Digest authorization and userhash=false' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.811Z","priority":"6","pid":"2830187","message":"FAIL 2063: 'HTTP with RFC7616 SHA-256 Digest authorization and userhash=true' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.811Z","priority":"6","pid":"2830187","message":"FAIL 2064: 'HTTP with RFC7616 Digest authorization with bad password and SHA256' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.812Z","priority":"6","pid":"2830187","message":"FAIL 2065: 'HTTP with RFC7616 Digest, bad password, SHA-512-256 and userhash' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.814Z","priority":"6","pid":"2830187","message":"FAIL 2066: 'HTTP with RFC7616 Digest, bad password, SHA-256 and userhash' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.815Z","priority":"6","pid":"2830187","message":"FAIL 2067: 'HTTP POST --digest with SHA256 and user-specified Content-Length' HTTP, HTTP POST, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.816Z","priority":"6","pid":"2830187","message":"FAIL 2068: 'HTTP POST Digest with SHA-512-256, userhash and set Content-Length' HTTP, HTTP POST, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.817Z","priority":"6","pid":"2830187","message":"FAIL 2069: 'HTTP POST Digest with SHA-256, userhash and set Content-Length header' HTTP, HTTP POST, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.817Z","priority":"6","pid":"2830187","message":"FAIL 2071: 'basic file:// file with \"127.0.0.1\" hostname' FILE"}

data: {"time":"2026-09-19T16:24:52.817Z","priority":"6","pid":"2830187","message":"FAIL 2072: 'file:// with Unix path for the case of extra slashes' FILE"}

data: {"time":"2026-09-19T16:24:52.818Z","priority":"6","pid":"2830187","message":"FAIL 2073: 'HTTP form posts with handle reset' HTTP, HTTP FORMPOST"}

data: {"time":"2026-09-19T16:24:52.855Z","priority":"6","pid":"2830187","message":"FAIL 2074: 'HTTP with oauth2-bearer' HTTP, HTTP GET, AUTH OAUTHBEARER"}

data: {"time":"2026-09-19T16:24:52.856Z","priority":"6","pid":"2830187","message":"FAIL 2075: 'Verify usernames are not allowed in url' --disallow-username-in-url, HTTP"}

data: {"time":"2026-09-19T16:24:52.857Z","priority":"6","pid":"2830187","message":"FAIL 2076: 'HTTP with digest auth and URI contains query' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.857Z","priority":"6","pid":"2830187","message":"FAIL 2077: 'curl --fail --negotiate to unauthenticated service fails' HTTP, HTTP GET, GSS-API"}

data: {"time":"2026-09-19T16:24:52.858Z","priority":"6","pid":"2830187","message":"FAIL 2078: 'curl --negotiate should not send empty POST request only' HTTP, HTTP GET, GSS-API"}

data: {"time":"2026-09-19T16:24:52.859Z","priority":"6","pid":"2830187","message":"FAIL 2080: 'config file with overly long option' FILE, config, --config"}

data: {"time":"2026-09-19T16:24:52.859Z","priority":"6","pid":"2830187","message":"FAIL 2081: 'Automatic referrer credential and anchor stripping check' HTTP, HTTP GET, referer, followlocation, --write-out"}

data: {"time":"2026-09-19T16:24:52.859Z","priority":"6","pid":"2830187","message":"FAIL 2082: 'Pre-request callback for HTTP' HTTP"}

data: {"time":"2026-09-19T16:24:52.860Z","priority":"6","pid":"2830187","message":"FAIL 2083: 'Pre-request callback for FTP' FTP"}

data: {"time":"2026-09-19T16:24:52.860Z","priority":"6","pid":"2830187","message":"FAIL 2084: 'Pre-request callback for HTTP with callback terminating transfer' HTTP"}

data: {"time":"2026-09-19T16:24:52.861Z","priority":"6","pid":"2830187","message":"FAIL 2085: 'Pre-request callback for HTTP with location following' HTTP, followlocation"}

data: {"time":"2026-09-19T16:24:52.861Z","priority":"6","pid":"2830187","message":"FAIL 2086: 'Pre-request callback for HTTP IPv6' HTTP, IPv6"}

data: {"time":"2026-09-19T16:24:52.862Z","priority":"6","pid":"2830187","message":"FAIL 2091: 'HTTP Digest auth with OWS and escaped quotes' HTTP, HTTP GET, HTTP Digest auth"}

data: {"time":"2026-09-19T16:24:52.862Z","priority":"6","pid":"2830187","message":"FAIL 2092: 'glob range that ends with 9223372036854775807' globbing"}

data: {"time":"2026-09-19T16:24:52.863Z","priority":"6","pid":"2830187","message":"FAIL 2093: 'HTTP POST a few bytes with 2^63-1 bytes response' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.863Z","priority":"6","pid":"2830187","message":"FAIL 2105: 'HTTP with spurious CR in received header' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.864Z","priority":"6","pid":"2830187","message":"FAIL 2106: 'HTTP chunked response with a nul byte in the trailer' HTTP, HTTP GET, chunked Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.865Z","priority":"6","pid":"2830187","message":"FAIL 2107: 'HTTP CONNECT response with a nul byte in a header' HTTP, HTTP CONNECT, HTTP proxy, proxytunnel"}

data: {"time":"2026-09-19T16:24:52.865Z","priority":"6","pid":"2830187","message":"FAIL 2108: 'FTP rejects a nul byte in a server response line' FTP"}

data: {"time":"2026-09-19T16:24:52.866Z","priority":"6","pid":"2830187","message":"FAIL 2109: 'MQTT rejects a control byte in the topic' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.866Z","priority":"6","pid":"2830187","message":"FAIL 2110: 'SMTP --mail-from with embedded CRLF is rejected' SMTP"}

data: {"time":"2026-09-19T16:24:52.867Z","priority":"6","pid":"2830187","message":"FAIL 2113: 'Authorization: with whitespace before colon and redir to new host' HTTP, HTTP proxy, HTTP Basic auth, HTTP proxy Basic auth, followlocation"}

data: {"time":"2026-09-19T16:24:52.867Z","priority":"6","pid":"2830187","message":"FAIL 2114: 'FTP username with embedded CRLF is rejected' FTP"}

data: {"time":"2026-09-19T16:24:52.868Z","priority":"6","pid":"2830187","message":"FAIL 2115: 'FTP --ftp-account with embedded CRLF is rejected' FTP, ACCT"}

data: {"time":"2026-09-19T16:24:52.868Z","priority":"6","pid":"2830187","message":"FAIL 2116: 'FTP --ftp-alternative-to-user with embedded CRLF is rejected' FTP, --ftp-alternative-to-user"}

data: {"time":"2026-09-19T16:24:52.869Z","priority":"6","pid":"2830187","message":"FAIL 2119: 'Reject unsolicited Transfer-Encoding token with an identity prefix' HTTP, Transfer-Encoding"}

data: {"time":"2026-09-19T16:24:52.869Z","priority":"6","pid":"2830187","message":"FAIL 2200: 'MQTT SUBSCRIBE with user and password, not authorized' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.870Z","priority":"6","pid":"2830187","message":"FAIL 2201: 'MQTT PUBLISH with user and password valid' MQTT, MQTT PUBLISH"}

data: {"time":"2026-09-19T16:24:52.870Z","priority":"6","pid":"2830187","message":"FAIL 2202: 'MQTT PUBLISH with invalid user and password' MQTT, MQTT PUBLISH"}

data: {"time":"2026-09-19T16:24:52.871Z","priority":"6","pid":"2830187","message":"FAIL 2203: 'MQTT with \"no user or password\" CONNACK' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.871Z","priority":"6","pid":"2830187","message":"FAIL 2204: 'MQTT SUBSCRIBE with user and password' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.872Z","priority":"6","pid":"2830187","message":"FAIL 2205: 'MQTT with 64 KiB long username' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.872Z","priority":"6","pid":"2830187","message":"FAIL 2206: 'MQTT reject PINGRESP with nonzero remaining_length in place of CONNACK' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.873Z","priority":"6","pid":"2830187","message":"FAIL 2207: 'MQTT reject DISCONNECT with nonzero remaining_length' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.873Z","priority":"6","pid":"2830187","message":"FAIL 2208: 'HTTP auth on redirect with empty URL userinfo' HTTP, HTTP proxy, --location, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:52.874Z","priority":"6","pid":"2830187","message":"FAIL 2305: 'HTTP GET gzip compressed content with two concatenated gzip members' HTTP, HTTP GET, compressed"}

data: {"time":"2026-09-19T16:24:52.875Z","priority":"6","pid":"2830187","message":"FAIL 2306: 'HTTP GET reused handle with first header folded' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.875Z","priority":"6","pid":"2830187","message":"FAIL 2307: 'FTP retrieve a byte-range with end larger than file' FTP, EPSV, RETR, Range"}

data: {"time":"2026-09-19T16:24:52.876Z","priority":"6","pid":"2830187","message":"FAIL 2308: 'verify return code when write callback returns error' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.876Z","priority":"6","pid":"2830187","message":"FAIL 2309: 'HTTP with .netrc using duped easy handle' netrc, HTTP"}

data: {"time":"2026-09-19T16:24:52.877Z","priority":"6","pid":"2830187","message":"FAIL 2310: 'variable decode and trim' variables"}

data: {"time":"2026-09-19T16:24:52.877Z","priority":"6","pid":"2830187","message":"FAIL 2311: 'Cookie from file: control octet rejected, prefixes case sensitive' HTTP, HTTP GET, HTTP proxy, cookies"}

data: {"time":"2026-09-19T16:24:52.877Z","priority":"6","pid":"2830187","message":"FAIL 2318: 'Get cookies from PSL domain then use *.domain' cookies"}

data: {"time":"2026-09-19T16:24:52.878Z","priority":"6","pid":"2830187","message":"FAIL 2397: 'Get CURLINFO_REFERER set CURLOPT_REFERER' CURLINFO_REFERER, CURLOPT_REFERER"}

data: {"time":"2026-09-19T16:24:52.879Z","priority":"6","pid":"2830187","message":"FAIL 2405: 'checking curl_multi_waitfds functionality' multi, HTTP"}

data: {"time":"2026-09-19T16:24:52.879Z","priority":"6","pid":"2830187","message":"FAIL 2408: 'multiple requests using named {} globs in URL' HTTP, HTTP GET, globbing, {} list"}

data: {"time":"2026-09-19T16:24:52.879Z","priority":"6","pid":"2830187","message":"FAIL 2409: 'multiple requests using named [] globs in URL' HTTP, HTTP GET, globbing, {} list"}

data: {"time":"2026-09-19T16:24:52.880Z","priority":"6","pid":"2830187","message":"FAIL 2410: 'duplicate named glob' HTTP, HTTP GET, globbing, {} list"}

data: {"time":"2026-09-19T16:24:52.880Z","priority":"6","pid":"2830187","message":"FAIL 2411: 'reference a named glob not set' HTTP, HTTP GET, globbing, {} list"}

data: {"time":"2026-09-19T16:24:52.881Z","priority":"6","pid":"2830187","message":"FAIL 2412: 'checking curl_multi_fdset on nothing to do' multi"}

data: {"time":"2026-09-19T16:24:52.881Z","priority":"6","pid":"2830187","message":"FAIL 2413: 'Curl_peer unit tests' unittest, Curl_peer"}

data: {"time":"2026-09-19T16:24:52.881Z","priority":"6","pid":"2830187","message":"FAIL 2414: 'wakeup, perform and poll needs to exit' multi, wakeup"}

data: {"time":"2026-09-19T16:24:52.881Z","priority":"6","pid":"2830187","message":"FAIL 2504: 'custom Host with cookie, handle reuse, no custom Host:' HTTP, cookies"}

data: {"time":"2026-09-19T16:24:52.882Z","priority":"6","pid":"2830187","message":"FAIL 2505: 'verify CURLOPT_AUTOREFERER switched off' HTTP, referer, autoreferer"}

data: {"time":"2026-09-19T16:24:52.882Z","priority":"6","pid":"2830187","message":"FAIL 2506: 'netrc with redirect using proxy' HTTP, cookies"}

data: {"time":"2026-09-19T16:24:52.883Z","priority":"6","pid":"2830187","message":"FAIL 2601: 'bufq unit tests' unittest, bufq"}

data: {"time":"2026-09-19T16:24:52.883Z","priority":"6","pid":"2830187","message":"FAIL 2602: 'dynhds unit tests' unittest, dynhds"}

data: {"time":"2026-09-19T16:24:52.883Z","priority":"6","pid":"2830187","message":"FAIL 2603: 'http1 parser unit tests' unittest, http1"}

data: {"time":"2026-09-19T16:24:52.883Z","priority":"6","pid":"2830187","message":"FAIL 2604: 'Curl_get_pathname unit test' unittest"}

data: {"time":"2026-09-19T16:24:52.884Z","priority":"6","pid":"2830187","message":"FAIL 2605: 'Curl_ssh_range unit test' unittest, sftp"}

data: {"time":"2026-09-19T16:24:52.884Z","priority":"6","pid":"2830187","message":"FAIL 2606: 'Curl_conn_adjust_pollset unit test' unittest"}

data: {"time":"2026-09-19T16:24:52.885Z","priority":"6","pid":"2830187","message":"FAIL 3002: 'SMTP invalid (first) --mail-rcpt and --mail-rcpt-allowfails' SMTP"}

data: {"time":"2026-09-19T16:24:52.885Z","priority":"6","pid":"2830187","message":"FAIL 3003: 'SMTP invalid (last) --mail-rcpt and --mail-rcpt-allowfails' SMTP"}

data: {"time":"2026-09-19T16:24:52.885Z","priority":"6","pid":"2830187","message":"FAIL 3004: 'SMTP invalid (middle) --mail-rcpt and --mail-rcpt-allowfails' SMTP"}

data: {"time":"2026-09-19T16:24:52.886Z","priority":"6","pid":"2830187","message":"FAIL 3005: 'SMTP invalid (all but one) --mail-rcpt and --mail-rcpt-allowfails' SMTP"}

data: {"time":"2026-09-19T16:24:52.886Z","priority":"6","pid":"2830187","message":"FAIL 3006: 'SMTP invalid (all) --mail-rcpt and --mail-rcpt-allowfails' SMTP"}

data: {"time":"2026-09-19T16:24:52.886Z","priority":"6","pid":"2830187","message":"FAIL 3007: 'SMTP with invalid --mail-rcpt and --mail-rcpt-allowfails' SMTP"}

data: {"time":"2026-09-19T16:24:52.887Z","priority":"6","pid":"2830187","message":"FAIL 3008: '--output-dir' -O"}

data: {"time":"2026-09-19T16:24:52.887Z","priority":"6","pid":"2830187","message":"FAIL 3009: '--output-dir a non-existing directory' -O"}

data: {"time":"2026-09-19T16:24:52.887Z","priority":"6","pid":"2830187","message":"FAIL 3010: 'HTTP retry-after reset' HTTP, HTTP Basic, RETRY-AFTER"}

data: {"time":"2026-09-19T16:24:52.888Z","priority":"6","pid":"2830187","message":"FAIL 3011: '--output-dir with --create-dirs' -O"}

data: {"time":"2026-09-19T16:24:52.888Z","priority":"6","pid":"2830187","message":"FAIL 3012: '--output-dir with -J and -R' -O, -J, --output-dir, --remote-time"}

data: {"time":"2026-09-19T16:24:52.888Z","priority":"6","pid":"2830187","message":"FAIL 3013: 'Two --output-dir with --next in between' -O, -J, --output-dir"}

data: {"time":"2026-09-19T16:24:52.889Z","priority":"6","pid":"2830187","message":"FAIL 3014: 'Check if %{num_headers} returns correct number of headers' HTTP, --write-out"}

data: {"time":"2026-09-19T16:24:52.889Z","priority":"6","pid":"2830187","message":"FAIL 3015: 'HTTP GET -w num_headers with redirected fetch (2 connects)' HTTP, HTTP GET, followlocation, chunked Transfer-Encoding, --write-out"}

data: {"time":"2026-09-19T16:24:52.890Z","priority":"6","pid":"2830187","message":"FAIL 3016: 'Get current directory using file://' FILE"}

data: {"time":"2026-09-19T16:24:52.890Z","priority":"6","pid":"2830187","message":"FAIL 3017: 'MQTT SUBSCRIBE with pathological PUBLISH length' MQTT, MQTT SUBSCRIBE"}

data: {"time":"2026-09-19T16:24:52.891Z","priority":"6","pid":"2830187","message":"FAIL 3018: 'MQTT SUBSCRIBE with PUBLISH larger than --max-filesize' MQTT, MQTT SUBSCRIBE, --max-filesize"}

data: {"time":"2026-09-19T16:24:52.891Z","priority":"6","pid":"2830187","message":"FAIL 3019: 'HTTP with invalid --resolve syntax' HTTP, HTTP GET, --resolve"}

data: {"time":"2026-09-19T16:24:52.891Z","priority":"6","pid":"2830187","message":"FAIL 3020: 'HTTP with invalid --connect-to syntax' HTTP, HTTP GET, --connect-to"}

data: {"time":"2026-09-19T16:24:52.891Z","priority":"6","pid":"2830187","message":"FAIL 3025: 'CURLOPT_HTTP200ALIASES' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.892Z","priority":"6","pid":"2830187","message":"FAIL 3026: 'curl_global_init thread-safety' curl_global_init, thread-safe, slow"}

data: {"time":"2026-09-19T16:24:52.892Z","priority":"6","pid":"2830187","message":"FAIL 3027: 'Get a file via FTP but 550 after MDTM command' FTP, CURLOPT_FILETIME, MDTM fail"}

data: {"time":"2026-09-19T16:24:52.893Z","priority":"6","pid":"2830187","message":"FAIL 3028: 'HTTP GET when PROXY Protocol enabled behind a proxy' HTTP, HTTP CONNECT"}

data: {"time":"2026-09-19T16:24:52.893Z","priority":"6","pid":"2830187","message":"FAIL 3029: 'HTTP with multiple -D' HTTP"}

data: {"time":"2026-09-19T16:24:52.894Z","priority":"6","pid":"2830187","message":"FAIL 3030: 'HTTP with multiple transfers in one -D' HTTP"}

data: {"time":"2026-09-19T16:24:52.894Z","priority":"6","pid":"2830187","message":"FAIL 3031: '--dump-header with --create-dirs' --dump-header"}

data: {"time":"2026-09-19T16:24:52.894Z","priority":"6","pid":"2830187","message":"FAIL 3032: 'HTTP redirect loop 3x swsbounce test' HTTP, --location"}

data: {"time":"2026-09-19T16:24:52.894Z","priority":"6","pid":"2830187","message":"FAIL 3033: 'CURLOPT_FRESH_CONNECT=2' curl_easy_setopt, connection reuse, libtest"}

data: {"time":"2026-09-19T16:24:52.895Z","priority":"6","pid":"2830187","message":"FAIL 3034: 'Test reset resolves rewind failure' CURLOPT_READFUNCTION, curl_easy_reset, rewind"}

data: {"time":"2026-09-19T16:24:52.896Z","priority":"6","pid":"2830187","message":"FAIL 3035: 'HTTP retry failed download with keep data and auto-resume' HTTP, HTTP GET, Content-Range, Resume, retry"}

data: {"time":"2026-09-19T16:24:52.896Z","priority":"6","pid":"2830187","message":"FAIL 3036: '--no-clobber, --retry and --output-dir identifying a file' -O, -J, --output-dir, --retry, --no-clobber"}

data: {"time":"2026-09-19T16:24:52.896Z","priority":"6","pid":"2830187","message":"FAIL 3100: 'RTSP Authentication check' RTSP, RTSP Basic auth"}

data: {"time":"2026-09-19T16:24:52.897Z","priority":"6","pid":"2830187","message":"FAIL 3101: 'HTTP auth without redirection protocols' HTTP, HTTP Basic auth"}

data: {"time":"2026-09-19T16:24:52.897Z","priority":"6","pid":"2830187","message":"FAIL 3103: 'CURLOPT_COOKIELIST without expiry' cookies"}

data: {"time":"2026-09-19T16:24:52.897Z","priority":"6","pid":"2830187","message":"FAIL 3104: 'CURLOPT_COOKIELIST with Netscape format' cookies"}

data: {"time":"2026-09-19T16:24:52.898Z","priority":"6","pid":"2830187","message":"FAIL 3105: 'curl_multi_remove_handle twice' curl_multi_remove_handle"}

data: {"time":"2026-09-19T16:24:52.898Z","priority":"6","pid":"2830187","message":"FAIL 3200: 'curl_get_line unit tests' unittest, curl_get_line"}

data: {"time":"2026-09-19T16:24:52.898Z","priority":"6","pid":"2830187","message":"FAIL 3201: 'HTTP GET when PROXY Protocol enabled and spoofed client IPv4' HTTP, HTTP GET, proxy, haproxy"}

data: {"time":"2026-09-19T16:24:52.899Z","priority":"6","pid":"2830187","message":"FAIL 3202: 'HTTP-IPv6 GET with PROXY protocol with spoofed client IP' HTTP, HTTP GET, proxy, haproxy, IPv6"}

data: {"time":"2026-09-19T16:24:52.899Z","priority":"6","pid":"2830187","message":"FAIL 3203: 'Get a directory using file://' FILE"}

data: {"time":"2026-09-19T16:24:52.900Z","priority":"6","pid":"2830187","message":"FAIL 3204: 'Use --etag-compare and --etag-save on an existing file' HTTP, HTTP GET"}

data: {"time":"2026-09-19T16:24:52.900Z","priority":"6","pid":"2830187","message":"FAIL 3205: 'cipher suite name lookup' unittest, cipher_suite"}

data: {"time":"2026-09-19T16:24:52.901Z","priority":"6","pid":"2830187","message":"FAIL 3206: 'IMAP custom FETCH with larger literal response (~7KB)' IMAP, Clear Text, FETCH, CUSTOMREQUEST"}

data: {"time":"2026-09-19T16:24:52.901Z","priority":"6","pid":"2830187","message":"FAIL 3209: 'Upload message via IMAP with upload flags' IMAP, Clear Text, APPEND, UPLOAD"}

data: {"time":"2026-09-19T16:24:52.902Z","priority":"6","pid":"2830187","message":"FAIL 3210: 'Upload message unread via IMAP' IMAP, Clear Text, APPEND, UPLOAD"}

data: {"time":"2026-09-19T16:24:52.909Z","priority":"6","pid":"2830187","message":"FAIL 3211: 'uint_bset and uint_hashset unit tests' unittest, uint_bset"}

data: {"time":"2026-09-19T16:24:52.909Z","priority":"6","pid":"2830187","message":"FAIL 3212: 'uint32_tbl unit tests' unittest, uint32_tbl"}

data: {"time":"2026-09-19T16:24:52.910Z","priority":"6","pid":"2830187","message":"FAIL 3213: 'uint_spbset unit tests' unittest, uint_spbset"}

data: {"time":"2026-09-19T16:24:52.910Z","priority":"6","pid":"2830187","message":"FAIL 3214: 'struct size checks' unittest, size"}

data: {"time":"2026-09-19T16:24:52.910Z","priority":"6","pid":"2830187","message":"FAIL 3215: 'SMTP DSN' SMTP DSN"}

data: {"time":"2026-09-19T16:24:52.911Z","priority":"6","pid":"2830187","message":"FAIL 3216: 'ratelimit unit tests' unittest, ratelimit"}

data: {"time":"2026-09-19T16:24:52.911Z","priority":"6","pid":"2830187","message":"FAIL 3217: 'FTP with control characters in PWD response' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.912Z","priority":"6","pid":"2830187","message":"FAIL 3218: 'FTP with CR control character in PWD response path' FTP, PASV, RETR"}

data: {"time":"2026-09-19T16:24:52.912Z","priority":"6","pid":"2830187","message":"FAIL 3219: 'CURLPROTO_MASK checks' unittest, define"}

data: {"time":"2026-09-19T16:24:52.912Z","priority":"6","pid":"2830187","message":"FAIL 3220: 'HTTP GET when PROXY Protocol enabled and spoofed client IPv6' HTTP, HTTP GET, proxy, haproxy"}

data: {"time":"2026-09-19T16:24:52.912Z","priority":"6","pid":"2830187","message":"FAIL 3221: 'HTTP Digest with CRLF in username' HTTP, HTTP GET, digest"}

data: {"time":"2026-09-19T16:24:52.913Z","priority":"6","pid":"2830187","message":"FAIL 3223: 'HTTP connection not reused after partial/aborted response' HTTP, HTTP GET, CURLE_PARTIAL_FILE, connection reuse, --next"}

data: {"time":"2026-09-19T16:24:52.913Z","priority":"6","pid":"2830187","message":"FAIL 3224: 'HTTP connection reused across different Basic auth credentials' HTTP, HTTP GET, HTTP Basic auth, connection reuse, --next"}

data: {"time":"2026-09-19T16:24:52.914Z","priority":"6","pid":"2830187","message":"FAIL 3225: 'HTTP connection not reused when target host changes' HTTP, HTTP GET, --resolve, connection reuse, --next"}

data: {"time":"2026-09-19T16:24:52.914Z","priority":"6","pid":"2830187","message":"FAIL 3226: 'HTTP connection is reused for same host' HTTP, HTTP GET, connection reuse, --next"}

data: {"time":"2026-09-19T16:24:52.915Z","priority":"6","pid":"2830187","message":"FAIL 3227: 'reject CR and LF in mail mime part name and filename' unittest, mime, SMTP"}

data: {"time":"2026-09-19T16:24:52.915Z","priority":"6","pid":"2830187","message":"FAIL 3228: 'Send custom request headers larger than the response header limit' HTTP, HTTP GET, HTTP added headers"}

data: {"time":"2026-09-19T16:24:52.916Z","priority":"6","pid":"2830187","message":"FAIL 3229: 'Reject a custom request header larger than the request buffer' HTTP, HTTP GET, HTTP added headers"}

data: {"time":"2026-09-19T16:24:52.916Z","priority":"6","pid":"2830187","message":"FAIL 3300: 'thrdpool unit tests' unittest, threads"}

data: {"time":"2026-09-19T16:24:52.917Z","priority":"6","pid":"2830187","message":"FAIL 3301: 'thrdqueue unit tests' unittest, threads"}

data: {"time":"2026-09-19T16:24:52.918Z","priority":"6","pid":"2830187","message":"FAIL 3302: 'CURLOPT_GSSAPI_DELEGATION stores flags in data->set' unittest, CURLOPT_GSSAPI_DELEGATION"}

data: {"time":"2026-09-19T16:24:52.920Z","priority":"6","pid":"2830187","message":"FAIL 3303: 'conn-reuse distinguishes mTLS key, cert_type, key_type and key_passwd' unittest, TLS, mTLS"}

data: {"time":"2026-09-19T16:24:52.921Z","priority":"6","pid":"2830187","message":"FAIL 3304: 'TLS session cache peer key uses mTLS key, key_type and cert_type' unittest, TLS, mTLS"}

data: {"time":"2026-09-19T16:24:52.922Z","priority":"6","pid":"2830187","message":"FAIL 3400: 'capsule protocol encode and decode unit tests' unittest, capsule"}

data: {"time":"2026-09-19T16:24:52.966Z","priority":"6","pid":"2830187","message":"TESTFAIL: These test cases failed: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 71 72 73 74 75 77 78 79 80 82 83 84 85 86 87 88 92 93 94 95 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 151 152 153 154 156 157 158 160 161 163 164 165 166 167 168 171 172 173 174 175 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 210 211 212 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 240 241 242 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 266 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 314 315 316 317 318 319 320 321 322 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 357 360 361 362 365 366 367 368 369 370 371 372 373 374 376 378 379 380 381 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 402 405 409 411 415 416 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 434 435 436 440 441 442 443 444 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 467 468 469 470 471 473 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 507 508 509 510 511 512 513 514 515 516 517 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 549 550 551 552 553 554 556 557 559 561 562 563 564 565 566 567 568 569 570 571 572 574 575 576 577 578 579 580 581 584 585 586 588 589 591 592 593 595 596 597 598 599 632 643 645 646 647 648 649 650 651 652 653 654 655 658 659 660 661 662 663 666 667 668 669 670 671 672 673 674 675 676 677 679 680 681 682 683 684 685 686 689 690 691 692 693 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 746 747 748 749 750 751 752 754 755 756 757 759 760 761 762 763 764 765 767 768 769 770 771 772 773 774 778 779 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 824 825 826 828 829 830 833 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 870 871 872 874 875 876 879 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 908 909 910 911 912 913 914 915 916 917 918 919 920 922 923 924 925 926 927 928 929 930 931 932 935 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 962 963 964 965 966 967 968 969 973 974 975 976 977 978 979 980 981 982 983 984 985 986 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1022 1023 1024 1025 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1098 1099 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1114 1115 1116 1117 1118 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1136 1137 1138 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1164 1166 1168 1170 1171 1172 1174 1176 1178 1180 1181 1183 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1210 1212 1213 1214 1216 1217 1218 1219 1220 1221 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1273 1274 1277 1278 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1308 1309 1310 1311 1312 1313 1314 1315 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1447 1448 1449 1450 1452 1453 1455 1456 1457 1458 1460 1462 1463 1464 1465 1466 1467 1468 1469 1471 1472 1473 1474 1475 1476 1479 1480 1481 1482 1483 1484 1485 1487 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1511 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1584 1585 1588 1589 1590 1591 1593 1594 1595 1596 1597 1598 1599 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1633 1634 1635 1636 1637 1638 1639 1641 1642 1643 1644 1645 1646 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1680 1681 1682 1683 1684 1685 1686 1704 1711 1712 1713 1714 1715 1720 1721 1722 1723 1724 1740 1741 1800 1802 1847 1848 1851 1900 1901 1902 1903 1904 1905 1906 1907 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1940 1941 1942 1943 1944 1945 1946 1947 1948 1960 1961 1964 1965 1966 1967 1977 1979 1980 1982 1983 1984 1985 2000 2001 2002 2003 2005 2006 2008 2012 2013 2014 2015 2023 2024 2026 2027 2036 2039 2040 2044 2045 2046 2047 2049 2050 2051 2052 2053 2054 2055 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2071 2072 2073 2074 2075 2076 2077 2078 2080 2081 2082 2083 2084 2085 2086 2091 2092 2093 2105 2106 2107 2108 2109 2110 2113 2114 2115 2116 2119 2200 2201 2202 2203 2204 2205 2206 2207 2208 2305 2306 2307 2308 2309 2310 2311 2318 2397 2405 2408 2409 2410 2411 2412 2413 2414 2504 2505 2506 2601 2602 2603 2604 2605 2606 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3100 3101 3103 3104 3105 3200 3201 3202 3203 3204 3205 3206 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3223 3224 3225 3226 3227 3228 3229 3300 3301 3302 3303 3304 3400"}

data: {"time":"2026-09-19T16:24:52.994Z","priority":"6","pid":"2830187","message":"make[1]: *** [Makefile:841: nonflaky-test] Error 1"}

data: {"time":"2026-09-19T16:24:52.995Z","priority":"6","pid":"2830187","message":"make[1]: Leaving directory '/build/curl/src/build-curl/tests'"}

data: {"time":"2026-09-19T16:24:52.999Z","priority":"6","pid":"2830187","message":"make: *** [Makefile:1112: test-nonflaky] Error 2"}

data: {"time":"2026-09-19T16:24:53.037Z","priority":"6","pid":"2830187","message":"==> ERROR: A failure occurred in check()."}

data: {"time":"2026-09-19T16:24:53.041Z","priority":"6","pid":"2830187","message":"    Aborting..."}

data: {"time":"2026-09-19T16:24:53.166Z","priority":"6","pid":"2823980","message":"==> the build exited with 4"}

data: {"time":"2026-09-19T16:24:53.194Z","priority":"6","pid":"2824005","message":"==> archci-build finished with 4 at 2026-09-19T16:24:53Z: ","event":"finish"}

event: end
data: {"state":"failed","error_at":1259,"finished":"2026-09-19T16:25:05Z","rc":4}

